unidad 5.2: generación de wms con geoserver -...

51
Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source This work is licensed under a Creative Commons Attribution 2.5 License . CC: by AECID, LatinGEO e IGN 1 Bloque 5 SERVICIOS OGC Capítulo 2 Marco de Referencia del OGC: servicios y clientes Unidad 5.2: Generación de WMS con GeoServer José Miguel Rubio Iglesias (Instituto Geográfico Nacional) INDICE 1. Introducción a GeoServer ........................................................................................2 2. Instalación de Apache Tomcat sobre Windows XP como servicio y usando una JVM de 32 bits ....................................................................................................................... 5 2.1 Máquina virtual de Java ............................................................................................... 6 2.2 Apache Tomcat 6.0 ...................................................................................................... 6 3. Instalación y configuración de GeoServer 2.1.1 .........................................................7 3.1 Configuración del directorio de datos de GeoServer .................................................. 8 3.2 Configuración de usuarios y permisos de acceso ...................................................... 10 3.3 Introducción a la herramienta web de administración ............................................. 11 a. Servidor ...................................................................................................................... 12 b. Datos .......................................................................................................................... 15 d. Servicios ..................................................................................................................... 35 e. Settings (Ajustes) ....................................................................................................... 37 f. Seguridad ................................................................................................................... 37 g. Demos de GeoServer ................................................................................................. 37 A. Anexo I: Carga de datos Shapefile en GeoServer ..................................................... 39 B. Anexo II: Almacén de datos Oracle ......................................................................... 40 C. Anexo III: Creación de un almacén de datos PostGIS JNDI ....................................... 44 D. Anexo IV: Almacén de datos WMS ......................................................................... 46 E. Anexo V: Referencias ............................................................................................. 47 F . Anexo VI: Peticiones al WMS generado con GeoServer .......................................... 48

Upload: vuxuyen

Post on 29-May-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

1

Bloque 5 SERVICIOS OGC

Capítulo 2 Marco de Referencia del OGC: servicios y clientes

Unidad 5.2: Generación de WMS con GeoServer José Miguel Rubio Iglesias (Instituto Geográfico Nacional)

INDICE

1. Introducción a GeoServer ........................................................................................2 2. Instalación de Apache Tomcat sobre Windows XP como servicio y usando una JVM

de 32 bits ....................................................................................................................... 5 2.1 Máquina virtual de Java............................................................................................... 6 2.2 Apache Tomcat 6.0 ...................................................................................................... 6

3. Instalación y configuración de GeoServer 2.1.1.........................................................7 3.1 Configuración del directorio de datos de GeoServer .................................................. 8 3.2 Configuración de usuarios y permisos de acceso ...................................................... 10 3.3 Introducción a la herramienta web de administración ............................................. 11

a. Servidor...................................................................................................................... 12 b. Datos.......................................................................................................................... 15 d. Servicios ..................................................................................................................... 35 e. Settings (Ajustes) ....................................................................................................... 37 f. Seguridad ................................................................................................................... 37 g. Demos de GeoServer ................................................................................................. 37

A. Anexo I: Carga de datos Shapefile en GeoServer.....................................................39 B. Anexo II: Almacén de datos Oracle.........................................................................40 C. Anexo III: Creación de un almacén de datos PostGIS JNDI .......................................44 D. Anexo IV: Almacén de datos WMS .........................................................................46 E. Anexo V: Referencias.............................................................................................47 F . Anexo VI: Peticiones al WMS generado con GeoServer ..........................................48

Page 2: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

2

1. Introducción a GeoServer

GeoServer (http://geoserver.org) es un servidor OGC de código abierto

implementado con Java que permite a los usuarios compartir, gestionar y editar datos

geoespaciales. Diseñado para ser interoperable, permite la publicación de datos

utilizando estándares abiertos. Se trata de un software maduro y certificado para la

especificación WMS 1.1.1 y 1.3.0 y es implementación de referencia para WFS 1.0, 1.1

(y WFS-T) y WCS 1.1. Ello hace a GeoServer ser el servidor geospacial open-source más

fiable en cuanto a estándares. Activo desde 2004, siendo la versión más actual la 2.1.1

publicada muy recientemente (junio de 2011). La periodicidad de las versiones es

media, con dos versiones por año generalmente.

GeoServer es software libre y de código abierto (licencia GNU-General Public

License), lo cual acelera en gran medida las reparaciones de bugs y la implementación

de mejoras. El proyecto GeoServer fue impulsado por la organización sin ánimo de

lucro The Opening Planning Project (TOPP) para ayudar a construir una Infraestructura

de Datos Espaciales interoperable proporcionando a potenciales proveedores de datos

un software libre de alta calidad y fácil de usar. Actualmente participan en el desarrollo

y testeo de GeoServer diversas organizaciones y particulares de todo el mundo.

GeoServer ha evolucionado hasta ser un método fácil y eficiente de publicación

de datos en aplicaciones como Google Earth o Nasa World Wind, empleando KML

(Keyhole Markup Language) así como en geoportales como Google Maps o Yahoo!

Maps. GeoServer posee soporte comercial disponible, a cargo de empresas y entidades

externas.

El software GeoServer para WFS ha sido elegido por OGC como la

implementación de referencia para su uso en el portal CITE de interoperabilidad. Como

referencia, se requiere a GeoServer para intervenir en todos los aspectos relacionados

Page 3: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

3

con las especificaciones actuales y en desarrollo.

GeoServer es una aplicación Java, construida sobre la librería Open Source

GeoTools, que integra asimismo la librería Openlayers que facilita la generación de

mapas durante la creación de un WMS. GeoServer puede descargarse y montar como

un WAR (Web Application aRchive) en un servidor HTTP Apache/Tomcat o en una

distribución completa que incluye el motor de servlets. En este curso trabajaremos con

el WAR disponible de GeoServer.

Características y funcionalidades de GeoServer

• Cumple en su totalidad la especificación OGC WMS (1.1.1 y 1.3.0), WFS (1.0,

1.1 y WFS-T) y WCS (1.0 y 1.1) siendo una Implementación de Referencia

para WCS 1.1, WFS 1.0 y 1.1. También soporta la especificación WPS de OGC.

• GeoServer facilita la configuración de los servicios gracias a su herramienta

web, no siendo necesario manejar directamente ficheros de configuración.

• Soporte maduro para PostGIS (esta nueva versión incluye soporte a PostGIS

2.0), Shapefile, ArcSDE, DB2 y Oracle, con soporte adicional de VPF, MySQL,

MapInfo, Teradata y también conexión a WFS y WMS (cascading).

• De forma nativa integra soporte Java para GeoTIFF, GTOPO30, ArcGrid,

WorldImages, etc.

• Usando la extensión GDAL ImageIO también soporta Musid, ECW, JPEG2000,

DTED, Erdas Imagine, NITF. Cualquier formato que GDAL soporte puede ser

añadido con pocas líneas de código.

• Realiza reproyección al vuelo para WMS y WFS, integrando una base de

datos EPSG con cientos de proyecciones.

• Permite generar capas directamente a partir de consultas SQL, siendo posible

definir consultas parametrizadas dinámicas.

• Formatos de salida WMS: JPEG, GIF, PNG, PDF, SVG, KML, GeoRSS.

• Excelente soporte de Google Earth.

Page 4: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

4

• Integración con GeoWebCache, para acelerar la generación de teselas.

• Soporte de GML 2.1.2 y 3.1.1, GeoJSON y Shapefiles comprimidos a través

del WFS.

• Por defecto emplea anti-aliasing en la generación de imágenes, devolviendo

imágenes con contornos suaves y calidad estética, aunque da la posibilidad

de no utilizarlo para incrementar el rendimiento.

• Integra OpenLayers de forma nativa para la previsualización de mapas.

• GeoServer cumple los estándares indicados por defecto, sin necesidad de

configuraciones complejas.

• Permite crear múltiples servicios (endpoints) a partir de una única instancia

de GeoServer (virtual services).

• El rendimiento de GeoServer es similar al de los servidores OpenSource más

rápidos actualmente, e incluso mayor que cualquier software propietario.

• Incorpora una interface de seguridad permitiendo configurar el acceso a

servicios y a capas sólo a un grupo de usuarios.

• La herramienta web está disponible en varios idiomas: francés, alemán,

español, portugués, chino, japonés, neerlandés, ruso, etc.

• Soporte de WFS transaccionales.

• Completo soporte de SLD 1.0.0 para definir estilos de mapas, tanto por el

proveedor del servicio, en la configuración nativa de estilos, como por el

usuario (a través de peticiones POST y GET). También soporta la mayoría de

los documentos en SLD 1.1.0 (Symbology Encoding).

• Se ha desarrollado además una extensión WMS para cumplir con las Normas

de Ejecución de Servicios de Visualización de INSPIRE.

• Basado en Java (J2EE), puede correr bajo cualquier contenedor de servlets,

soportando arquitecturas de 64 bits y capacidades avanzadas de

multithreading (multihilo).

• No es necesario recompilar para soportar formatos no nativos, ya que los

DataStores de GeoTools se conectan instantáneamente sin necesidad de

configuración adicional.

Page 5: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

5

• GeoServer está diseñado y pensado para su extensión por parte de cualquier

usuario, siendo su código fuente fácil de leer y comprender.

• GeoServer tiene detrás una comunidad amplia, a la que uno puede

incorporarse y formar parte participando en el desarrollo de GeoServer para

que cumpla con requisitos cada vez más específicos.

• GeoServer proporciona documentación que detalla todas las funcionalidades

que ofrece en un lenguaje sencillo y accesible.

• Existen activas listas de correo para proporcionar ayuda y soporte de forma

rápida.

• También existe soporte comercial para instalación, soporte, personalización

e implementación de mejoras.

2. Instalación de Apache Tomcat sobre Windows XP como

servicio y usando una JVM de 32 bits

En primer lugar, es necesario instalar el entorno sobre el cual va a implantarse

GeoServer: el contenedor de aplicaciones Tomcat y la máquina virtual de Java.

Las máquinas sobre las que se instalará GeoServer pueden ser de 32 o 64 bits. En

entornos de producción se recomienda emplear máquinas de 64 bits, que permite, por

ejemplo, direccionar más de 4 GB de memoria para su empleo por la máquina Virtual

Page 6: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

6

de Java.

2.1 Máquina virtual de Java

El primer paso consiste en instalar el JDK (Java Development Kit) o JRE (Java

Runtime Environment) necesario para la ejecución de aplicaciones en entorno Java. La

versión que se recomienda instalar es la 1.6 (aquí se considera que se va a trabajar

con jdk1.6.0_24).

2.2 Apache Tomcat 6.0

A continuación es necesario instalar el contenedor de aplicaciones (servlets)

Apache Tomcat (en este documento se trabaja con la versión 6.0.32 de Apache

Tomcat), debiéndose proceder a su configuración.

Dentro del directorio raíz de Apache Tomcat se encuentra, entre otras carpetas:

• \conf: en esta carpeta se encuentran los ficheros de configuración, los

DTD y el archivo Server.xml

• \webapps: en esta carpeta se almacenarán las aplicaciones web, como

GeoServer.

Los pasos a seguir en su configuración son los siguientes:

1. Si hubiera un servicio de Tomcat ya existente, sería necesario

desinstalarlo, para lo cual, una vez parado dicho servicio, habría que

ejecutar el siguiente comando: sc delete nombre_del_servicio, teniendo

en cuenta que el nombre del servicio no coincide con el nombre

mostrado, obteniéndose de las propiedades del mismo. Además, habrá

que borrar el contenido previo del directorio de instalación de Tomcat.

Page 7: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

7

Para evitar pérdidas de información, se recomienda hacer una copia de

seguridad previamente del contenido de la carpeta /webapps.

2. El archivo con los binarios para la instalación en Windows de 32 bits

apache-tomcat-6.0.32-windows-x86.zip se podrá descargar desde

http://tomcat.apache.org/download-60.cgi.

3. Descomprimir el contenido del archivo .zip dentro de la carpeta de

instalación de Tomcat (en nuestro caso C:\Tomcat6.0).

4. En la ventana de comandos, en C:\Tomcat\bin\ ejecutar el comando

service.bat install. Este programa instala Tomcat como servicio de

Windows.

5. Ejecutar Tomcat6w.exe //MS//, el icono de Apache Tomcat aparecerá

en la barra de herramientas desde ahí con el botón derecho, pinchamos

en Configure...

6. En el menú de configuración de Tomcat, es necesario asegurarse de que

en las opciones de JAVA está configurada la JVM que acabamos de

instalar.

7. Por último, habrá que indicar el nivel de logs de Tomcat y el directorio

en que se crearán.

3. Instalación y configuración de GeoServer 2.1.1

La instalación de GeoServer se lleva a cabo mediante un archivo WAR, Web

Application Archive, descargado desde el enlace existente en la página web

http://geoserver.org/display/GEOS/Stable, en la cual aparecen los archivos disponibles

de las últimas versiones de GeoServer así como sus extensiones, en diferentes

formatos para su instalación en distintos entornos. La última versión estable de

GeoServer en el momento de la redacción de este manual era la 2.1.1.

Aunque existen distintos paquetes de instalación disponibles, la elección del

archivo .war es debido a la necesidad de llevar a cabo una configuración personal de

Page 8: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

8

GeoServer en entorno Windows. Un WAR no es más que una jerarquía de archivos y

directorios en una distribución estándar, siendo el directorio principal de la jerarquía

de la aplicación web aquél en el que se emplazarán los archivos HTML y páginas JSP

que componen el interfaz de usuario de la aplicación.

Este archivo .war debe ser copiado y pegado en la carpeta \webapps,

desplegándose a continuación toda la jerarquía de carpetas contenidas bajo un

directorio raíz denominado \geoserver (siempre que Tomcat esté iniciado).

Si se quiere actualizar la versión, se ha de reemplazar tanto el WAR antiguo como

el directorio expandido que Tomcat creó por el nuevo WAR, reiniciando el contenedor

para reflejar los cambios y vinculando de nuevo el directorio de datos de GeoServer.

3.1 Configuración del directorio de datos de GeoServer

Para configurar GeoServer es recomendable copiar, fuera del directorio en

Tomcat y a ser posible en otra unidad, el directorio de datos que contiene los

principales ficheros de configuración de GeoServer. También incluye los ficheros de

soporte, el directorio de ficheros de estilos (SLD), el directorio de las capas creadas,

ficheros espaciales, etc.

A título informativo, la estructura del directorio de datos es la siguiente:

• data_directory/

o global.xml

o logging.xml

o wms.xml

o wfs.xml

o wcs.xml Archivos XML que contienen información de la configuración global y de cada uno de

los servicios.

o coverages/ Carpeta en la que almacenar ficheros de datos raster (imágenes, modelos), con la

ventaja de facilitar la portabilidad.

o data/

Page 9: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

9

Carpeta en la que almacenar ficheros de datos vectoriales, como shapefiles, con la

ventaja de facilitar la portabilidad.

o demo/ Carpeta que contiene la información necesaria para las consultas de ejemplo que

por defecto integra GeoServer (ver apartado de Demos de GeoServer).

o layergroups/ Carpeta que contiene información de la configuración de los grupos de capas (ver

apartado Grupos de Capas).

o palettes/ Carpeta que almacena paletas de imagen.

o plugIns/

o security/ Contiene la configuración del subsistema de seguridad de GeoServer.

o styles/ Contiene los ficheros de estilo de capas en GeoServer (ver apartado Estilos).

o user_projections/ Almacena las definiciones de proyecciones personalizadas no incluidas de forma

nativa en GeoServer.

o validation/

o workspaces Contiene los metadatos de los almacenes de datos y de las capas publicadas por

GoServer organizados por espacios de trabajo (ver apartado Espacios de Trabajo). Cada

almacén de datos tendrá un fichero de configuración llamado datastore.xml y cada

capa tendrá un fichero XML así como un coverage.xml o featuretype.xml dependiendo

de si es ráster o vector.

o www/

GeoServer usa este directorio para la publicación de ficheros como si fuera un

servidor web.

Almacenar la configuración de GeoServer directamente en el archivo \webapps

tiene bastantes desventajas, ya que dificulta la actualización o migración de la

aplicación. Al crear un directorio de datos separado, se puede cambiar y distribuir la

configuración de GeoServer fácilmente. La carpeta de datos (\geoserver\data) con la

configuración de GeoServer se copiará con todas las subcarpetas en D:\ -es

recomendable que no esté en la misma unidad que las aplicaciones- y preferiblemente

la llamaremos DATA_DIR, para distinguirla de su subcarpeta \data.

Page 10: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

10

Para configurar un directorio de datos separadamente es necesario incluir en el

archivo web.xml en C:\Tomcat6.0\webapps\geoserver\WEB-INF de un parámetro de

contexto, utilizando cualquier editor de texto plano:

<context-param>

<param-name>GEOSERVER_DATA_DIR</param-name>

<param-value>D:\DATA_DIR</param-value>

</context-param>

Se deberá reiniciar Tomcat para que GeoServer detecte el nuevo directorio de

datos.

3.2 Configuración de usuarios y permisos de acceso

La configuración de los subsistemas de seguridad en GeoServer ha sido llevada

a cabo mediante Acegi, una librería que permite tener en cuenta ciertos aspectos de

seguridad en aplicaciones web. Actualmente se utilizan dos ficheros localizados en el

directorio de datos de GeoServer, que están en D:\DATA_DIR\security, para

configurar los usuarios y permisos de acceso:

• User.properties: en el que se indican los usuarios, las contraseñas y los

roles de los mismos. Por ejemplo:

admin = geoserver, ROLE_ADMINISTRATOR

ROLE_ADMINISTRATOR es el rol requerido para acceder a la consola de

administración.

• Services.properties: establece qué servicios están configurados de

acuerdo con el sistema de seguridad, y qué roles tienen que tener los

usuarios para acceder a cada servicio. Si no se establece nada, no se

requerirá contraseña para su acceso.

Page 11: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

11

3.3 Introducción a la herramienta web de administración

En este apartado se profundizará en la herramienta web de administración,

detallando las funcionalidades existentes.

La herramienta web de administración de GeoServer ofrece una interfaz de

usuario gráfica, no siendo necesario modificar directamente los ficheros de

configuración y pudiendo probar nuevas configuraciones antes de salvarlas. No

obstante, no es obligatorio utilizarla si se prefiere trabajar directamente con los

archivos de configuración.

Para entrar en la herramienta web será necesario introducir en nuestro

navegador: http://localhost:8080/geoserver/.

Dado que ya hemos configurado adecuadamente las cuentas de usuario, en la

esquina superior derecha introduciremos el nombre de usuario y la contraseña

correspondiente, y a continuación pulsaremos Identificarse.

Menú de entrada a la herramienta web

Una vez identificado, a la izquierda aparece un menú con las siguientes secciones:

Servidor, Datos, Servicios, Settings, Seguridad y Demos. Veamos una a una.

Page 12: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

12

Pantalla principal tras introducir usuario y contraseña

a. Servidor

Proporciona acceso a la información del entorno de GeoServer:

i. Estado del servidor: Resumen de los parámetros de configuración del servidor.

Page 13: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

13

Estado del servidor de GeoServer

ii. GeoServer Logs: Muestra el contenido de las 1000 últimas líneas del log de

GeoServer (es configurable).

Ventana de visualización de logs de GeoServer

Page 14: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

14

iii. Información de contacto: Permite introducir la información del contacto que se

mostrará en el Capabilities del WMS, como el nombre, organización, dirección

postal, dirección de correo electrónico, etc. Una vez editados los campos, pulsamos

Enviar.

Pantalla de información del contacto

iv. Acerca de GeoServer: Proporciona enlaces a las páginas de GeoServer, a la Wiki

y al foro de seguimiento de incidencias.

Page 15: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

15

b. Datos

La siguiente sección es quizá la más importante en la configuración de GeoServer,

pues almacena la conexión y configuración de los datos, las distintas capas y grupos de

capas así como los estilos de visualización correspondientes. Las conexiones se

comparten por WMS, WFS y WCS, por lo que basta con ser definidas una única vez.

Espacios de trabajo

El concepto de “espacio de trabajo” es análogo al de “espacio de nombres”. Un

espacio de nombres, tiene como fin discriminar diferentes vocabularios XML. Los

espacios de nombre vienen definidos por la Recomendación W3C Espacios de

Nombres XML. Son usados para proporcionar elementos y atributos con nombre único

en una instancia XML. Dado que una instancia XML puede contener nombres de

elementos y atributos en más de un vocabulario, la definición de un espacio de

nombre evita la ambigüedad entre elementos que se llaman de la misma manera. Por

otro lado, la definición de un espacio de nombres es esencial si el servidor va a ser

público. Los espacios de nombres son URI (Uniform Resource Identifier - como URL

pero que no necesitan apuntar a una localización específica en la web) que basta con

que sean identificadores únicos.

Page 16: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

16

En GeoServer se emplea para organizar y agrupar capas, de acuerdo con algún

criterio, permitiendo la existencia de dos capas con el mismo nombre pertenecientes a

diferentes espacios de trabajo. De este modo, las capas se identifican así:

espacio_de_trabajo:nombre_capa.

Un espacio de trabajo consta de un nombre y de una URI de un espacio de nombres:

c. El nombre del Espacio de Trabajo ha de tener como máximo 10

caracteres y no contener espacios.

d. La URI no necesita apuntar a un sitio web, basta con que sea un

identificador único. Se recomienda usar una URL asociada con el

proyecto en el que se va a implantar el WMS.

Ventana de Espacios de trabajo

Para crear un espacio de trabajo nuevo, pulsamos Agregar un nuevo espacio de

trabajo, introducimos el nombre y la URI y pulsamos a Enviar.

Page 17: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

17

Ventana de Creación de Espacios de trabajo

Si se va a trabajar con este espacio de trabajo, conviene seleccionar la opción

Default workspace.

Almacenes de datos

Los almacenes de datos sirven para configurar la conexión a los orígenes de datos:

un archivo Shapefile, una base de datos, un directorio de archivos, un WFS o un WMS,

etc.

Ventana de Almacenes de datos

Page 18: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

18

GeoServer contempla cinco tipos de almacenes de datos: para datos vectoriales

soporta archivos, bases de datos o conexiones a WFS, mientras que para ráster maneja

diferentes tipos de archivos. También permite encadenar un WMS. Cada tipo de

almacén de datos se diferencia por un icono distinto.

Iconos de los diferentes tipos de almacenes de datos

GeoServer proporciona almacenes de datos de ejemplo, que aparecen ya

habilitados.

Para crear un almacén de datos nuevo, pulsamos en Agregar nuevo almacén,

apareciendo así los distintos tipos de orígenes de datos que GeoServer soporta de

forma nativa.

Si se trabaja con una base de datos geográficos en PostGIS, se seleccionará el tipo de

origen de datos PostGIS – PostGIS Database:

Pantalla de creación de almacenes de datos

Page 19: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

19

En la siguiente pantalla, Editar un origen de datos vectoriales, se introducen al

menos los siguientes datos para configurar la conexión a la BBDD:

- Espacio de trabajo: se elige uno, por ejemplo el creado en el paso anterior. El

nombre del espacio de trabajo será el prefijo de todas los nombres de las capas

creadas a partir de las tablas de esta BBDD.

- Nombre del origen de datos: No tiene porqué ser el mismo de la base de datos.

Por ejemplo, almacen_postgis.

- Description: una descripción interna del almacén de datos.

- Habilitado: habilita el almacén de datos. Si no está habilitado, entonces no se

servirá dato alguno de la BBDD.

- dbtype: postgis (dejamos el valor por defecto).

- host: nombre del servidor donde está la base de datos.

- port: puerto del servidor en el que escucha la base de datos.

- database: nombre de la base de datos en el servidor.

- schema: esquema de la base de datos

- user: usuario de la base de datos.

- passwd: contraseña de la base de datos.

- namespace: espacio de nombres asociado con la base de datos. Este campo se

rellena o se modifica automáticamente al cambiar el nombre del espacio de

trabajo en la primera opción.

- max connections: mayor número de conexiones abiertas con la base de datos.

- min connections: menor número de conexiones

- fetch size: número de registros que se pueden leer con cada interacción con la

base de datos.

- Connection timeout: tiempo en segundos que el pool de conexiones esperará

antes de desconectar.

- Validate connections: chequea si se mantiene la conexión antes de usarla.

- Loose bbox: sólo se emplean el BBOX de una geometría, ganando en

rendimiento a costa de cierta pérdida de precisión, ya que algunas geometrías

pueden considerarse dentro de un BBOX cuando realmente no lo están. Válido

Page 20: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

20

en un WMS, no debería emplearse esta opción cuando se usa el WFS,

especialmente si se hacen uso de filtros por BBOX.

- Prepared-statements

Es importante indicar que los campos arriba citado son los obligatorios, que vienen

señalados con un asterisco en la pantalla (*). Se pulsa Guardar y si no da ningún error

aparecerá una pantalla con todas las tablas y vistas de la Base de Datos, que se

corresponde con la pantalla Seleccionar nueva capa que se describe más adelante.

Page 21: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

21

Pantalla de creación de un almacén de datos PostGIS

Para la creación de un almacén de datos Shapefile, véase el Anexo I.

Para la creación de un almacén de datos Oracle, véase el Anexo II.

Para la creación de un almacén de datos PostGIS JNDI, véase el Anexo III.

Para la creación de un almacén de datos tipo WMS, véase el Anexo IV.

Capas

En GeoServer, el término Capa se refiere tanto a datos vectoriales (FeatureTypes)

como ráster (coberturas), representando cada entidad que va a ser representada en el

mapa. Han de estar siempre vinculadas a un almacén de datos.

En la pantalla de Capas es posible añadir, eliminar y editar una capa. En la pantalla

aparecerán las capas existentes por defecto, las cuales están ya publicadas.

Para cada capa GeoServer añade un icono correspondiente al tipo de capa, que será

diferente si se trata de una capa de puntos, líneas o superficies – vectorial-, o de una

capa ráster.

Page 22: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

22

Si pulsamos Agregar nuevo recurso aparece una nueva ventana en la que aparece

un desplegable con los almacenes de datos disponibles.

Selección de almacén de datos para agregar una nueva capa

Al seleccionar el almacén de datos recién creado (por ejemplo

geo:almacen_postgis), aparecerán las capas disponibles, que serán las tablas y vistas

del esquema de la BBDD PostGIS al que nos hemos conectado, que no están aún

publicadas. Si ya se han publicado algunas de sus tablas, aparecerán igualmente, pero

dando la oportunidad de publicarlas otra vez.

Pantalla de selección de capas

Page 23: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

23

Para editar cada una de las capas y publicarlas, será necesario pulsar en Publish.

Aparece así una pantalla dónde se configura la capa y cómo se va a publicar:

Pantalla de configuración de metadatos de la capa a publicar

Datos: Metadatos sobre la capa:

e. Nombre: Nombre que identificará la capa en las peticiones WMS (se

corresponderá con el nombre de la tabla o vista)

Page 24: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

24

f. Titulo: Breve identificación que identifica la capa en los clientes.

g. Resumen: Descripción de los contenidos de la capa.

h. Palabras Clave: palabras clave asociadas con la capa que permitan su

localización en las búsquedas de catálogo.

i. Vínculos a metadatos: Permite enlazar a documentos externos que

describen la capa.

j. Sistemas de Referencia de Coordenadas:

i. SRS nativo: SRS original de los datos de la capa.

ii. SRS declarado: SRS con el que GeoServer publica la capa.

iii. Gestión de SRS: Determina qué hace GeoServer cuando el SRS

nativo y el declarado no coinciden.

k. Encuadre: Bounding Box, determina la extensión máxima de la capa.

i. Encuadre nativo: coordenadas en el SRS nativo.

ii. Encuadre Lat/lon: se calculan automáticamente a partir de las

anteriores.

l. Detalles del FeatureType (datos vectoriales): Lista de propiedades o

atributos de la capa, así como su tipo, si está permitido el nulo así

como la mínima y máxima ocurrencia de dicho atributo.

Page 25: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

25

Pantalla de configuración de la publicación de la capa

Publicación: Permite la configuración de la salida a Internet de la capa. Cabe

destacar:

m. Configuración de HTTP: Si se selecciona cabeceras de respuesta de

caché, GeoServer no repetirá la misma tesela dos veces en el tiempo

especificado en Tiempo de Cache, siendo 3600 s el valor por defecto.

n. WMS Settings: Permite definir si una capa es consultable (queryable),

el estilo por defecto que se va a aplicar a la capa, así como otros

estilos adicionales que pueden ser también aplicados. Cuando en una

petición GetMap no se solicite una capa en un estilo concreto, se

aplicará el estilo por defecto indicado aquí. De momento no se han

creado nuevos estilos, por lo que sólo aparecerán los estilos que

GeoServer trae por defecto.

o. Atribución de WMS: Permite establecer información acerca del

proveedor de los datos (texto de atribución, vínculo a la información

de la atribución, URL del logo del proveedor de datos, e información

de dicho logo, que puede ser autodetectada).

p. Configuración del formato KML: permite limitar los fenómenos de

acuerdo con determinados criterios, también conocido como

“regionado”. Con esta opción, se elige qué fenómeno debería

Page 26: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

26

aparecer de forma más destacada que otros empleando un atributo

de “regionado” por defecto. Hay cuatro tipos de métodos de

regionado:

i. External-sorting: crea una base de datos auxiliar dentro de

GeoServer y lleva un poco más de tiempo construir el índice en

la primera consulta.

ii. Geometry: ordena por longitud (si son líneas) o por área (si son

polígonos).

iii. Native-sorting: emplea el algoritmo de ordenación por defecto

del almacén de datos, siendo más rápido que la opción

“External-sorting” pero sólo trabaja con Bases de Datos

PostGIS.

iv. Random: emplea el orden existente de los datos y no ordena.

Una vez introducida la información correspondiente a Datos y a Publicación, se

pulsará Guardar para almacenar la configuración y habilitar la capa. La herramienta

web nos llevará al listado de capas, al que se habrá incorporado la capa que acabamos

de crear, con un tick que indica que la capa está publicada.

Un listado final de capas publicadas puede ser el siguiente:

Page 27: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

27

Capas publicadas

Para modificar la configuración de la capa bastará con hacer click en su nombre.

Para borrar una capa será necesario seleccionarla primero haciendo click sobre el

check box situado a la izquierda de cada una de las capas en el listado y

posteriormente pulsar Eliminar las capas seleccionadas.

Page 28: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

28

Estilos

Los estilos definen cómo se van a representar los datos. GeoServer trabaja con

archivos de estilo basados en la especificación OGC SLD (Styled Layer Descriptor). Los

archivos SLD son archivos XML que describen cómo un mapa va a ser visualizado. Cada

capa tiene que tener un SLD por defecto, que usa para su representación ante una

petición GetMap.

Al pulsar Estilos aparece una lista de estilos por defecto, así como la opción de

agregar un nuevo estilo o eliminar los estilos seleccionados.

Pantalla de estilos disponibles

Si pulsamos Agregar un nuevo estilo aparece la siguiente pantalla:

Pantalla de creación de estilos

Page 29: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

29

Podemos crear un estilo nuevo, al que habrá que dar un nombre, utilizando la

opción de Copiar un estilo existente, seleccionando uno del desplegable y pulsando

Copiar…, o bien cargando un archivo SLD externo, para lo cual habrá que pulsar

Examinar…, seleccionar el archivo SLD y posteriormente hacer click en Subir…

En cualquiera de los casos el XML completo se mostrará en la ventana del editor de

texto, donde se podrá añadir, modificar o eliminar aquellos elementos del SLD que

creamos oportuno.

Editor de texto de la pantalla de creación de estilos

La generación de SLD puede hacerse de forma manual, o bien utilizando alguno de

los siguientes paquetes SIG: gvSIG, Kosmo o QuantumGIS. En el momento de la

redacción de este manual, ninguno genera archivos SLD directamente integrables en

GeoServer, siendo Kosmo la herramienta que recomendamos por crear los archivos

SLD más similares a los procesados por GeoServer. Geo Styler sólo permite una

simbolización más o menos básica, no contempla la colocación de etiquetas y la

Page 30: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

30

simbolización compleja de líneas sólo puede hacerse mediante superposición de

estilos.

Una vez editado el texto, pulsamos Validar para que GeoServer compare el XML con

el esquema de la especificación SLD, de modo que si no es compatible con éste, se

impedirá guardar los cambios efectuados. En la parte superior de la pantalla se indica,

por lo general, cuál puede ser la causa.

Estilo no validado

Si el parseador no detecta error alguno, aparecerá el mensaje correspondiente.

Estilo validado

Una vez validado correctamente, pulsamos Enviar y el estilo se añadirá a la lista de

estilos disponibles.

Page 31: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

31

Para más información acerca de SLD y la creación de estilos en GeoServer, conviene

echar un vistazo a la sección Styling de la página web de GeoServer:

http://docs.geoserver.org/stable/en/user/styling/index.html

También está disponible la página, ya no mantenida, de un tutorial de SLD con

GeoServer:

http://geoserver.org/display/GEOSDOC/SLD+Intro+Tutorial

Grupos de Capas

GeoServer permite crear grupos de capas que a su vez serán tratados como una

única capa, simplificando las peticiones a un WMS. Esto puede ser bastante útil, por

ejemplo, si se desea crear un grupo de capas de divisiones administrativas que se

quiera manejar como una única capa y que contenga a su vez las capas de

comunidades autónomas, provincias y municipio; cada una de estas capas ya estará

previamente definida en GeoServer, con sus estilos correspondientes, pero bastará

con llamar al grupo de capas para que el WMS devuelva información de las tres capas

individuales que la componen. También puede ser útil para renombrar las capas

publicadas.

Pantalla del listado de grupos de capas

Para agregar un nuevo grupo de capas, pulsamos en Agregar nuevo grupo de capas,

apareciendo la pantalla siguiente:

Page 32: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

32

Pantalla de creación de un grupo de capa

En primer lugar pulsamos Agregar capa… desplegándose un listado con las capas

disponibles.

Agregación de capas a un grupo de capas

Seleccionamos las capas que se incorporarán al grupo de capas una a una. Por

defecto las capas se representarán en el orden de inclusión en el grupo, pero la

posición puede modificarse pulsando en las flechas que aparecen junto a cada capa. Es

importante indicar que la capa que se encuentre al final de la lista será la que se

muestre por encima de las demás capas. La primera capa de la lista será, entonces, la

capa situada más al fondo.

Page 33: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

33

Organización de capas en un grupo de capas

Si pulsamos en el estilo de cada una de las capas será posible seleccionar uno de los

estilos disponibles. Pulsando en el check box de Default Style la capa recupera el estilo

por defecto que se le haya definido, asegurando que si cambiamos el estilo por defecto

de la capa también cambiará en el grupo. Para eliminar una capa del grupo, se pulsará

el icono que aparece en la columna Eliminar.

Será necesario introducir un nombre adecuado para el grupo de capas, los límites

máximos de los encuadres correspondientes a las capas del grupo, el Sistema de

Referencia de Coordenadas del grupo (para encontrar el código EPSG pulsamos

Buscar…). Si las capas tienen diferente SRS, GeoServer reproyecta las capas al SRS del

grupo.

Una vez añadidas las capas del grupo e introducida la información citada en el

párrafo anterior, habrá que pulsar Guardar.

Page 34: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

34

Grupo de capas con dos capas

Para editar la configuración de un grupo de capas, basta con hacer click en el

nombre del grupo de capas.

Para eliminar un grupo, basta con seleccionar el check box correspondiente y pulsar

Eliminar los grupos de capas seleccionados.

Previsualización de capas

La siguiente sección proporciona la posibilidad de visualizar las capas y los grupos de

capas soportando una gran diversidad de formatos de salida (siempre que sea posible):

utilizando clientes Openlayers, en KML, PNG, GIF, JPEG, etc.

Page 35: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

35

Pantalla de previsualización de capas

Pulsando Openlayers, librería OpenSource basado en JavaScript para la visualización

de mapas en navegadores web, aparecerá un cliente ligero con la capa o grupo de

capas que queramos visualizar, así como un conjunto de opciones y filtros

(visualización teselada o no, aplicación de antialias, el formato de imagen, el ancho y el

alto de la ventana, la posibilidad de ejecutar filtros CQL, etc.).

La previsualización con Openlayers es muy útil para comprobar en todo momento la

existencia de posibles errores o aspectos mejorables en el diseño del estilo de las

capas.

Previsualización de capas con Openlayers

d. Servicios

GeoServer permite la implementación y publicación de WFS y WCS OGC

transaccionales, además de la creación de WMS, en cuya configuración se va a centrar

este documento. En esta sección se podrá configurar metadatos correspondientes a

los diferentes servicios, que luego aparecerán en el documento de Capabilities.

Page 36: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

36

Seleccionando WMS, aparecerá la pantalla donde se introducirá el título del WMS,

un resumen, tasas, restricciones de acceso, palabras claves, e incluso la lista de

sistemas de referencia que van a ser soportados por el WMS, utilizando el código

EPSG. Por defecto GeoServer soporta todos los existentes en la BBDD nativa, más de

4000, pero conviene limitar la lista de SRS a aquellos en los que se esperan peticiones.

Para introducir los SRS que realmente interesan, basta con incluir los números de

código EPSG separados por comas. En

http://localhost:8080/geoserver/web/?wicket:bookmarkablePage=:org.geoserver.w

eb.demo.SRSListPage se puede consultar la lista de Sistemas de Referencia que

soporta GeoServer, con su código EPSG correspondiente y su descripción.

Pantalla de metadatos de servicio de WMS

Es importante no olvidar habilitar el WMS y deshabilitar el WFS si no lo vamos a

utilizar (pulsando en la opción WFS)

Page 37: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

37

En esta pantalla también se configurará las opciones de renderizado ráster, útiles

cuando se sirven imágenes. Conviene dejar por defecto los valores que aparecen,

sobre todo si se trata de un entorno de trabajo típico.

Una vez editados los campos que creamos necesario, pulsamos Enviar.

e. Settings (Ajustes)

En esta sección se incluyen los apartados de configuración general de GeoServer:

i. Configuración global: Permite configurar dónde se guardarán los logs, el

conjunto de caracteres usados, un eventual Proxy, los mensajes, etc.

ii. GeoWebCache: Permite cachear el WMS generado con GeoServer. En este

apartado es posible configurar aspectos tales como el tamaño máximo de caché

y la eliminación de las teselas cuando se fuerza el límite de cuota de disco.

iii. Configuración de JAI: Sirve para configurar la JAI (Java Advanced Imaging –

librería de JAVA para el tratamiento de imágenes ráster).

f. Seguridad

En esta sección se configuran aspectos relacionadas con permisos de los usuarios y

seguridad de datos, servicios y catálogo.

g. Demos de GeoServer

La sección de demos ofrece al usuario de GeoServer dos enlaces, uno al listado de

SRS que soporta nativamente GeoServer y otro a un cliente test que permite realizar

consultas de ejemplo para GeoServer.

Page 38: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

38

Pantalla de Demos de GeoServer

Lista de SRS

GeoServer soporta de forma nativa casi 4000 Sistemas de Referencia Espacial.

Pantalla de listado de SRS soportados por GeoServer

Si queremos conocer más información de un sistema de referencia, introduciremos

en la caja Buscar el código EPSG o la descripción. Una vez encontrado el SRS, al pulsar

en el código, aparecerá una ventana con información detallada del Sistema: el nombre

y objeto del Sistema de Referencia, los parámetros de definición del Elipsoide, el

Datum y el sistema de coordenadas que aplica. También informa del área de validez

de dicho SRS tanto con las coordenadas máximas y mínimas, como con el nombre de

Page 39: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

39

los países correspondientes. Incorpora un cliente Openlayers con la zona geográfica en

la que el Sistema de Referencia es aplicable.

A. Anexo I: Carga de datos Shapefile en GeoServer

En este Anexo se describirá la conexión a un almacén de datos Shapefile - ESRI(tm)

Shapefiles (*.shp), apareciendo la pantalla siguiente:

Pantalla de creación de un almacén de datos Shapefile

En Información básica del almacén, será necesario indicar el Espacio de trabajo

(mantenemos el mismo espacio de trabajo que en almacén anterior por coherencia)

seleccionando del desplegable el que consideremos oportuno, indicando un nombre

para el almacén de datos (no tiene porqué ser el mismo que el del archivo), y una

breve descripción que sólo se mostrará en la herramienta web de administración. No

hay que olvidar habilitar el almacén para poder acceder posteriormente a su

contenido y publicarlo vía WMS.

Page 40: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

40

En Parámetros de conexión se indicará la URL o dirección dónde se almacena el

Shapefile. Por defecto aparece la ruta relativa al Directorio de Datos de GeoServer.

En el caso de la creación de un almacén de datos tipo “Directorio de ficheros

espaciales”, la pantalla de configuración es muy similar, pero basta con especificar la

carpeta o directorio en el que se encuentran los ficheros y Guardar.

Pantalla de creación de un almacén de datos de directorio de archivos

B. Anexo II: Almacén de datos Oracle

Si se trabaja con bases de datos Oracle Spatial, se debe seleccionar la opción de

almacén de datos Oracle o bien Oracle (OCI).

Si no está previamente, habrá que instalar el cliente de Oracle 10g en el servidor

donde se encuentra implantado GeoServer. Instalar con la opción Administrador y

realizar una configuración típica.

Para que aparezcan como opciones en el menú de almacén de datos de GeoServer,

es necesario que se hayan instalado los plugins correspondientes en el directorio de

Page 41: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

41

librerías de GeoServer, que si se ha instalado como un WAR será en [Directorio raíz del

contenedor]\webapps\geoserver\WEB-INF\lib. Estos plugins se encuentran en la

extensión Oracle de Geoserver que se proporciona desde

http://geoserver.org/display/GEOS/Stable y son:

• Ojdbc14.jar

• Gt2-oracle-spatial-2.6.4.jar

Una vez copiados en la carpeta correspondiente, se deberá reiniciar GeoServer,

apareciendo ahora las opciones de conexión a base de datos Oracle:

Pantalla de creación de almacenes de datos incluyendo Oracle

En este anexo se describirá la conexión a un almacén de datos Oracle utilizando el

tipo Oracle NG (OCI). OCI significa Oracle Call Interface y permite aumentar la

velocidad respecto a Oracle, además de poder conectarse con un cluster de base de

datos.

Será necesario crear la conexión ODBC a la base de datos Oracle si no está creada

ya. Para ello habrá que llevar a cabo los siguientes pasos:

Page 42: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

42

1. Se iniciará el Asistente Net Manager de Oracle creándose una nomenclatura de

servicio (llamada, por ejemplo, conexiónOracle) en Configuración de Red de

Oracle – Local – Nomenclatura de Servicio. En dicha nomenclatura de servicio

se debe establecer:

a. Identificación de Servicios

Nombre del Servicio: nombre_BBDD

Tipo de Conexión: Servidor Dedicado.

b. Configuración de Direcciones

Dirección 1

Protocolo: TCP/IP

Nombre del host: nombre_host_1

Nombre del puerto: 1521

Dirección n (si trabajamos con varias máquinas a la vez, como es el caso)

Protocolo: TCP/IP

Nombre del host: nombre_host_n

Nombre del puerto: 1521

Esta configuración quedará almacenada en el archivo tnsnames.ora, que se

encuentra en la dirección $ORACLE_HOME\NETWORK\ADMIN. Al trabajar con un

balanceador, será necesario editar directamente este archivo introduciendo:

Load_balance = yes

El archivo tnsnames.ora se puede configurar también manualmente.

2. Finalmente, se guarda convenientemente la configuración de red.

Una vez realizado esto, en la ventana de Nuevo origen de datos se pulsa en Oracle

NG (OCI) – Oracle Database (OCI). En la siguiente pantalla, Editar un origen de datos

vectoriales, se introducen al menos los siguientes datos para configurar la conexión a

la BBDD:

- Espacio de trabajo: se elige uno, por ejemplo el creado en el paso anterior.

Page 43: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

43

- Nombre del origen de datos: por ejemplo, almacen_oracle

- dbtype: oracle.

- alias: nombre de la nomenclatura de servicio (la hemos creado antes:

conexionOracle)

- user: usuario de la base de datos

- passwd: contraseña de la base de datos.

Es importante indicar que los campos arriba citado son los obligatorios, que vienen

señalados con un asterisco en la pantalla (*). Se pulsa Guardar y si no da ningún error

aparecerá una pantalla con todas las tablas y vistas de la Base de Datos, que se

corresponde con la pantalla Seleccionar nueva capa que se describe más adelante.

Pantalla de creación de un almacén de datos Oracle NG (OCI)

Page 44: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

44

C. Anexo III: Creación de un almacén de datos PostGIS JNDI

JNDI (Java Naming and Directory Interface) es parte de la plataforma Java, que

proporciona a aplicaciones basadas en tecnología Java una interfaz unificada para

descubrir objetos y datos mediante un nombre. Como todas las API Java, JNDI es

independiente de las implementaciones subyacentes.

La utilización de un tipo de almacén de datos PostGIS JNDI es muy conveniente si se

quieren crear múltiples almacenes que ataquen contra una misma base de datos

PostGIS (pero diferentes esquemas), o compartir el pool de conexiones con otras

aplicaciones, etc.

Los pasos para la creación de un almacén de datos PostGIS JNDI es el siguiente:

1. Copiar el fichero postgresql-8.4-701.jdbc4.jar que está dentro de la instalación

de PostgreSQL/pgJDBC en $TOMCAT_HOME/lib. Este fichero es el driver JDBC

para PostgreSQL, que ha estar en el directorio de librerías compartidas de

Tomcat.

2. Una vez hecho esto, hay que modificar el fichero

$TOMCAT_HOME/conf/context.xml para publicar el pool de conexiones como

JNDI. Para ello, es necesario incluir el siguiente elemento <Resource> en el

elemento <Context> de dicho fichero XML, que en el caso de una conexión a

PostGIS sería:

<Resource name="jdbc/postgres" auth="Container"

type="javax.sql.DataSource"

driverClassName="org.postgresql.Driver"

url="jdbc:postgresql://host:puerto/nombre_base_datos"

username="usuario" password="contraseña"

maxActive="20" maxIdle="3" maxWait="-1"

removeAbandoned="true"

removeAbandonedTimeout="60"

logAbandoned="true" />

Page 45: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

45

En esta configuración se indica el driver de PostgreSQL, dónde está ubicada

la base de datos y que como máximo se van a utilizar 20 conexiones en

paralelo, quedando como máximo 3 conexiones sin usar.

3. Para permitir a una aplicación web acceder a un recurso JNDI es necesario

modificar el archivo web.xml que en el caso de GeoServer está en:

$TOMCAT_HOME/webapps/geoserver/WEB-INF/web.xml. En este fichero

XML será necesario añadir al final, justo antes de </web-app>,la siguiente

referencia:

<resource-ref>

<description>PostGIS Datasource</description>

<res-ref-name>jdbc/postgres</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

4. Reiniciamos Tomcat y pasamos a configurar el almacén de datos PostGIS JNDI.

Al seleccionar la opción PostGIS (JNDI) - PostGIS Database (JNDI), aparecerá la

siguiente pantalla:

Pantalla de creación de un almacén de datos PostGIS JNDI

Page 46: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

46

Prácticamente todos los parámetros son iguales que en el caso de una

conexión típica PostGIS, a diferencia que en este caso, es necesario añadir el

jndiReferenceName, que en este caso debe ser java:comp/env/jdbc/postgres,

que es el nombre que permite acceder al recurso JNDI. Cuidado al indicar

correctamente el esquema de la base de datos con la que estemos trabajando.

5. Una vez conectados a la base de datos vía JNDI, aparecerá el listado de tablas y

vistas del esquema, continuando la configuración de capas, estilos y grupos de

capas como se ha explicado en el manual.

Tablas de una BBDD PostGIS con conexión vía JNDI

D. Anexo IV: Almacén de datos WMS

En el caso de la creación de un almacén de datos tipo WMS, es decir, para servir

un WMS remoto aparece la siguiente pantalla:

Pantalla de creación de almacén de datos WMS

En Información básica del almacén, la configuración es similar al tipo anterior.

Page 47: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

47

Para llevar a cabo la conexión con un WMS será necesario indicar la ruta del

Capabilities del WMS.

Una vez introducidos los datos de configuración, se pulsa Guardar.

E. Anexo V: Referencias

Documentación y páginas web a consultar en relación a GeoServer:

- http://geoserver.org

- GeoServer 2.1.1 User Manual

Page 48: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

48

E. Anexo VI: Peticiones al WMS generado con GeoServer

Peticiones GetMap

Capa PROVINCIA

http://localhost:8080/geoserver/wms?REQUEST=GetMap&VERSION=1.1.1&SERVICE=WMS

&SRS=EPSG:4258&BBOX=-19,27,5,44&WIDTH=800&HEIGHT=600&LAYERS=PROVINCIA

&STYLES=&FORMAT=image/png

Capa MUNICIPIO

http://localhost:8080/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap

&BBOX=-4.0429,40.4296875,-

3.8671875,40.6054&SRS=EPSG:4258&LAYERS=MUNICIPIO&WIDTH=600&HEIGHT=600&STYLES

=&FORMAT=image/png

Page 49: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

49

Capa TRAMOS

http://localhost:8080/geoserver/wms?REQUEST=GetMap&VERSION=1.1.1&SERVICE=WMS

&SRS=EPSG:4258&BBOX=-3.372802734375,40.4736328125,-

3.36181640625,40.484619140625&WIDTH=600&HEIGHT=600&LAYERS=TRAMOS&STYLES=&F

ORMAT=image/png

Page 50: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

50

Capa Callejero

http://localhost:8080/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap

&BBOX=-3.2958984375,40.4296875,-

3.251953125,40.4736328125&WIDTH=600&HEIGHT=600&SRS=EPSG:4258&LAYERS=Callejero

&STYLES=&FORMAT=image/png

Petición GetFeatureInfo

Callejero

http://localhost:8080/geoserver/wms?REQUEST=GetFeatureInfo&VERSION=1.1.0&SERVICE

=WMS&SRS=EPSG:4258&WIDTH=256&HEIGHT=256&LAYERS=Callejero&FORMAT=image/gif&

BGCOLOR=16777215&TRANSPARENT=True&EXCEPTIONS=application/vnd.ogc.se_xml&BBOX=

-3.372802734375,40.4736328125,-

3.36181640625,40.484619140625&QUERY_LAYERS=Callejero&INFO_FORMAT=text/html&X=1

28&Y=128

Page 51: Unidad 5.2: Generación de WMS con GeoServer - …pirna.com.ar/files/pirna/GPIP-402-WMSGeoServer.pdf · • Basado en Java ... DTD y el archivo Server.xml • \webapps: en esta carpeta

Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source

This work is licensed under a Creative Commons Attribution 2.5 License.

CC: by AECID, LatinGEO e IGN

51

Petición GetCapabilities

http://localhost:8080/geoserver/wms?REQUEST=GetCapabilities&VERSION=1.1.0&SERVICE

=WMS