GeoServer es un servidor de código abierto de publicación y gestión de información espacial que permite trabajar con los estándares desarrollados por el Open Geospatial Consortium (OGC). Pero… ¿Sabías que Geoserver puede ser utilizada para cargar datos desde una base de datos PostGIS?
Vayamos por pasos.
¿Qué es GeoServer?
GeoServer es una plataforma muy versátil que permite la integración de varios tipos de datos geoespaciales. Algunos de los tipos de datos que GeoServer puede manejar son:
- Shapefiles: formato de datos espaciales de tipo vectorial más trabajado.
- GeoTIFF: formato de información espacial de tipo ráster que nos permite visualizar los datos de nuestras matrices de datos.
- PostGIS: a través de GeoServer podemos integrar los datos de nuestras bases de datos PostgreSQL y sus datos espaciales a través de la extensión de PostGIS.
- GeoPackage: formato del estándar OGC que permite la integración de datos vectoriales y ráster.
- KML/KMZ: formato KML (Keyhole Markup Language) y KMZ (archivos comprimidos KML).
- CSV: formato de valores separados por comas (CSV).
- Otros formatos:
- ArcGrid
- Oracle (extensión)
- Excel (extensión)
- MongoDB (extensión)
- MySQL (extensión)
- NetCDF (extensión)
- GRIB (extensión)
Todos estos tipos de datos pueden ser reconocidos e integrados en GeoServer para que los podamos compartir en formato estándar OGC (WMS, WFS, WCS, WMTS, etc.), para permitir la interoperabilidad de los datos entre distintos sistemas de información geográfica. .
Esto significa que los datos y servicios generados en GeoServer, pueden ser compartidos y utilizados de manera efectiva entre diferentes plataformas y aplicaciones.
Si quieres saber más sobre los estándares OGC puedes consultar este artículo sobre la Implicación de la aparición de la OGC en la visión global de los geodatos.
¿Qué es PostGIS?
PostGIS es una extensión de PostgreSQL que convierte este sistema de bases de datos en una base de datos espacial. PostGIS es un Software compatible con OGC y también es libre y de código abierto.
Puedes leer más sobre PostGIS y PostgreSQL aquí:
Crear un espacio de trabajo (workspace)
Para añadir una capa de una base de datos espacial PostGIS, lo primero que debemos hacer en GeoServer es crear un espacio de trabajo. Un espacio de trabajo o workspace es un contenedor lógico que agrupa conjuntos relacionados de capas, datos y configuraciones. Podemos resumir el espacio de trabajo como una herramienta organizativa que te permite estructurar y gestionar de forma cohesionada y de manera eficiente tus datos geoespaciales.
Crear un almacén de datos (data store)
El siguiente paso debe ser crear un almacén de datos. Un almacén de datos o data store se refiere a la ubicación donde se almacenan los datos geoespaciales que GeoServer utiliza para publicar servicios de mapas y datos. El almacén de datos debe definirse para un tipo de datos concretos (shapefiles, postGIS, GeoPackage, etc).
Tras seleccionar el tipo de datos PostGIS y conectar a nuestra base de datos con los parámetros de configuración (host, puerto, base de datos, usuario y contraseña), ya podemos añadir nuevos servicios desde nuestra base de datos.
En nuestro caso, hemos creado un espacio de trabajo llamado “GIS” y un almacén de datos con nombre “GIS_POSTGIS”.


Añadir una tabla de datos PostGIS a GeoServer
Una vez configurados el espacio de trabajo y el almacén de datos, ya tenemos todo lo necesario para añadir nuestros datos desde la Base de Datos PostGIS. Para añadir una tabla de PostGIS, debemos ir a la ventana de Capas y seleccionar la opción “Agregar nuevo recurso”.

Esto nos llevará a la ventana de generación de “Nueva capa”.

En este apartado nos aparecerán las distintas tablas de nuestra base de datos PostGIS, con la posibilidad de Publicar nuestros datos a través del botón “Publicación”.
Para publicar una capa por defecto, vamos a pulsar en “Publicación” y tendremos que configurar nuestra capa. Para ello, debemos definir algunos elementos de la pestaña “datos” y, como mínimo, definir un nombre y un título, el sistema de referencia y calcular los encuadres (extensión) de nuestros datos. Es muy importante conocer los metadatos de nuestra tabla para definir correctamente el sistema de referencia.


Al bajar hasta el apartado de detalles de nuestra tabla, podremos ver un listado de los atributos de nuestra capa, así como la descripción de su tipo. Una vez hemos definido todos los elementos, ya podemos guardar nuestra capa.
En caso de que quisiéramos definir una simbología para nuestra capa, deberíamos ir al apartado “Publicación” y en “configuración WMS” definir un estilo. En este caso, vamos a dejarlo por defecto.

Ahora nuestra capa nos aparecerá en el apartado de capas.

Además, también será añadido a nuestro apartado de previsualización de capas.

Desde aquí podremos utilizar la previsualización por defecto a través de “OpenLayers” para comprobar la información de nuestra tabla espacial.

Ahora, nuestras capas pueden ser cargadas como un servicio WMS o WFS a través de cualquier aplicación que permita la lectura de datos con protocolos OGC. De esta forma, ya tenemos operativa nuestra información espacial desde una base de datos PostGIS.
Automatizar la publicación de capas con la REST API de GeoServer
Si bien la interfaz gráfica de GeoServer es intuitiva y eficaz, cuando trabajamos en entornos de desarrollo, integración continua o proyectos con grandes volúmenes de datos, es mucho más eficiente automatizar la carga y publicación de capas mediante su REST API.
GeoServer cuenta con una API RESTful que permite realizar casi todas las acciones disponibles en la interfaz: desde crear espacios de trabajo y almacenes de datos, hasta publicar capas, cargar estilos SLD o configurar servicios.
Ejemplo básico: Crear un data store PostGIS vía REST
curl -u admin:geoserver -XPOST -H "Content-type: text/xml" \
-d "<dataStore>
<name>gis_postgis</name>
<connectionParameters>
<host>localhost</host>
<port>5432</port>
<database>mi_bd</database>
<user>usuario</user>
<passwd>clave</passwd>
<dbtype>postgis</dbtype>
</connectionParameters>
</dataStore>" \
"http://localhost:8080/geoserver/rest/workspaces/GIS/datastores"
¿Qué ventajas ofrece esta automatización?
- Ahorro de tiempo en entornos de producción o desarrollo continuo.
- Repetibilidad y consistencia al configurar varios entornos (dev, test, prod).
- Integración con scripts de despliegue, contenedores Docker o pipelines CI/CD.
- Documentación de la configuración en forma de scripts versionables.
Recursos útiles:
Si ya trabajas con infraestructura como código o automatización de servicios, integrar la REST API de GeoServer será un paso natural para mejorar la eficiencia de tus proyectos SIG.
Ventajas de cargar datos de PostGIS a GeoServer
Este procedimiento ofrece como ventajas:
- Posibilidad de almacenar y gestionar datos espaciales desde PostGIS con posibilidad de crear, editar o eliminar información espacial.
- Posibilidad de crear consultas avanzadas sobre nuestros datos.
- Posibilidad de compartir nuestros datos con otros usuarios.
- Compatibilidad con estándares OGC.
- Acceso concurrente a la información espacial.
Si quieres aprender más sobre las posibilidades de PostGIS, este curso sobre Bases de Datos Espaciales con PostgreSQL y PostGIS te interesa.
Y también puedes echarle un vistazo a nuestro Máster en Sistemas de Información Geográfica de Código Abierto, que comienza muy pronto, donde trabajarás la Gestión avanzada de bases de datos geográficas con PostGIS y sus extensiones de manejo de datos raster, redes y topología.
*Este tutorial está basado en GeoServer 2.23 y PostGIS 3.3. Algunas opciones pueden variar en otras versiones.
¿Quieres comentarnos algo? Adelante!