En este artículo se definen las ventajas que ofrece PostgreSQL como base de datos open source, así como qué es PostGIS y qué capacidades ofrece para dotar de soporte espacial a PostgreSQL.
La unión de PostgreSQL y PostGIS es la solución de almacenamiento de datos espaciales más habitual, extendida y potente en el ámbito GIS open source.
La base de datos PostgreSQL
PostgreSQL es la base de datos relacional de tipo open source más popular y famosa del mercado. De hecho, está considerada la base de datos más avanzada y completa del momento.
Está disponible para la mayoría de Sistemas Operativos, desde MacOS y Windows a sistemas Linux RedHat, Solaris, SuSe u OpenSuSe, Debian y, como no, para Ubuntu.
La base de datos PostgreSQL aporta una gran flexibilidad dado que soporta múltiples lenguajes para programar funciones como PLpgSQL, PLPython, PLPHP o PLJava, entre otros.
Destacan también su seguridad, consistencia e integridad, así como el amplio espectro de tipos de datos soportados, entre los que destacan:
- Datos primitivos como enteros, numéricos, cadenas de texto, booleanos.
- Datos Estructurados como datos de fecha y hora, arrays o identificadores únicos.
- Documentos como JSON, XML, Key-value.
- Datos Geométricos: puntos, líneas, círculos y polígonos.
- Formatos personalizados
PostGIS: la extensión para datos espaciales
Uno de los puntos más relevantes es la capacidad de almacenar y trabajar con datos de tipo geométrico. Para ello surge PostGIS: la extensión espacial para PostgreSQL, una herramienta impulsada por OsGEO.
Se trata de un módulo de ampliación indispensable para PostgreSQL a la hora de trabajar en proyectos GIS.
La extensión PostGIS permite dotar a la base de datos relacional PostgreSQL de una serie de ventajas. Entre otros, destacan:
- soporte para archivos GIS ráster y vectoriales.
- provee funciones de análisis, transformación y consulta espaciales.
- velocidad de procesamiento gracias a índices espaciales.
- herramientas de geocodificación, 3D, topología, cálculo de rutas…
¿Qué es PostGIS y para qué sirve?
La extensión PostGIS habilita el soporte para trabajar con objetos geográficos localizados en el espacio.
En otras palabras: convierte PostgreSQL en una base de datos espacial, que en la práctica funciona (quitando el apartado gráfico) exactamente como un auténtico Sistema de Información Geográfica de escritorio.
Eso es posible porque, además de permitir el almacenamiento de información geográfica, el módulo en cuestión añade un enorme paquete de funciones para consultar, procesar, transformar y analizar información espacial almacenada.
No sólo eso, los tiempos de ejecución de análisis GIS basados en PostGIS son notablemente más cortos y eficientes que cualquier otro Sistema de Información Geográfica de escritorio.
Aquí tienes un magnífico artículo de Topi Tjukanov hablando sobre PostGIS y sus bondades. A parte de la gran calidad de la información que contiene el artículo, expone una figura donde demuestra la comparativa en la velocidad de procesamiento entre PostGIS y QGIS.
Por ello, aprender a programar en SQL para gestionar y analizar conjuntos de datos geográficos es un factor clave.
¿Qué permite hacer PostGIS?
PostGIS permite trabajar tanto con información geográfica vectorial como ráster de múltiples formatos distintos.
Así, trabajando con formatos vectoriales permite:
- crear y editar geometrías
- establecer relaciones espaciales entre elementos geométricos
- realizar análisis de distancia y enrutamiento con pgRouting
- realizar correcciones topológicas de elementos, etc.
Por su parte, al trabajar con formatos ráster pueden realizarse, entre otros:
- análisis y combinaciones de bandas
- editar y reclasificar píxeles de capas ráster
- llevar a cabo operaciones de álgebra de mapas
- generar modelos de elevaciones, etc.
Otro punto relevante es la capacidad de vincular PostGIS fácilmente con Geoserver y Mapserver para ser servir información geográfica espacial.
En este sentido, se trata de una pieza clave a la hora de integrar piezas de la arquitectura web GIS para proyectos de webmapping y para compartir información geográfica en base a estándares OGC.
Como comentábamos al principio, PostgreSQL admite el trabajo con lenguajes de programación para incluir funciones. PostGIS permite utilizar y programar triggers (disparadores) para realizar acciones automáticas que aceleran el trabajo en tareas repetitivas.
Te puede resultar interesante conocer las 25 funciones de PostGIS para análisis espacial, resumidas en un artículo, explicadas y con ejemplos.
También permite implementar índices espaciales para acelerar considerablemente los tiempos de consulta y análisis de la información espacial almacenada e indexada.
Integración con otro software GIS
Existe un amplio número de programas de software GIS tanto Open Source como propietario que ofrecen soporte y facilitan el trabajo con PostGIS.
La integración de PostGIS con QGIS es perfecta y fácil, como mostramos en otro post acerca de la conexión del GIS de escritorio QGIS con la base de datos espacial PostgreSQL – PostGIS.
En la imagen se muestra el listado completo facilitado por PostGIS donde se listan todos los programas que permiten el soporte de PostGIS.
Por todas esas razones, la combinación de PostgreSQL y PostGIS se ha convertido en la piedra angular de muchos proyectos de información geográfica. En cierto modo su uso ha pasado a convertirse en un estándar dentro del sector GIS en el ámbito Open Source.
Si deseas empezar a utilizar estas herramientas en tus proyectos GIS, aprende a instalarlas fácilmente paso a paso en nuestro artículo que realizamos acerca de la instalación de PostgreSQL, PostGIS y cómo instalar pgAdmin.