Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 1 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 2 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 3 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source • 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. 4 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source • 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 5 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 6 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 7 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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/ 8 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 9 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 10 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 11 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 12 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 13 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 14 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 15 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 16 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 17 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 18 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 19 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 20 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 21 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 22 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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) 23 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 24 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 25 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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: 26 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 27 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 28 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 29 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 30 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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: 31 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 32 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 33 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 34 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 35 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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) 36 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 37 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 38 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 39 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 40 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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: 41 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 42 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source - 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) 43 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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" /> 44 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 45 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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. 46 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 47 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 48 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 49 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source 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 50 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN Formación Geomática / Curso de Especialización en IDE y su puesta en marcha con herramientas Open Source Petición GetCapabilities http://localhost:8080/geoserver/wms?REQUEST=GetCapabilities&VERSION=1.1.0&SERVICE =WMS 51 This work is licensed under a Creative Commons Attribution 2.5 License. CC: by AECID, LatinGEO e IGN