jueves, 13 de julio de 2017

Cuando se juntan PostGIS+Geoserver+QGIS - Parte 1





En estos últimos días me puse a explorar las ventajas que se tiene al trabajar con PostGIS, sobre todo para tener otra opción de gestionar mis datos, claro trabajando de la mano con el QGIS y por si fuera poco con el soporte de la herramienta del Geoserver para generar servicios como los WMS y WFS.

El objetivo de esta primera entrada será  mostrar las funcionalidades en específico del PostGIS a través de un ejemplo didáctico, mientras que para la segunda parte incluiré cómo podemos importar un archivo raster al PostGIS, empleando para ello el "raster2pgsql", finalmente veremos como podrán ser incorporarlos nuestras capas dentro del Geoserver, para ello también me apoyaré de algunos plugins como por ejemplo el SLD4raster y el Geoserver Explorer.

Fuente de datos


Como primer paso vamos a descargar datos provenientes del portal IDEP, a través de los servicios disponibles en WFS (Web Feature Service), para el ejemplo vamos a considerar algunas coberturas generadas por la Autoridad Nacional del Agua de Perú, con la idea de contar con geometrías de polígonos, puntos y líneas:


Administración Local del Agua 
URL del Servicio:
http://geo.ana.gob.pe/arcgis/services/SERV_ADMINISTRACION_LOCAL/MapServer/WFSServer?request=GetCapabilities&service=WFS

Estaciones Pluviómetricas
URL del Servicio:
http://geo.ana.gob.pe/arcgis/services/SERV_ESTACIONES_PLUVIOMETRICAS/MapServer/WFSServer?request=GetCapabilities&service=WFS

Codificación de los cursos de agua superficial del Perú.
URL del Servicio:
http://geo.ana.gob.pe/arcgis/services/SERV_CODIFICACION_CURSOS_AGUA/MapServer/WFSServer?request=GetCapabilities&service=WFS


Ahora procedemos a descargar los datos empleando QGIS, para ello simplemente nos conectamos a los servicios WFS indicados lineas arriba y los añadimos como capas, para ello seguimos la secuencia de la Figura 1, repitiendo el paso para las otras dos coberturas.


Figura 1: Añadiendo un servicio WFS

Como resultado final debemos tener en nuestro panel de capas similar a la siguiente imagen:


Figura 2: Capas vectoriales añadidas



Es importante mencionar que otra opción de descarga de las mismas coberturas se logra ingresando al "Catálogo Nacional de Metadatos Geográficos de la IDEP".

Figura 3: Vista del Catálogo Nacional de Metadatos del Perú - GeoIDEP

Trabajando con PostGIS


Como siguiente paso vamos a convertir las capas añadidas a un formato vectorial, para luego poder trasladarlo a nuestro gestor de base datos PostgreSQL con la extensión PostGIS, el cual permite trabajar con datos espaciales. Para esto debemos primero crear una base de datos y luego dentro de ella crear la extensión postgis.


Figura 4: Creando una bases de datos en PostgreSQL y dentro de ella creando la extensión postgis.

Ahora si nos vamos al QGIS, con el objetivo de llevar a nuestra base de datos creada las capas vectoriales descargadas, para ello lo primero que debemos hacer es realizar la conexión a dicha base de datos creada, para lograr eso nos vamos a nuestro panel de explorador y cuando identificamos como fuente de datos al PostGis, simplemente hacemos clic derecho para crear una conexión nueva, luego nos aparecerá una panel en donde ingresamos los datos con nuestra información propia de nuestra base de datos; es importante mencionar que para el ejemplo se creó la base de datos "peru", ustedes son libres de crear otro nombre, adicional a eso, en la parte del puerto por defecto va ser 5432, no se deben sorprender de eso, por último si trabajan en su propio equipo se recomienda activar las casillas de "Guardar" tanto para nombre del usuario como de la contraseña, para que no les vuelvan a solicitar cada vez que trabajen desde PostGIS.


Figura 5: Creando nuestra conexión al PostGIS desde el QGIS


Al tener una conexión exitosa ahora nos podemos apoyar de la extensión DB Manager (Administrador de BBDD),  con la finalidad de importar nuestros vectores para que estén dentro de nuestro gestor de base de datos, para ello seguimos la secuencia mostrada en la siguiente figura.


Figura 6: Importando nuestras capas vectoriales para incorporarlo a nuestra base de datos

Debemos repetir el procedimiento indicado para las tres capas vectoriales, luego debemos tener un resultado similar al que se muestra en la Figura 7, dependiendo claro de los nombres que le asignemos a nuestras tablas.

Figura 7: Tablas generadas en nuestro gestos de base de datos


QGIS + PostGIS


Al realizar los pasos anteriores estamos listos para poder trabajar en QGIS teniendo como fuente de datos los mismos que fueron importados al PostGIS, para lograr esto tenemos varias opciones, lo podemos hacer desde nuestro panel de explorador (Ver Figura 8), también desde la barra de herramientas "Administrar capas" o ingresando desde "capa" en la barra de menú y de ahí seleccionar "Añadir capa PostGIS.."; finalmente cuando ya se encuentre en nuestro panel de capas, ya pueden ser trabajados como normalmente lo hacíamos desde nuestros archivos vectoriales, pero claro con las grandes ventajas que esto significa.


Figura 8: Vista en QGIS de las tablas de nuestra base de datos almacenadas con PostGIS

Creando Estilos


Si se fijan en la Figura 8, es notorio el hecho que se creó un estilo para cada capa, con la finalidad de tener una mejor visualización; en el caso de la capa vectorial "administracion_local" se estableció un estilo de tipo "Categorizado" indicando que para la columna "rh" exista tres tipos de colores. Nuestro objetivo es que cada vez que deseamos añadir nuestras capas lo hagan con su respectivo estilo pre-definido, pare ello luego de definir el estilo que mejor nos parece, nos dirigimos en la parte inferior en donde existe un botón llamado "Estilo", al activarlo tendremos varios opciones, debemos elegir "Guardar estilo" y luego "Guardar en base de datos (postgres)", nos aparecerá una ventana en donde debemos indicarle un nombre de estilo y marcar la casilla en donde se menciona que lo deseamos como estilo predeterminado para esta capa.


Figura 9: Generando y guardando estilos en nuestra base de datos


Después de repetir el mismo procedimiento para las otras dos capas, podremos comprobar lo realizado si nos vamos a nuestro gestor de base de datos, ahí se generó una tabla denominada "layer_styles" .


Figura 10: Revisando en nuestro gestor de base de datos los estilos generados en QGIS


Como dato adicional, existe la opción de generar y guardar múltiples estilos para luego poder cargarlos desde nuestra base de datos, en ese caso ya no seleccionamos a nuestro nuevo estilo como predeterminado. Para lograr esto, ahora en el botón de "Estilo", debemos elegir "Cargar estilo --> Cargar de base de datos", luego nos aparecerá una ventana con la lista de estilo disponibles, en donde podremos seleccionar el que deseamos.


Figura 11: Lista de estilos disponibles desde nuestra base de datos para ser cargados a nuestra capa


Muy bien, esto sería todo para esta primera parte de mi entrada, en la siguiente vamos a trabajar con datos raster con el PostGIS y claro integraremos a la herramienta del Geoserver para ver otras funcionalidades disponibles para ser trabajados juntos con el QGIS.




1 comentario:

maafran dijo...

Excelente, muy util, muchas gracias Ca<rlos