Instalación y manejo de servicios WMS con UMN MapServer (MS4W) y gvSIG

Nota:

EN: THIS IS STILL A DRAFT ES: SIGUE SIENDO UN BORRADOR

=Introducción=

Este articulo está destinado a los usuarios de MS Windows que no tienen mucha experiencia informática y desean de conocer UMN Mapserver y gvSIG. La guía procede paso a paso a la instalación del software necesario y a los primeros pasos para visualizar los datos geográficos. El protocolo elegido para la visualización de datos se conoce como WMS (Web Map Service). WMS es un estándar definido por el consorcio OGC (Open Geospatial Consortium).

Los programas escogidos son dos de los más famosos dentro del Software Libre para la Geomática (GFOSS) pero no son los únicos con lo que se podría replicar estos ejercicios con otros proyectos. Puedes consultar la pagina web de OSGeo (http://osgeo.org) para obtener una lista de otros servidores y clientes WMS.

=Instalación de MS4W=

Como servidor WMS hemos escogido UMN Mapserver, un potente servidor de mapas desarrollado por la Universidad de Minnesota. Este proyecto es uno de los pilares del GFOSS desde hace años. Para ofrecer una experiencia más sencilla al publico neófito, hemos escogido el paquete para MS Windows de UMN Mapserver. Este paquete se llama MS4W (MapServer for Windows).

Qué es MS4W
El fin de este paquete de software es ofrecer a los usuarios de MapServer de todos los niveles un entorno de trabajo sobre Windows de fácil instalación, útil para dar clases y talleres, o preparar aplicaciones pero no para un entorno de producción real. Es también un entorno para paquetes de aplicaciones que funcionan sobre MapServer. La pagina oficial de MS4W se encuentra en:
 * http://www.maptools.org/ms4w/



La comunidad de software libre para la geomática (OSGeo) está trabajando activamente en otro proyecto que incluya los paquetes más conocidos del software SIG (no sólo de componentes de servidor sino también utilidades y clientes de escritorio). Este proyecto, recién comenzado se llama OSGEO4W y su pagina principal es:
 * http://trac.osgeo.org/osgeo4w/

Descarga de MS4W
La página de descarga del paquete se encuentra directamente en el sitio web o en este enlace:
 * http://www.maptools.org/ms4w/index.phtml?page=downloads.html

Se recomienda, para este curso, la descarga de los siguientes paquetes:
 * setup.exe Installer - ms4w-2.2.9-setup.exe 19 MB
 * MapServer Itasca Demo Application - mapserv_demo_ms4w.zip 9 MB

MapServer Itasca Demo Application
Para completar la clase necesitaremos el juego de datos libres Itasca.

NOTA la versión del software puede ser ligeramente diferente. En este caso el nombre podría cambiar en su parte numérica. En general este cambio no debe dar problemas con este curso.

Procedimiento de instalación de MS4W
Una vez que tenemos el fichero ms4w-2.2.9-setup.exe en nuestro ordenador podemos lanzar el proceso de instalación con un doble clic sobre su icono.

Primera ventana: Installation Options
Aparece una pequeña ventana que nos ofrece una lista de paquetes para instalar. Los primeros tres checkbox son fundamentales para que la aplicación funcione correctamente a lo largo del curso.
 * MS4W base files
 * Specify Apache Port
 * Install and start Apache Service

Una vez seleccionados se puede clicar sobre el botón Next.



Segunda ventana: Installation Folder
La segunda ventana de configuración indica el camino a la carpeta de instalación. El instalador ofrece por defecto C:\Program Files (o C:\Archivos de programa) pero resulta más conveniente indicar C:\ para la compatibilidad con otros paquetes MS4W más antiguos. Si ponemos C:\ el instalador creará una carpeta C:\MS4W con todos los ficheros. Una vez configurado se puede clicar sobre el botón Next.

Tercera ventana: Apache Port
El puerto del servidor web Apache ha de ser definida con criterio. Algunos técnicos están acostumbrados a utilizar un servidor web en su entorno de trabajo y añadir otro (como el incluido en MS4W) puede provocar problemas. Para estar más tranquilos vamos a escoger un puerto generalmente libre, el 9000. Una vez configurado, clicar sobre el botón Install.



Cuarta ventana: Completed
El instalador si no se produjeron problemas durante el proceso acaba con este mensaje:



Procedimiento de instalación del juego de datos Itasca
Una vez bajado el fichero podemos proceder a su instalación. Como MS4W no tiene un verdadero instalador sino que realmente copia los ficheros en una carpeta (para nosotros C:\MS4W), sus módulos necesitan sólo ser copiados en el lugar apropiado dentro su estructura.

Con un doble clic sobre el fichero comprimido de Itasca (mapserv_demo_ms4w.zip</tt>) se visualiza su contenido.



Se selecciona la carpeta ms4w</tt>, se copia (ctrl+c) y se pega en la carpeta C:\</tt>. Debes confirmar la sobre escritura para todos los ficheros (Yes to all o Sí a todos)



Para estar seguro de que la instalación del paquete se ha producido con éxito se tiene que reiniciar el servidor web. El en menú de inicio de Windows, se busca la carpeta MS4W, luego Apache y en fin el comando MS4W-Apache-restart.



= Configuración del servidor WMS=

Para este curso, el proceso de configuración del servidor WMS consistirá en:


 * comprobar el fichero map de configuración de MapServer
 * mostrar con el navegador web las llamadas fundamentales al servidor
 * getCapabilities
 * getMap
 * getLegend

Comprobando la instalación de MS4W
Después de la instalación de MS4W podemos comprobar su efectividad mirando la dirección web que le hemos asignado. Para eso abrimos un navegador web' (p.ej. Mozilla Firefox, Iternet Explorer, Opera'', etc.) y teclearemos esta dirección:
 * http://localhost:9000



En definitiva esta es la página que deberíamos encontrar:



Comprobando el servicio WMS
Con la instalación de MS4W tenemos MapServer y sus capacidades de servidor WMS en nuestro ordenador. El paquete Itasca nos ofrece los datos para evaluar si servidor WMS funciona correctamente. Ahora es el momento de comprobar si el servidor WMS contesta como esperamos.

WMS es un estándar para la comunicación de Información Geográfica entre sistemas informáticos. Por eso tiene unas llamadas muy definidas y utiliza URLs (direcciones web) para pasar todos los parámetros que se necesiten para obtener la respuesta deseada.

Las tres llamadas más usadas son:
 * getCapabilities
 * getMap
 * GetLegendGraphic

getCapabilities
Esta llamada nos ofrece las descripción general de lo que ofrece el servidor. La página que debes visitar es:
 * http://localhost:9000/cgi-bin/mapserv.exe?service=WMS&request=getCapabilities&map=/ms4w/apps/mapserv-demo/itasca.map&version=1.0.0



Hay muchas cosas a destacar:
 * la dirección que hemos puesto esta compuesta por:
 * la dirección de servidor UMN Mapserver:  http://localhost:9000/cgi-bin/mapserv.exe? </tt>
 * el parámetro que indica qué queremos el servicio WMS: service=WMS</tt>
 * el parámetro que define qué tipo de respuesta necesitamos: &request=getCapabilities</tt>
 * el parámetro que especifica qué fichero de mapas queremos que el servidor utilice: &map=/ms4w/apps/mapserv-demo/itasca.map</tt>
 * el parámetro que indica la versión del servicio: &version=1.0.0</tt>
 * el servidor nos contesta con un fichero XML con la descripción del los juegos de datos ofrecidos por el servidor según el estándar OGC WMS.

getMap
La llamada mas utilizada, una vez que se sabe que capa quieremos es el getMap. Esta llamada devuelve una imagen con la mapa deseada.
 * http://localhost:9000/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/itasca.map&&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=drgs&SRS=EPSG:4326&BBOX=-94.4981,46.9722,-92.988,47.9455&WIDTH=551&HEIGHT=356&FORMAT=image/png&STYLES=default&TRANSPARENT=TRUE

GetLegendGraphic
Muchos clientes de mapas manejan también las leyendas. Por eso un servidor de mapas bien configurado devuelve también la legenda de una capa respondendo alla llamada GetLegendGraphic.
 * http://localhost:9000/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/itasca.map&REQUEST=GetLegendGraphic&SERVICE=WMS&VERSION=1.1.1&LAYER=drgs&FORMAT=image/png

Comprobar el Mapfile
Los Mapfiles son los ficheros que describen la configuración del servidor de mapas para UMN Mapserver. La instalacion por defecto del paquete Itasca Demo pone un Mapfile cuasi completo a lo que faltan un par de cambios para funcionar perfectamente.

Se necesita de un editor de texto, es: Notepad++ es un editor de texto que es Software Libre y que nos ofrece todo lo que necesitamos en nuestras clases.
 * http://notepad-plus.sourceforge.net/es/site.htm

NOTA: es importante que el editor de texto no sea Word o otros editores que utilizan testo enriquecido. Cualquier editor de texto sencillo estará bien.

abrir el Mapfile
Con el editor abrir el fichero de mapa: C:\ms4w\apps\mapserv-demo\itasca.map

PROJECTION
en la linea 13 cambiar: #  # Projection definition, consult the PROJ.4 documentation for parameter discussion #  # PROJECTION #  "proj=utm" #  "ellps=GRS80" # "zone=15" #  "north" # "no_defs" #  #   OR: #  #   "init=epsg:26915" # END

por: #  # Projection definition, consult the PROJ.4 documentation for parameter discussion #   PROJECTION #  "proj=utm" #  "ellps=GRS80" # "zone=15" #  "north" # "no_defs" #  #   OR: "init=epsg:26915" END

NOTA: en el Mapfile el caracter # significa el comentario. Mapserver nunca lee y interpreta el texto que sigue un #.

WMS_ONLINERESOURCE
el la linea 76: WMS_ONLINERESOURCE "http://127.0.0.1/mapserv-demo/index.html"
 * 1) change this value to match your setup

cambiar con: WMS_ONLINERESOURCE "http://localhost:9000/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/itasca.map"
 * 1) change this value to match your setup

=Instalación gvSIG=

que es gvSIG
Desde el sitio oficial:

"gvSIG es una herramienta orientada al manejo de información geográfica. Se caracteriza por una interfaz amigable, siendo capaz de acceder a los formatos más usuales de forma ágil tanto ráster como vectoriales. Integra en una vista datos tanto locales como remotos a través de un origen WMS, WCS o WFS.

Está orientada a usuarios finales de información de naturaleza geográfica, sean profesionales o de administraciones públicas (ayuntamientos, diputaciones, consejerías o ministerios) de cualquier parte del mundo (actualmente dispone de interfaz en castellano, valenciano, inglés, alemán, checo, chino, euskera, gallego, francés, italiano, polaco, portugués y rumano ), siendo, además, gratuita.

Dada su naturaleza de software libre (open source) pensamos que es de gran interés para la comunidad internacional de desarrolladores y, en concreto, para los ambientes universitarios por su componente I+D+I. De hecho se ha hecho un especial hincapié en la extensibilidad del proyecto de forma que los posibles desarrolladores puedan ampliar las funcionalidades de la aplicación fácilmente, así como desarrollar aplicaciones totalmente nuevas a partir de las librerías utilizadas en gvSIG (siempre y cuando cumplan la licencia GPL)."

La pagina principal es esta:
 * http://www.gvsig.gva.es



descarga de gvSIG
Desde la pagina principal vamos a buscar la pagina de descarga de gvSIG Desktop:
 * http://www.gvsig.gva.es/index.php?id=1729&L=0&K=1

Para no tener problemas, es importante descargar la versión estable con prerrequisitos de instalación:



notar que al lado del fichero de instalación se pueden encontrar los manuales en ingles y castellano.

procedura de instalación de gvSIG
A la primera pregunta si quieremos installar gvSIG, contestamos Yes.



Contestar Yes también a la pregunta sobre los componentes adicionales.

Instalar JAI


Confirmar los pedidos de la licencia (si os gusta) y la carpeta de instalacion.



en fin gvSIG
Seleccionar el idioma.



Una mirada a las informaciones del programa de instalacion. Notar los requisitos mínimos de sistema.

Leer atentamente la licencia. Se puede notar como gvSIG tenga la licencia GPL, la misma del Linux. Leerla no cuesta mucho tiempo y se aprende algo interesante sobre como funciona el software libre.

La seleccion de paquetes permite limitar el espacio utilizado en el disco. nosotros vamos a instalarlos todos.

confirmar la carpeta de instalación

y al fin se copian los ficheros y se confirma la instalación.



=MS4W y gvSIG=
 * utilizar las capas de servidor WMS con gvSIG

Abrir gvSIG
Para abrir gvSIG hacemos un doble click sobre el icono del programa.

Crear una Vista
Para crear una vista recien abierto gvSIG, solo hay que cliquear sobre Nuevo. Si el boton no esta activo, comprobar haber seleccionado el icono Vista. Hay que dar un nombre a la vista y escogemos test WMS. Una vez confirmado se abre la ventanilla de la vista.

Añadir una capa WMS


Para añadir una nueva capa hay que cliquear sobre el botón o seguir en el menú Vista -> Añadir Capa.

En la ventana que se abre hay que escoger la pestaña del WMS y pegar el link al nuestro servidor en el campo Servidor. La nuestra URL es:
 * http://localhost:9000/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/itasca.map

Si todo ha ido bien, una vez que cliqueamos sobre Conectar aparecerá en el campo Descripcion la escrita: This is a UMN MapServer application for Itasca County located in north central Minnesota.

Ademas encontraremos la version del servidor a la voz tipo del servidor el la parte baja de la ventana.

Una vez que hemos cliqueado sobre Siguiente nos aparece la pestaña de las informaciones de nuestro servidor WMS: podemos notar los varios datos (mejor dicho Metadatos) que nos dicen como se llama el servidor y que servicio ofrece.

La siguiente pestaña es la de las Capas. Doble click sobre una de las capas (seleccionamos: USGS 1:250,000 Digital Raster Graphic) para añadirla a las capas que queremos visualizar.

Selecionando Siguiente llegamos a la pestaña de los Estilos. En este caso no tenemos nada que seleccionar porque hay solo un estilo disponible.

La ultima pestaña nos pide los Formatos. Antes que cliquear sobre Aceptar hay que seleccionar un Formato (que en nuestro caso es image/png) y una proyeccion (ex: EPSG:4326).

en fin podemos Aceptar nuestra seleccion y mirar la capa cargada desde el servidor WMS.

Curiosidad
si queremos sacar el fondo gris al layer Country Borders hay que cambiar en el Mapfile en las lineas 166-169:

STYLE OUTLINECOLOR 128 128 128 COLOR 225 225 185 END

con STYLE OUTLINECOLOR 128 128 128 #COLOR 225 225 185 END

=Autores=
 * Lorenzo Becchi
 * Jorge Gaspar Sanz Salinas