CURSO SOBRE SERVIDORES DE MAPAS Y VISORES CARTOGRÁFICOS PARA DESARROLLO DE ATLAS
Módulo 1. Introducción a los servicios de mapas OGC: Introducción a servidores y a servicios OGC
Introducción a los servidores de mapas Open Source
En ingeniería de software servidor es un término polisémico, que puede hacer referencia a las máquinas especializadas en ejecutar aplicaciones servidoras que ofrecen servicios a otras máquinas bajo petición, así como también puede hacer referencia a programas especializados en realizar tareas bajo demanda de otros programas y servir de vuelta el resultado de dichas operaciones.
Por otro lado el cliente también es considerado un término polisémico que hacer referencia a las máquinas que ejecutan aplicaciones cliente que se conectan a máquinas servidoras donde se ejecutan programas servidores que les proporcionan servicios o programas que tienen la capacidad de conectarse a programas servidores para demandarles servicios (información, procesamiento de datos, etc.) y recibir el resultado de sus procesos.
Una arquitectura cliente-servidor no implica una separación física en máquinas diferentes del programa cliente y el programa servidor, aunque con frecuencia sea así. Los programas clientes se conectan a los programas servidores, hacen una petición de servicio, la gestionan y devuelven el resultado, proporcionando ventajas notables como: Reutilización: los servidores pueden ser utilizados por muchos clientes diferentes,
siempre que sepan éstos como realizar las peticiones, gracias a un protocolo de comunicación conocido tanto por el cliente como por el servidor.
Encapsulamiento: los clientes realizan sus peticiones y reciben la información de los servidores según un protocolo que deben conocer, pero más allá de eso, no tiene por qué saber nada de cómo realiza su tarea el servidor.
Existe primero un mecanismo de transmisión y recepción de datos, que es lo más pegado al hardware de la máquina. Los más utilizados son TCP y UDP.
Para el mecanismo de transmisión y recepción de datos se encuentra el protocolo de comunicación genérica, que existen muchos y con muchísimas características propias y distintas. Ejemplos de estos protocolos son el HTTP, el FTP, el SSH o Telnet.
En el protocolo de comunicación se establece un protocolo de aplicación, que debe ser conocido tanto por la aplicación servidora como por la aplicación cliente. Este protocolo se utiliza para realizar peticiones a un servicio concreto y transmitir los resultados de forma que la aplicación cliente pueda interpretarlos. Por ejemplo, WMS, WFS o SOAP son protocolos de aplicaciones.
Las aplicaciones servidoras, típicamente, escuchan en lo que se denomina un puerto TCP de la máquina en la que residen. Las aplicaciones clientes se conectan al puerto TCP de la aplicación servidora, realizan su petición y esperan la respuesta. Por ejemplo, el puerto más utilizado, el de los servidores web, es el puerto 80.
Estándares OGC (Open Geospatial Consortium)
El OGC define estándares de intercambio y publicación de datos geográficos en entornos distribuidos cliente - servidor.
WFS (Web Feature Service): estándar de transmisión de datos vectoriales. El servidor sirve la información geográfica en forma de vectores.
WCS (Web Coverage Service): estándar de transmisión de datos raster. El servidor sirve la información geográfica en formato raster.
WMS (Web Map Service): estándar que usualmente se apoya en los dos anteriores. El servidor sirve cartografía ya diseñada semiológicamente a partir de información de partida vectorial o raster en forma de imagen (JPEG, PNG, TIFF, etc.).
Módulo 2. Introducción a MapServer: Instalación en Windows. Arquitectura de base. Filosofía de trabajo con MapServer. Estructura básica de un servicio. Sintaxis básica del fichero MapFile (map).MapServer.
Es una aplicación servidora de servicios cartográficos que puede comportarse según los estándares OGC, pero no necesariamente. Y se ejecuta dentro de un servidor web Apache como programa CGI. Además, genera cartografía a partir de archivos de
configuración .map y datos geográficos (shapes, GeoTIFF, bases de datos geográficas como PostGIS u Oracle Locator / Spatial, etc.) en formato de imagen. De manera que el cliente (aplicaciones web o de escritorio) hace peticiones al servidor y recibe las imágenes.
Aplicaciones de WMS
1. WMS: Acceso desde Quantum GIS
Es necesario instalar Quantum GIS 1.6.0 Copiapó, para establecer la conexión al servidor WMS, e introducir los datos del servidor al que se quiere conectar, mediante un nombre identificativo y la URL, que es la raíz del servicio.
2. WMS: Acceso desde ArcGIS
En GIS Servers, seleccionamos Add WMS Server e introducimos la raíz del WMS, utilizando la herramienta Get Layers se cargarán las capas del WMS, pudiendo seleccionar la que se requiera, además en la parte derecha aparecerán los metadatos de la capa.
3. WMS: Acceso directo
Se usó como ejemplo el servicio WMS de la REDIAM gestionando la petición y adquisición de la imagen. Obteniendo el siguiente esquema:
Métodos en WMS
1. El GetCapabilities:
Es el método que poseen todos los servicios WMS que proporciona una descripción de sí mismo y la información que contiene. El servicio es llamado con su raíz y a su método GetCapabilities a través del protocolo HTTP (protocolo seguido por, por ejemplo, los exploradores de Internet), igual al trabajo en una página web.
El formato de entrega es un XML con toda la información acerca del servicio y cómo adquirir la información que contiene.
2. El GetMap y el GetFeatureInfo GetMap:
Método que poseen todos los servicios WMS que proporciona un mapa en forma de imagen, se llama al servicio con su raíz y a su método GetMap a través del protocolo HTTP.
Anatomía de la petición GetMap
● Raíz del servicio WMS: http://www.ideandalucia.es/wms/ortofoto2007? ● Servicio requerido, versión y request del servidor
● Sistema de coordenadas requerido y Bounding Box de visualización ● Parámetros de la imagen (Tamaño, format, transparencia)
● Capas requeridas (la capa que se debe hacer el mapa): LAYERS=oca10_2007 Notas importantes:
Diseño por default
Codificación de la imagen PNG2 4
Sistema de Referencia de Coordenadas WGS84 (sistema de referencia geográfica)
WMS: El GetFeatureInfo GetFeatureInfo:
Es el Método que poseen los servicios WMS que proporciona una información sobre un punto de una capa que sirve. Se pide llamando al servicio con su raíz y a su método GetFeatureInfo a través del protocolo HTTP. La petición requiere especificar un mapa, como en el caso del método GetMap, con la salvedad de que hay que especificar de qué capa se quiere recibir la información (QUERY_LAYERS) y la coordenada en píxeles de la imagen sobre la que se quiere consultar (X e Y);
El formato de entrega es variable, aunque suele funcionar normalmente en las aplicaciones web como una redirección a una página web con la información. Se realizó un ejemplo para obtener el mapa del catastro de España.
Instalación de MapServer en Windows: stack tecnológico y tool chain
Se instalaron programas necesarios como el Notepad ++ para la edición de los ficheros de configuración y el bundle ms4w, versión 3.0.2., despliegue en Windows que instala Apache con MapServer, junto con un buen número de librerías e información adicional interesante.
El stack tecnológico resulta en:
Servidor: Apache con PHP y MapServer, apoyado por múltiples librerías geomáticas Open Source como GDAL, OGR, GEOS y Proj4. Sobre este Apache se pueden utilizar frameworks PHP como CodeIgniter.
Cliente: aplicación web visible en un navegador y construida con HTML, CSS y JavaScript. Con todo ello funciona OpenLayers, que es un visor 100% JavaScript. También están los clientes SIG Desktop pesados como Quantum.
La tool chain es:
SIG Desktop: ArcGIS o Quantum para editar y preparar los shapes y los raster, tanto a nivel alfanumérico como geométrico.
Notepad++: para editar los ficheros .map y la aplicación web. Quantum GIS: para hacer pruebas del servicio WMS.
Explorador web: para probar la aplicación web. MapServer: Ficheros .map
Los ficheros con extensión .map, son el núcleo de la configuración de los servicios de MapServer, son ficheros de texto plano, y no son XML. Hay que prestar mucha atención al encoding de dicho fichero según se vaya a trabajar en Windows o Linux, especialmente en ambientes de desarrollo – despliegue, mixtos.
En los ficheros .map:
se definen los datos que sirve el servidor cartográfico; se define la semiología de dichos datos;
se definen los metadatos que describen los servicios. Los .map:
Son configurados inicialmente a la manera de MapServer (no OGC) y pueden ser modificados posteriormente para ser compatibles con los estándares WMS y WFS del OGC.
Los pasos detallados de cada instalación, se encuentran en Anexo 4.
Ejemplos y Ejercicios
Durante el curso de impartieron los siguientes ejemplos y su desarrollo se encuentra en Anexo 5:
Ejemplo 1: Configuración de una capa vectorial
Ejemplo 2: Configuración de dos capas vectoriales como WMS Ejemplo 3: Configuración del GetFeatureInfo
Ejemplo 4: Múltiples proyecciones en un .map Ejemplo 5: Clasificaciones temáticas
Ejemplo 6: Simbología avanzada Ejemplo 7: Etiquetas de toponímia Ejemplo 8: Capas raster
Ejemplo 9: Capas WMS en cascada
Módulo 3. Arquitecturas centralizadas y descentralizadas