¿Alguna vez habéis escuchado hablar de PostGIS? Estoy casi seguro que sí. No obstante, para los que no lo sepan o les dé pereza investigar después de las vacaciones, aquí lo explicamos brevemente

PostGIS es una extensión del Sistema Gestor de Base de Datos (SGBD) PostgreSQL, un proyecto de código abierto que nació en 1982 en la universidad de Berkeley y que ha ido evolucionando hasta considerarse hoy en día el proyecto más avanzado en bases de datos libres. Esta extensión proporciona capacidades para almacenar, gestionar y analizar objetos espaciales. Para ello, le otorga tipos de datos espaciales, índices y funciones espaciales que operan sobre ellos. Además, permite trabajar con los estándares abiertos propios de Sistemas de Información Geográfica (SIG). De hecho, en 2006 fue certificado por el Open Geospatial Consortium (OGC), lo que garantiza la interoperabilidad con otros sistemas.

Dado que el soporte principal de PostgreSQL es para el lenguaje SQL, es necesario aprender este tipo de sentencias para manipular los datos que se encuentren ahí alojados. Gracias a este tipo de sentencias en PostGIS es posible realizar multitud de análisis espaciales con nuestros datos geográficos, desde cálculo de rutas óptimas o correcciones topológicas hasta transformación de proyecciones.
Para aquellos/as que no seáis muy duros/as con este lenguaje de consulta o que, simplemente prefiráis no poneros a escribir sentencias, os presento una alternativa.

Os presento a PostGIS Query Builder, un plugin de QGIS que permite aprovechar todo el potencial de las funciones espaciales de PostGIS con un entorno gráfico. Este plugin permite realizar análisis espaciales utilizando las funciones que tiene PostGIS, pero sin necesidad de escribir las sentencias SQL.

Os pongo un caso práctico mejor:
Supongamos que necesitamos saber cuáles son las edificaciones que se verían afectadas por un desborde de 50 metros del río de una determinada zona. Para ello, disponemos de dos capas, una de las edificaciones, y otra de ríos.
Lo primero que tenemos que hacer es cargar nuestras capas de información en nuestra base de datos PostGIS. Para ello, utilizamos el asistente gráfico de PostGIS (PostGIS Shapefile (PostGIS shapefile Import/Export Manager).
Al abrirlo, agregamos la conexión a la base de datos.

Seleccionamos las dos capas, establecemos el sistema de coordenadas (SRID) y las importamos.


Una vez hemos cargadas nuestras capas a la base de datos PostGIS, abrimos QGIS Desktop (en este caso estamos con la versión 2.18.4, pero hay compatibilidad desde la verisón 2.0.0). Nos dirigimos a la barra principal de QGIS, hacemos clic en el Administrador de complementos y una vez ahí, escribimos postgisquerybuilder. Lo seleccionamos y lo instalamos, tal como se muestra a continuación.


Una vez instalado, procederemos a configurar una conexión de nuestra base de datos PostGIS en QGIS para poder cargar las capas y visualizarlas. Para ello, hacemos clic en el menú de la izquierda del panel de explorador en el icono de PostGIS. Luego agregamos la nueva conexión con todos los parámetros obligatorios.


Elegimos las capas y las cargamos en el visualizador de mapas.

Los datos se visualizan como en la siguiente ilustración:

Una vez hemos comprobado que nuestros datos se visualizan correctamente, vamos a procederé a realizar los análisis espaciales. Para ello, nos dirigimos a la barra de herramientas principal y seleccionamos el icono tal y como se muestra a continuación.

Una vez aquí, seleccionamos nuestra conexión y se desplegarán las capas ahí presentes.

Si hacemos clic en Query, se nos despliega una pestaña con los análisis espaciales disponibles.

Como necesitamos saber cuáles son los edificios que se verán afectada por una avenida de 50 metros, lo primero que tenemos que establecer es un área de influencia o buffer.
Elegimos ST_Buffer en el desplegable anterior. En el Layer A, seleccionamos la capa de los ríos y en buffer radius 50. Por último, hacemos clic en Run query, tal y como se muestra a continuación:

El resultado es el siguiente:

Si hacemos zoom a una zona podemos observar a primera vista que, efectivamente, algunas edificaciones se verían afectadas por esa inundación. Pero para cerciorarnos, ejecutaremos un nuevo análisis. En este caso una intersección.

Una vez guardada nuestra capa resultada del buffer en nuestra base de datos, procederemos a ejecutar el ST_Intersection. En la Layer A elegimos la capa resultada del análisis buffer, en B la de los ríos y, por último, hacemos clic en Run query.
Finalmente, podemos visualizar el resultado de cuáles serían esas edificaciones que se verían afectadas por esa supuesta inundación, que no son pocas precisamente.

Como habrás podido darte cuenta, este plugin permite aprovechar todo el potencial de las funciones espaciales que provee PostGIS de una manera rápida y sencilla. No obstante, este sólo ofrece algunas de las muchas funciones que trae PostGIS, por lo que si realmente quieres aprender a realizar análisis espacial avanzado utilizando bases de datos espaciales no dudes en inscribirte al curso de Bases de Datos Espaciales y Evaluación de la Calidad de los Datos, donde aprenderás desde cero a instalar, configurar y trabajar con una base de datos PostgreSQL y PostGIS, así como realizar análisis espacial avanzando utilizando las funciones que ésta trae. ¡No te lo pierdas!
Autor: Miguel Ángel Hurtado Ruiz.
Sobre el curso….. Bases de Datos Espaciales y Evaluación de la Calidad de los Datos, donde …… , como obtengo información
Hola Jose Luis,
En este enlace tienes la información del curso: https://geoinnova.org/curso/bases-datos-espaciales-evaluacion-calidad-datos/
Si tienes alguna duda adicional, escríbenos a formacion@geoinnova.org , estaremos encantados de antenderte.
Un saludo.