Encontré una pregunta muy similar a mi problema: ¿Cómo vincular marcos de datos en ArcGIS o QGIS? . Pero la solución para QGIS no funciona ahora (el complemento Dual View ya no está disponible).
Quiero sincronizar tres vistas:
La idea es mover las tres vistas de mapa al mismo tiempo con un mapa maestro en QGIS print composer.
¿Hay alguna forma o complemento para hacer esto?
fuente
La única forma que encontré en este momento es crear un pequeño script en Python, tal vez esto podría migrar a un complemento, pero no tengo experiencia en eso.
Es un código realmente básico, seleccionando el compositor y los mapas correctos:
Otra opción sería mantener la escala inicial en los mapas esclavos para establecer después de la nueva extensión si los mapas tienen diferentes formas, pero en mi caso personal con este código fue suficiente:
Estoy abierto a mejorar esta solución (casi no tengo experiencia
PyQGIS
).Tratar con diferentes extensiones y escalas
El código anterior funciona muy bien con la misma extensión (y, en consecuencia, forma) y escala. Ahora tengo un código mejorado probado con diferentes extensiones, formas y escalas:
Y la prueba resultante:
fuente
Solo un pequeño consejo para hacerlo sin código. Es menos eficiente que la respuesta de aldo, pero al final es el truco si es para hacer un mapa final. Tampoco necesita tener una vista maestra, lo que cuenta es la extensión del lienzo del mapa:
etc.
Cuando necesite otro mapa para ser un maestro, simplemente haga clic en el otro mapa y luego "vea la extensión en el lienzo del mapa" antes de configurar los demás.
Si desea mantener una vista específica para más adelante, le recomiendo que use el panel de marcadores espaciales. Establezca el lienzo del mapa en la extensión elegida y luego haga clic en Establecer para el lienzo del mapa en cada esclavo que necesite :)
fuente
Simplemente tuve el mismo problema y pude obtener el resultado deseado usando expresiones en los mapas dependientes. Esto supone que todos los mapas tienen las mismas dimensiones en el diseño.
Dele a su mapa maestro una ID de elemento, por ejemplo, 'mapa1' (en la parte inferior de las propiedades del elemento)
En cada mapa dependiente, agregue una expresión a cada uno de los valores de extensión:
El código obtendrá las variables para el elemento del compositor 'map1', obtendrá la extensión como geometría de él y finalmente obtendrá su valor x_min de la geometría. Cambie x_min a y_min, x_max e y_max en consecuencia.
El único inconveniente es que necesita actualizar los mapas dependientes cada vez que mueve el mapa maestro. Sin embargo, al exportar debería actualizarse automáticamente.
fuente