Capítulo 7 Presentar Información Geográfica con GeoServer

Disponemos de la información geográfica de nuestro municipio almacenada como archivos (obtenida en el capítulo 4) y en BD SpatiaLite, GeoPackage y PostGIS (almacenada en el capítulo 5). También, en el capítulo 6 hemos obtenido información derivada de la original que podemos utilizar. En este capítulo, vamos a ofrecer esa información mediante servidor Web de datos espaciales: GeoServer.

Objetivos del capítulo

  • El objetivo principal es repasar los conceptos sobre presentación de Información Geográfica en la Web materializados en un servidor Web concreto.
  • Configurar en GeoServer distintas fuentes de datos: vectorial y ráster.
  • Acceder a GeoServer desde QGIS.
  • Acceder a GeoServer desde una aplicación Web.

Las actividades planteadas se basan en Iacovella and Youngblood (2013) y Iacovella (2014).

7.1 Iniciar y parar GeoServer

GeoServer es un servidor Web de datos espaciales: permite publicar datos espaciales mediante los estándares de OGC. Es una aplicación de código abierto desarrollada en Java.

En relación con la instalación de la herramienta, en el momento de instalar GeoServer, se configura con la ubicación de la carpeta donde está Java. Un problema que he encontrado es que si se actualiza Java y pasa a estar en otra carpeta (cambia el nombre con el número de versión), GeoServer deja de funcionar. La manera más sencilla de arreglarlo es volver a ejecutar el instalador e indicar la nueva carpeta de Java.

7.1.1 Iniciar GeoServer

Iniciar GeoServer.

Figura 7.1: Iniciar GeoServer.

En la instalación, se puede configurar para que se inicie el servidor automáticamente al arrancar el sistema. En lugar de esa opción, he elegido la alternativa de iniciar el servidor manualmente. Se inicia pulsando sobre el icono GeoServer Start del escritorio54 (figura 7.1).

Ventana de comandos para el inicio de GeoServer.

Figura 7.2: Ventana de comandos para el inicio de GeoServer.

Para iniciarse, se abre una ventana del Sistema y comienzan a ejecutarse comandos. Tarda un poco en ponerse en marcha. Acaba cuando aparece el mensaje INFO:oejs.Server:main: Started, como puede verse en la última línea de la figura 7.2.

7.1.2 Acceder a la página de administración de GeoServer

Acceder a la página de administración de GeoServer.

Figura 7.3: Acceder a la página de administración de GeoServer.

Una vez está en marcha el servidor, podemos abrir la aplicación de administración en el navegador. Se puede hacer directamente pulsando sobre el icono GeoServer Web Admin Page del escritorio55 (figura 7.3).

Página de inicio de GeoServer.

Figura 7.4: Página de inicio de GeoServer.

La página de inicio de la aplicación de administración de GeoServer se muestra en la figura 7.4. En esta página, nos muestra una pantalla de bienvenida y, en la columna de la derecha, lista las Capacidades del servicio: las versiones de los distintos estándares bajo los que puede servir datos. Mediante las opciones de la zona izquierda, podemos obtener información más detallada del servidor, consultar las capas disponibles y demostraciones de posibles operaciones con GeoServer.

En nuestra instalación, el navegador ha rellenado automáticamente los campos de usuario y contraseña, por lo que no es necesario introducirlos de nuevo. En caso necesario, el usuario administrador es admin y la contraseña es geoserver. Pulsando sobre el botón Identificarse accedemos a las opciones de administración.

7.1.3 Parar GeoServer

Parar el servidor GeoServer.

Figura 7.5: Parar el servidor GeoServer.

En esta actividad vamos a trabajar con GeoServer, necesitamos que esté funcionando. Cuando la acabemos o, en caso de que quisiéramos pararlo, deberíamos pulsar sobre el icono GeoServer Stop del escritorio56 (figura 7.5).

7.2 Información de contacto y estado del servidor

7.2.1 Cambiar la información de contacto

ágina de bienvenida de GeoServer.

Figura 7.6: ágina de bienvenida de GeoServer.

En la página de bienvenida (figura 7.6), nos indica a quién pertenece esta instancia de GeoServer, también la cantidad de información que contiene, organizada en capas, almacenes y espacios de trabajo.

Información de contacto.

Figura 7.7: Información de contacto.

Podemos cambiar la información de contacto pulsando sobre Servidor > Información de contacto (figura 7.7) e introduciendo nuestros datos.

Al pulsar sobre el botón Enviar, podemos comprobar que la pantalla de bienvenida presenta los datos de nuestra organización que hayamos introducido.

7.2.2 Estado del servidor

Estado del servidor.

Figura 7.8: Estado del servidor.

Pulsando sobre Servidor > Estado del servidor (figura 7.8), accedemos a la pantalla que nos muestra el estado del servidor. Esta pantalla puede resultar de interés en caso de presentarse problemas de funcionamiento. En particular, en caso de producirse algún bloqueo, basta con pulsar sobre el botón Liberar bloqueos.

Ejercicio 7.1 Inicia Geoserver, abre la aplicación de administración en el navegador e identifícate como administrador. Cambia la información de contacto con tus datos (de forma similar a como se muestra en la figura 7.7, particularizado a tus datos).

Para documentar la realización del ejercicio, incluye una captura de pantalla donde se muestren tus datos en Geoserver.

7.3 Añadir información geográfica

Para añadir información geográfica a Geoserver se usan tres conceptos:

  • espacios de trabajo,
  • almacenes de datos,
  • capas.

El espacio de trabajo se puede entender como el espacio de nombres: el nombre que va a permitir agrupar toda la información geográfica que deseemos. Se añadirá como prefijo a los nombres de las capas que se utilicen.

Asociado a un espacio de trabajo, se pueden definir uno o varios almacenes de datos: el medio donde se almacena la información geográfica. Puede ser una carpeta, un archivo o una BD, entre otros.

Por último, podemos configurar las capas de información geográfica incluidas en cada almacén de datos. Para acceder a una capa concreta, deberemos indicar también el espacio de trabajo que tiene asociado (el almacén de datos resulta transparente).

7.3.1 Espacios de trabajo

Espacios de trabajo.

Figura 7.9: Espacios de trabajo.

Para acceder a los espacios de trabajo, pulsamos sobre Datos > Espacios de trabajo (figura 7.9). Podemos ver una lista de los espacios de trabajo existentes en nuestra instancia de GeoServer. Además de poder eliminar cualquier espacio de trabajo, desde esta pantalla podemos crear nuevos espacios.

Nuevo espacio de trabajo.

Figura 7.10: Nuevo espacio de trabajo.

Para crear un nuevo espacio de trabajo, pulsamos sobre el enlace Agregar un nuevo espacio de trabajo (figura 7.10) e introducimos los datos: el nombre y una URI. Ambos datos son obligatorios. La URI57 la usa para definir el espacio de nombres58 asociado al espacio de trabajo.

Podemos indicar que el nuevo espacio de trabajo sea el espacio de trabajo por defecto, marcando la opción correspondiente.

7.3.2 Almacenes de datos

Almacenes de datos.

Figura 7.11: Almacenes de datos.

Para acceder a los almacenes de datos, pulsamos sobre Datos > Almacenes de datos (figura 7.11). Podemos ver una lista de los almacenes de datos asociados a espacios de trabajo. Se puede observar que algunos espacios de nombres están relacionados con varios almacenes de datos.

Nuevo almacén de datos.

Figura 7.12: Nuevo almacén de datos.

Para crear un nuevo almacén de datos, pulsamos sobre el enlace Agregar un nuevo almacén (figura 7.11) y, según los datos sean vectoriales o ráster, seleccionamos el tipo de almacén (figura 7.12). También se pueden configurar servidores en cascada si se selecciona como origen de datos otro servidor.

En este ejemplo, se ha usado PostGIS como almacén de datos vectoriales y archivos GeoTIFF como almacén de datos ráster59.

PostGIS como almacén de datos.

Figura 7.13: PostGIS como almacén de datos.

La página de configuración de PostGIS como almacén de datos se muestra en la figura 7.13. Se ha de indicar el espacio de trabajo (en este caso he indicado SIG) y darle un nombre al origen de datos. Además, se indican los parámetros de conexión a la BD.

Lista de capas disponibles en el almacén de datos.

Figura 7.14: Lista de capas disponibles en el almacén de datos.

Una vez realizada la conexión, aparece una lista con las capas disponibles en el almacén de datos (figura 7.14). A esta lista también podemos acceder desde la opción Datos > Capas (la veremos en el apartado 7.3.3).

Archivo GeoTIFF como almacén de datos.

Figura 7.15: Archivo GeoTIFF como almacén de datos.

Definición de un archivo GeoTIFF como almacén de datos.

Figura 7.16: Definición de un archivo GeoTIFF como almacén de datos.

En la figura 7.15, se muestra la selección de un archivo GeoTIFF como almacén de datos. En la figura 7.16, se definen los parámetros del nuevo almacén de datos. En este caso, los parámetros de conexión son solo la URL del archivo.

Capa disponible en el almacén de datos.

Figura 7.17: Capa disponible en el almacén de datos.

En este caso, la única capa disponible en el almacén de datos se muestra en la figura 7.17.

7.3.3 Capas

Una vez definido un almacén de datos, podemos gestionar la publicación de sus capas. Al añadir un nuevo almacén de datos, automáticamente se muestran las capas que contiene, como se presenta en las figuras 7.14 y 7.17.

Lista de capas publicadas.

Figura 7.18: Lista de capas publicadas.

Agregar una nueva capa.

Figura 7.19: Agregar una nueva capa.

También podemos acceder a la lista de capas de cualquier almacén pulsando sobre la opción Datos > Capas (figura 7.18) y pulsando, a continuación, sobre el enlace Agregar nuevo recurso. En la nueva pantalla a la que accedemos, seleccionamos el almacén de datos que contiene la nueva capa (figura 7.19) y nos aparece la lista de capas del almacén seleccionado: en este caso la lista de la figura 7.14.

Publicar una nueva capa.

Figura 7.20: Publicar una nueva capa.

Pulsando sobre el enlace Publicación, situado a la derecha del nombre de la capa que queremos publicar (figura 7.14), se abre la ventana donde podemos configurar los parámetros de publicación de la capa (figura 7.20).

Definir Encuadres.

Figura 7.21: Definir Encuadres.

Para las capas vectoriales, tenemos que definir necesariamente el apartado Encuadres (figura 7.21). Se puede definir fácilmente pulsando sobre los enlaces Calcular desde los datos y Calcular desde el encuadre nativo.

7.3.4 Previsualización de capas

Previsualización de capas.

Figura 7.22: Previsualización de capas.

Pulsando sobre Datos > Previsualización de capas accedemos a la pantalla que nos permite ver o descargar las capas en cualquiera de los formatos disponibles (figura 7.22). Por ejemplo, para ver una capa mediante OpenLayers, pulsando sobre el enlace OpenLayers situado a la derecha del nombre de la capa, en la figura 7.22, se muestra en una nueva pestaña del navegador la capa.

Ejercicio 7.2 Añade las capas de tu municipio que se indican en el apartado 5.1, al espacio de trabajo cuyo nombre sea el nombre del municipio y tu usuario de correo de la UGR (p.e., en mi caso lanjaron-jsamos). Usa los almacenes de datos que consideres más adecuados.

Para documentar la realización del ejercicio, incluye una captura de pantalla donde se muestren los almacenes de datos del espacio de trabajo que has creado.

7.4 Consultar información geográfica desde otras herramientas

Una vez hemos añadido las capas que deseemos al espacio de trabajo, podemos consultarlas por distintos medios. En esta sección, vamos a consultarlas desde QGIS y también desde una aplicación Web con JavaScript.

7.4.1 Consulta desde QGIS

Desde QGIS podemos acceder al servidor GeoServer mediante los distintos estándar que soporta.

Conexión WMS.

Figura 7.23: Conexión WMS.

En la figura 7.23, se muestra el procedimiento para establecer la conexión mediante un estándar, por ejemplo WMS: en la ventana del Navegador, en el menú contextual elegimos la opción Conexión nueva…

Crear una nueva conexión WMS.

Figura 7.24: Crear una nueva conexión WMS.

En la figura 7.24, se muestra la ventana de configuración de la conexión. Indicamos el nombre que deseemos darle, la URL del servidor (en el ejemplo, http://localhost:8080/geoserver/SIG/wms?) compuesta por el nombre del espacio de trabajo que he usado (SIG) y el nombre del estándar mediante el que nos conectamos (en el ejemplo de la figura wms).

Lista de capas disponibles para el espacio de trabajo seleccionado.

Figura 7.25: Lista de capas disponibles para el espacio de trabajo seleccionado.

El resultado de la conexión es una lista de las capas disponibles bajo ese estándar para el espacio de trabajo (figura 7.25).

Capas de GeoServer mostradas en QGIS.

Figura 7.26: Capas de GeoServer mostradas en QGIS.

Estas capas pueden añadirse al lienzo de QGIS desde sus respectivos menús contextuales. El resultado del ejemplo se muestra en la figura 7.26.

Lista de capas disponibles según los distintos estándar.

Figura 7.27: Lista de capas disponibles según los distintos estándar.

En la figura 7.27, se muestran las capas de las conexiones establecidas con GeoServer según los distintos estándar para el espacio de trabajo del ejemplo considerado.

Ejercicio 7.3 Consulta y muestra en QGIS una capa ráster y otra vectorial de tu espacio de trabajo en Geoserver.

Para documentar la realización del ejercicio, incluye una captura de pantalla donde se muestren las capas disponibles de la conexión con Geoserver y las dos capas en QGIS.

7.4.2 Consulta desde una aplicación Web

Vamos a utilizar el complemento qgis2web de QGIS para generar una aplicación Web a partir de las capas presentadas en el lienzo de QGIS. Funciona a partir de cualquier combinación de capas presentadas en QGIS (por supuesto, a partir de capas locales), pero lo vamos a usar con las capas obtenidas de la conexión establecida con GeoServer.

Este complemento no está instalado en la instalación inicial de QGIS, tendremos que instalarlo. Una vez instalado, podemos acceder a él directamente desde la barra de herramientas o también pulsando sobre Web > qgis2web > Create web map.

Definición de parámetros del complemento qgis2web.

Figura 7.28: Definición de parámetros del complemento qgis2web.

Selección de capas del complemento qgis2web.

Figura 7.29: Selección de capas del complemento qgis2web.

En primer lugar, en la parte inferior de la ventana que se abre, seleccionamos la librería JavaScript que queremos usar y, en la pestaña Export, indicamos la carpeta en la que se generará el código (figura 7.28). En la pestaña Layers and Groups (figura 7.29) seleccionamos las capas a exportar. Cuando pulsamos sobre el botón Export lleva a cabo el proceso de generación del código para presentar las capas seleccionadas de acuerdo a la configuración elegida.

Presentación del resultado del complemento qgis2web.

Figura 7.30: Presentación del resultado del complemento qgis2web.

El resultado obtenido depende del estándar que usemos para acceder a GeoServer. En la figura 7.30, se muestra el resultado para el ejemplo considerado.

Código generado por el complemento qgis2web.

Figura 7.31: Código generado por el complemento qgis2web.

En la figura 7.31, se muestra el código generado por el complemento para este ejemplo, el correspondiente al archivo index.html. Podemos acceder a él en la carpeta donde hemos indicado que se lleve a cabo la generación.

Presentación del nuevo resultado del complemento qgis2web.

Figura 7.32: Presentación del nuevo resultado del complemento qgis2web.

El resultado de la figura 7.30 no coincide exactamente con lo que se mostraba en QGIS, en este caso se muestran los distintos azulejos componentes del ráster. Si observamos el código de la figura 7.31, a partir de la línea 41 se hace la llamada a GeoServer para obtener el ráster: incluye un parámetro tiled: true en la línea 44. Si editamos el archivo y cambiamos ese parámetro para que sea tiled: false, el resultado que obtenemos es el que se presenta en la figura 7.32.

Ejercicio 7.4 Muestra mediante una aplicación Web una capa ráster y otra vectorial de tu espacio de trabajo en Geoserver.

Para documentar la realización del ejercicio, incluye una captura de pantalla donde se muestren las capas en la aplicación Web.

Bibliografía

Iacovella, Stefano. 2014. GeoServer Cookbook. Packt Publishing.
Iacovella, Stefano, and Brian Youngblood. 2013. GeoServer Beginner’s Guide. Packt Publishing.

  1. Como resultado se ejecuta el archivo por lotes startup de la carpeta bin de la instalación de Geoserver.↩︎

  2. Como resultado abre en el navegador la URL http://http://localhost:8080/geoserver/web.↩︎

  3. Como resultado se ejecuta el archivo por lotes shutdown de la carpeta bin de la instalación de Geoserver.↩︎

  4. Puede ser una URL, aunque no es necesario que lo sea.↩︎

  5. De acuerdo con el concepto de XML.↩︎

  6. Aunque estén las capas ráster en PostGIS, no lo soporta como almacén de datos ráster.↩︎