Mostrando las entradas con la etiqueta Diseñador de impresión. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Diseñador de impresión. Mostrar todas las entradas

miércoles, 30 de diciembre de 2015

Usando Variables en QGIS 2.12 - Ejemplos prácticos.






Quisiera tratar en esta última entrada del presente año, sobre una de las novedades que nos vino con la última versión del QGIS, me refiero a la "Variables", sobre todo desde el punto de vista práctico, por lo tanto, estuve probando su potencial estos días y cada vez encuentro más aplicaciones posibles, trataré de presentar un resumen de lo que hasta ahora pude experimentar.

Variables personalizadas:


En esta nueva versión del QGIS 2.12, se brinda un nuevo concepto con el uso de variables personalizadas en el motor de expresiones, el cual se presenta a varios niveles, esto es importante mencionar, por ejemplo se habrán fijado que si ingresamos a las propiedades de alguna de nuestras capas y luego dentro de "Variables", veremos los tres niveles: Global (1), Proyecto (2) y Capa (3).

Figura 1: Niveles de las variables

Nota: Las capas que estaré empleando para mostrar las ventajas del uso de variables en el QGIS, son las mismas que ya venimos trabajando en entradas anteriores. 

En primer lugar, para acceder al primer nivel (Global), debemos ir a "Opciones", el cual podemos acceder desde "Configuraciones" dentro de la barra de menú. Una vez que nos dirigimos a "Variables", veremos que solo se muestra las variables a este nivel, con datos por defecto que nos permite por ejemplo conocer la versión del software que estamos empleando (Figura 2). En nuestro caso vamos a agregar dos nuevas variables, para ello simplemente hacemos clic en el botón con el signo "+". En esta parte es interesante incorporar variables que identifican por ejemplo a una organización,  al área responsable o podría ser también a personas involucradas.

Figura 2: Variables a nivel Global


Para acceder a las variables del nivel de proyecto, debemos ir a "Propiedades del proyecto", luego de entrar a "Variables", podremos apreciar que es posible incorporar nuevas variables. En nuestro caso vamos a incorporar algunas variables ligados por ejemplo tipo de fuente (label_font), asimismo a colores en los estilos (project_color1, project_color2 y project_color3), para generar estos últimos, nos dirigimos primero a "Estilos predeterminados" y añadimos los colores a considerar (Figura 3), luego de nombrar las variables ingresamos como valor el código de colores elegidos (Figura 4).

Figura 3: Seleccionando los colores a considerar para las variables.



Figura 4: Variables sobre colores a nivel de Proyecto


Generando Estilos y Etiquetas personalizadas con variables

Una de las principales ventajas de usar variables es la posibilidad de tener un elemento más en nuestro editor de expresiones que nos permite personalizar estilos y etiquetas. Es decir que cuando generamos una variable como por ejemplo el tipo de fuente, el mismo se expresa así: @label_font .

Figura 5: Vista de variables en el constructor de expresiones.



EJEMPLO 1:  Supongamos que tenemos datos de población de centros poblados y queremos representarlo por puntos que varíen de tamaño en función a sus valores, pero además que cambie de color aquellos que representan los valores más altos de acuerdo a un rango. 

Para lograr todo lo mencionado, primero vamos a generar un estilo en nuestra capa de puntos (select_ccpp_huanuco.shp), considerando un estilo graduado que solo toma valores numéricos, en este caso se va a usar el campo de población (POB07), además la simbología se va a diferenciar por tamaño (Size) y la división de clases va ser empleando "Ruptura naturales (Jenks)". 

Figura 6: Generando un estilo previo a una capa de puntos.



Como verán hasta ahora no hemos empleado las variables, pero tal como se aprecia en la Figura 4, ya se han generado tres variables para identificar colores. Ahora lo que vamos hacer es activar estas variables en donde corresponde, es decir en nuestro símbolo. 


Figura 7: Activando el uso de variables para la coloración del símbolo.


Luego procedemos a editar nuestro constructor de expresiones para lograr el cambio de colores de acuerdo a los valores existentes de población, por lo tanto, podemos emplear condicionales, en específico la expresión CASE, el cual nos permite crear una condición inicial que los valores de población mayores a 12,000 empleen la variable @project_color3, el cual de acuerdo a la Figura 3, representa al color rojo (#ff0000), en caso no se cumpla esa condición se usará como color de fondo el código #ffcb00.

Figura 8: Construyendo una expresión con variables y usando condicionales.

Luego de realizar todos estos pasos vamos a obtener nuestro primer resultado, en donde los puntos de mayor tamaño representan los centros poblados con mayor población y están diferenciados por una coloración rojiza.

Figura 8: Resultado de emplear variables en la generación de estilos.



EJEMPLO 2: Se requiere emplear variables para que el tamaño de fuente de las etiquetas de una capa de polígonos, varíen en función a la escala que se muestra en el escritorio, es decir a una escala mayor el tamaño de fuentes debe ser menor y en una escala menor el tamaño sera mayor, asimismo tener la opción de modificar la fuentes de varias capas al mismo tiempo.

Empezares por el último requerimiento; por lo tanto, en esta parte es importante mencionar que una principales ventajas de emplear variables es que, al definir una variable como el tipo de fuente, si en un determinado momento se decide cambiarlo y contamos con varias capas, sería un trabajo arduo hacerlo uno por uno, pero al emplear variables a nivel de Proyecto, solamente con indicarle otro estilo de fuente, la misma varía en todas las capas que fueron activadas para que funcionen con variables (Figura 9). Tal como se aprecia en la Figuras 4 y 5, ya contamos con una variable denominada @label_font, el cual podemos ir variando, en nuestro caso representará el valor de "Courier", ustedes por su parte pueden ir probando otros estilos de fuentes y verán como cambia en todas las capas que presentan etiquetas.

Figura 9: Activando las variables para modificar el tipo de fuente.


Para la capa de polígonos a trabajar (selec_prov_huanuco.shp) representa un grupo de provincias del departamento de Huánuco,  en donde las etiquetas que indican el nombre de dichas provincias van a variar su tamaño en función a la escala. Para lograr esto, a nivel de Capa, vamos a generar dos variables: font_size1 y font_size2. Cada uno representa un tamaño de fuente distinta tal como se aprecia en la Figura 10.

Figura 10: Variables que indican tamaños de fuente a nivel de Capa

Como siguiente paso nos vamos a las propiedades de la capa en mención y dentro de Etiquetas nos dirigimos a la parte del tamaño de fuente, activamos la opción de uso de variables y dentro del constructor de expresiones generamos una que cumpla lo que requerimos. En este caso podemos emplear como en el ejemplo anterior el condicional CASE, asimismo buscamos la función de escala ($scale), para precisar este valor como inicio del condición, luego empleamos las variables recientemente generadas para completar la expresión requerida.

Figura 11: Construyendo una expresión con variables para modificar tamaños 
de fuentes en función a la escala


Finalmente cuando modificamos la escala de presentación del mapa podremos ver la diferencia en el tamaño de fuentes.


Figura 12: Resultado que muestra los diferentes tamaños de fuentes de las etiquetas 
en función a su escala de presentación



Algo muy similar podemos hacer por ejemplo con otra capa de polígonos (select_dist_huanuco.shp), que representa en este caso a ámbito menores como son los distritos. En este caso nos planteamos que necesitamos que los anchos de los bordes puedan modificarse con la escala de presentación, para ello generamos a nivel de esta capa dos variables, los cuales representan distintos anchos de borde.

Figura 13: Variables que representan distintos anchos de borde de 
una capa de polígonos.


Finalmente seguimos el mismo procedimiento anterior, empleando el constructor de expresiones y podremos obtener el resultado requerido.


Figura 14: Expresión para contar con distintos anchos de borde 
en función a la escala de presentación.


EJEMPLO 3: Se han generado varios mapas en el diseñador de impresión (print composer), y sobre todos ellos se han colocado a modo de etiquetas datos sobre el proyecto realizado. Debido a que se han realizado algunas modificaciones al proyecto es indispensable que para todos los diseños de impresión, se vaya modificando los datos de las versiones mientras se van actualizando.

Existe la posibilidad de que tengamos varios mapas creados en nuestro diseñador de impresiones y a veces necesitamos cambiar algunos datos propios del proyecto, en especial las versiones que se vienen manejando, a fin de no hacerlo manualmente uno por uno, vamos a emplear las variables.
Para poder lograr lo requerido es importante que a nivel Global y del Proyecto generemos las variables que necesitamos incluir como una etiqueta de información dentro de nuestro mapa, claro que algunas ya existen por defecto como por ejemplo la versión del QGIS y la ruta de nuestro proyecto, por lo tanto podemos incluir otras variables como el creador del mapa y datos sobre la oficina que lo está generando.

Figura 15: Empleo de variables dentro de nuestro diseñador de impresión de mapas.


Una vez realizado todo esto, solamente vamos a requerir modificar en este caso las versiones dentro de las variables a nivel de proyecto, para que se modifiquen en todos los mapas del proyecto que se realizaron.

Figura 16: Variable que indica la versión del proyecto.


Muy bien, por ahora es todo lo que quería mostrarles, tal como lo menciona el creador de esta herramienta Nyall Dawson, el uso de variables a nivel de Capa puede tener cientos de aplicaciones, es cuestión de ir explorando y ver que más podemos hacer.

Bueno, este sería la última entrada de este año, espero escribir más seguido el próximo año, agradezco algunos comentarios que me animan a seguir haciendo esto y a personas muy especiales que me motivan en todo momento. 
Hasta la próxima...

Referencias:






domingo, 25 de octubre de 2015

Novedades del QGIS 2.12 Lyon - Parte 3: Map Composer











Por fin ya podemos contar con la versión QGIS 2.12 denominada Lyon, aunque por el momento solo disponible para su instalación a través del instalador del OSGeo4W. 
En esta tercera entrega seguimos comentando sobre las novedades existentes en la nueva versión, por lo tanto ahora nos toca tratar sobre las mejoras dentro del diseñador de impresión de los mapas (Map Composer).

Objetivo:

  • Elaborar un grupo de mapas sobre áreas naturales protegidas configurados para su presentación a través de un atlas.

Datos:

Para la presente ejercicio vamos a emplear datos de tipo vectorial, los cuales representan a las áreas naturales protegidas (ANP) presentes en el Perú, los cuales pueden ser descargados libremente desde el SERNANP (Figura 1), institución pública dedicada a la administración de éstas áreas. Desde aquí se van a emplear dos tipos de cobertura, el que corresponde a la denominación de "ANP de Administración Nacional" y lo que corresponde a la "Zonificación de ANP".

Figura 1: Servidor de Mapas del SERNANP

Los datos específicos que vamos a emplear para el ejercicio pueden ser descargados desde aquí.

Generando un Atlas con QGIS

Una de las opciones que tenemos cuando vamos a elaborar un mapa dentro del diseñador de impresión, es configurar nuestras salidas a modo de Atlas. Muchas veces se requiere imprimir varios mapas de una misma temática y que representan distintas áreas de interés, además se pretende que todos ellos puedan mantener un mismo estilo. La creación y actualización de este tipo de mapas empleando la manera tradicional puede demandar mucho tiempo; por lo tanto el QGIS presenta la alternativa de generar un Atlas, tomando como referencia una capa que abarca todo el ámbito y dentro de sus atributos posee registros con la temática a diferenciar.


Paso 1: Descargar los datos proporcionados para el ejercicio y abrirlos dentro del QGIS, se recomienda activar los estilo que se proporciona junto con los datos, aunque también pueden generar sus propios estilos.


Figura 2: Vista de tres áreas naturales protegidas 


Paso 2: Ahora vamos a generar un nuevo diseñador de impresión, esto se logra ingresando a Proyecto-->Nuevo diseñador de impresión, o también haciendo clic en el icono que lo representa (Figura 3), al cual debemos indicarle un nombre.


Figura 3: Generando un nuevo diseñador de impresión


Paso 3: Una vez dentro del diseñador de impresión, vamos a configurar como A3 al tamaño de página y la orientación va ser vertical, luego debemos añadir un mapa nuevo, para ello hacemos clic en el icono correspondiente (Figura 4), se arrastra sobre el lienzo generando un rectángulo manteniendo presionado el botón izquierdo del mouse, logrando mostrar todo el contenido del mapa. 


Figura 4: Incorporando las capas al diseñador  y configurando el tamaño de la página 

Paso 4: Como siguiente paso debemos generar el atlas, para eso nos dirigimos a la pestaña correspondiente y activamos la casilla (1), luego debemos escoger nuestra capa de cobertura (2), esta parte es importante porque define aquella capa guía para diferenciar de un mapa a otro. En esta nueva versión del QGIS existe ahora la opción de generar un nombre de página, el mismo que puede escogerse entre los campos de la capa de cobertura o generar uno específico ingresando una expresión (3), asimismo se tiene la opción de ordenar la secuencia de los mapas a generarse el cual puede tener direcciones diferentes (4), por último se cuenta con la opción de generar una expresión de salida, es decir cómo serán nombrados los archivos de imagen o de tipo PDF, en este caso se generó una expresión que indica la categoría del área natural protegida seguido del nombre de página correspondiente ya definido anteriormente (5).


Figura 5: Activando y configurando la generación de un atlas.

Paso 5: Ahora debemos indicarle dentro de la pestaña de propiedades que lo vamos a "Controlar por atlas" (1), luego tenemos la opción de ajustar los márgenes alrededor del objeto (2), sobre todo si vamos a colocar etiquetas en la parte superior, se va requerir un espacio. Si ahora hacemos clic en el botón que indica "Atlas anterior" (3), veremos que sobre el lienzo aparece una capa individual (4), también observaremos que como parte de las mejoras con esta nueva versión se muestra el nombre de la página en la barra superior (5).

Figura 6: Configurando nuestro diseñador para que sea controlado por un atlas.


Paso 6: Con la finalidad de ajustar mejor las escalas, se recomienda ir revisando de una página a otra usando las fechas ubicadas a ambos lados del nombre, con la finalidad de verificar las escalas que se muestran. En este caso en particular se generó un campo de datos adicional, denominado "Escala" (Figura 7), en donde se ingresó la escala más adecuada para cada página; por lo tanto, lo que faltaría realizar es indicarle que tome en cuenta dichos valores. 

Figura 7: Ajustando los valores de escala más adecuado.

Paso 7: Con lo realizado hasta ahora se cuenta con los mapas a modo de atlas, pero es necesario darle algunas acciones para que el mapa presente mayor información. Entre ellos primero colocar un título al mapa, por lo tanto es necesario ingresar una etiqueta en la parte superior (1), pero como el título tiene que ir modificándose para cada página, debemos ingresar una expresión, primero haciendo clic en el botón correspondiente (2) y ya dentro del editor de expresiones, trabajamos con datos concatenados (3), al final tendremos una expresión que permitirá que vaya cambiando al pasar de página (4) y esto se mostrará en la parte superior (5).


Figura 8: Incorporando las etiquetas de las páginas


Paso 8: Algo importante a considerar en todo mapa es la leyenda; sobre todo en esta caso que se trabaja a modo de atlas, no debemos olvidar activar el botón que nos permite filtrar la leyenda de acuerdo al contenido, porque no todos los mapas a generarse presentan el mismo contenido.

Figura 9: Aplicando filtros para limitar el contenido de las leyendas.


Paso 9: Ahora podemos ingresar unos campos de la tabla de atributos, sobre todo porque quiero mostrar que en esta nueva versión del QGIS, podemos editar los colores de fondos de los campos. Para ello una vez que seleccionamos los campos a mostrar, podemos realizar una "personalización avanzada", indicando para este caso los colores que deseamos mostrar en los encabezados y en las filas.

Figura 10: Editando la tabla de atributos



Paso 10: También podemos incorporar otros elementos como la barra de escala y también otras etiquetas como por ejemplo la fecha de creación, el software empleado, en realidad ya depende de lo que deseamos mostrar. También es importante poder incluir la grilla de coordenadas, asimismo si deseamos "dibujar las coordenadas", en esta nueva versión existe la opción de personalizarlo (Figura 11). Para quienes desean probar esta opción les recomiendo ver estos vídeos: Composer Scale and Custom Grid Annotations  y Custom grid coordinates annotation.


Figura 11: Opción de personalizar el dibujo de las coordenadas.


Paso 11: Finalmente, una vez que hemos incorporado toda la información que deseamos mostrar en los mapas, podemos exportarlo ya sea como SVG (modo vectorial), como PDF o como imágenes, para ello te solicitará una carpeta en donde se van a guardar los mapas.

Figura 12: Opciones para exportar nuestros mapas a modo de atlas.



El resultado final se aprecia de la siguiente manera:

Figura 13: Resultado final de la exportación de los mapas.



Indicaciones Finales

Con esta entrega cumplo con lo prometido, el objetivo era mostrar algunas novedades de la nueva versión del QGIS 2.12 Lyon, sobre todo con algunas herramientas muy útiles y en última parte sobre cómo podemos sacar mayor provecho a nuestro diseñador de mapas. Todavía no logro explorar con mayor profundidad las otras novedades que existen pero poco a poco los iré descubriendo y desde aquí los animo a que lo hagan también. Como siempre les recomiendo revisar los enlaces que indico en las referencias, hay vídeos muy interesantes que les ayudará a profundizar los temas presentados. Estaré atento a sus comentarios y sugerencias, hasta otra oportunidad.


Referencias: