Processing math: 100%

4 votos

¿Automatización de la creación de múltiples mapas con diferentes cuadrículas en la misma ubicación en QGIS?

Me preguntaba si es posible en QGIS recorrer diferentes cuadrículas.

Por ejemplo, tengo un espacio de trabajo abierto con 3 cuadrículas (A, B y C). Me gustaría crear 3 mapas:

  • Mapa A con leyenda A
  • Mapa B con leyenda B
  • Mapa C con leyenda C

La única diferencia en todos estos mapas es la cuadrícula. Todo lo demás es igual.

Encontré una pregunta similar antes pero parece que no tiene respuesta.

Creación de atlas de diferentes capas sobre un mismo lugar (QGIS)

0 votos

Hmmm, he releído tu pregunta y ahora me pregunto cómo está configurada la estructura de tu proyecto. ¿Son tus cuadrículas capas reales en el proyecto o son cuadrículas de compositores de mapas. Esto haría que mi respuesta cambiara por completo.

0 votos

@GabrielC. Las cuadrículas son capas reales del proyecto.

0 votos

Ok. Voy a editar mi respuesta con un segundo método para las capas. Aunque el principio es realmente similar.

5voto

nuecaster Puntos 128

Puede establecer la visibilidad de la capa (en la simbología de la capa) basándose en una variable del atlas. Sus opciones para las variables del atlas son: @atlas_feature, @atlas_featureid, @atlas_geometry y @atlas_pagename.

En QGIS 3.0, utilice la variable atlas para controlar si la capa está habilitada.

Por ejemplo, si las páginas de su atlas se llaman Mapa A, Mapa B y Mapa C, configure la visibilidad de la cuadrícula del Mapa A de la siguiente manera:

enter image description here

En QGIS 2.18 y anteriores, "Habilitar capa" no es una opción. En su lugar, utilice un método similar para controlar la transparencia de la capa. Utilice esta expresión para la transparencia definida por los datos para el Mapa A:

if(@atlas_pagename = 'Mapa A', 0, 100)

También puede escribir sus propias expresiones para controlar la visibilidad de las capas dentro del compositor de impresión. enter image description here

Escriba una expresión que produzca una lista de nombres de capas de mapas separados por el carácter |. Por ejemplo:

case 
  when @atlas_pagename = 'Map A' then 'layerone | layertwo | layerthree'
  when @atlas_pagename = 'Map B' then 'layerone | layertwo | layerfour'
  when @atlas_pagename = 'Map C' then 'layerone | layertwo | layerfive'
  else ''
end

enter image description here Así supe cómo formatear la lista de nombres de las capas del mapa.

4voto

txindoki Puntos 146

Existe una solución relativamente sencilla que he utilizado para mostrar u ocultar los mapas insertados en diferentes páginas de un atlas. Sólo tiene que crear el número de cuadrículas que necesita en su elemento de mapa en el compositor y luego navegar a la renderizado para cada cuadrícula. A continuación, puede ir al editor de expresiones para el opacidad y utilice la siguiente condición para que la cuadrícula sea 100% opaca o 100% transparente:

100.0 - (CASE 
   WHEN  @atlas_pagename = 'first atlas page' THEN 0 
   WHEN  @atlas_pagename = 'second atlas page' THEN 100
   WHEN  @atlas_pagename = 'third atlas page' THEN 100
END)

El ejemplo de código anterior muestra el elemento del mapa en la primera página del atlas y lo oculta en la segunda y tercera. Sólo hay que cambiar los valores en consecuencia.

Probablemente haya una forma más elegante de hacer que esto funcione cuando se tienen varios elementos del mapa para mostrar u ocultar, pero como sólo tenía dos inserciones con las que lidiar, no me costó mucho copiar/pegar en el segundo elemento.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X