Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propio juego de datos

Nota:

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

Unos de los problemas principales en la publicación de datos geoespaciales en la web es la dificultad que lleva la configuración de los servidores de mapas.

=Buscar los datos= Si no se tiene un juego de datos propios se pueden utilizar algunos de los datos disponibles con licencia Libre que se encuentran en la red.

MapServer Itasca Demo Application
Para comenzar necesitaremos el juego de datos libres Itasca. Tenemos una detallada explicación de donde encontrarlo y donde ponerlo en la lession Instalación de MS4W.

=Instalar la extensión de publicación para la web de gvSIG= Desde la pagina de Extensiones de gvSIG podemos descargar la Extensión de publicación. La página de descarga es la siguiente:
 * http://www.gvsig.gva.es/index.php?id=2010&L=0

El fichero en binario que instalamos para esta demostración es:
 * ftp://downloads.gvsig.org/gva/descargas/ficheros/Extensiones/gvsig-1_1_x-publishing-BN14-windows-i586.exe

También esta disponible un manual para la extensión: ftp://downloads.gvsig.org/gva/descargas/manuales/gvsig-1_1_x-publishing-man-v1-es.pdf.pdf El manual describe muy bien el proceso de instalación.

Una vez instalado podemos lanzar gvSIG.

=Crear el servicio WMS=

Antes que nada hay que crear una vista nueva con gvSIG y la llamaremos Itasca.

Entre las propiedades de la vista hay que definir su proyección y nosotros vamos a escoger la proyección geográfica EPSG:4326 (LAT/LONG).

Una vez creada la vista podemos añadir nuestros datos desde la carpeta: C:\MS4W\apps\mapserv-demo\data\ Iremos escogiendo las siguientes capas: gvSIG visualizará todos los ficheros dandole unos estilos por defecto.
 * ctyrdln3.shp
 * dlgstln2.shp
 * lakespy2.shp
 * mcdrdln3.shp

Con el tasto diestro sobre el nombre del layer desde la leyenda es posible seleccionar las preferencias y definir un estilo personalizado para nuestras capas. En este caso hemos selecionado la capa de los lagos y definido un estilo a intervals.

Una vez guardada la vista de gvSIG podemos volver a la ventana del Gestor de proyectos y seleccionar la herramienta de Pubblicación. Se puede notar en la imagen abajo como el estilo que hemos creado antes este aplicado al mapa.

Creando una nueva Pubblicación somos guiados paso a paso en el proceso de publicación en la web. El primer paso es seleccionar el servidor que tenemos disponible. En nuestro caso es un servidor de UMN Mapserver version 5.

En segundo lugar hay que definir un donde guardar el fichero de configuración. En nuestro caso un lugar util puede ser: C:\ms4w\apps\mapserv-demo\itasca-test.map

Otra pregunta importante cuando se configure un servicio en la red es aproposito de los metadatos WMS. OGC define los metadatos de los servicios para que quien utilize nuestro servidor tenga una idea decente de los datos que se acercan a descargar. Es importante por eso describir bien los metadatos.

Un paso importante es escojer las capas, disponibles en nuestra vista, que vamos a quierer visualizar. Selecionamos todas las 4 que hemos cargado.

Ya estamos a la fin, cliquando el boton publicar y esperando el mensaje de confirmación.

Comprobar el servicio creado
Como en la lessión Openlayers: configuración mínima con biblioteca en remoto hemos visto como crear una pagina web que enseñe nuestros contenidos ahora podemos hacerlo con nuestro nuevo servicio WMS.

codigo de ejemplo
para crear la pagina web necesitamos crear un nuevo fichero con un editor de texto sencillo. este fichero lo llamaremos:

C:\ms4w\apps\mapserv-demo\ol-itasca-test.html

luego hay que poner el siguiente texto en ella:

comprobar la pagina web con el mapa
una vez guardada la pagina web con el codigo añadido podemos comprobar con nuestro browser web (ex: Mozilla Firefox, Internet Explorer, ecc.) si la pagina responde como nos esperamos:


 * http://localhost:9000/mapserv-demo/ol-itasca-test.html

este es el resultado:



Todo lo que hay que notar en nuestro codigo
El codigo que hemos utilizado es de verdad muy poco pero hay que estar muy atentos a que lo que escriba sea exacto y tenga sentido.

el código Javascript personalizado
Podemos notar como la creacion del object map es muy sencilla porque no tenemos que defir la unedad de misura ni la projección porque nuestro servicio es en EPSG:4326 que es la de defecto de OpenLayers.

Ademas hay que notar como en la creación del object layer la direcion del servidor y el listado de los layer coinciden con los que hemos creado antes.

=Crear el servicio WFS= Para un funcion que normalmente requiere poner mano al texto contenido en el mapfile, gvSIG nos da una mano una vez mas.

La procedura es practicamente identica a la que seguimos para crear el servicio WMS.

Se crea una nueva publicación desde la ventana del gestor de proyectos.

El wizzard nos pregunta cual servidor utilizar y que servicio crear. El servicio seleccionado por defecto es el WMS pero tambien podemos escoger el WFS y es lo que vamos hacer.

En el paso siguiente tenemos que decir donde queremos guardar el mapfile. En nuetro caso: C:\ms4w\apps\mapserv-demo\itasca-test-wfs.map

Entonces nos toca otra vez definir los metadatos por esto recurso. Poner la atención sobre el echo que un servicio sin buena descripción no es ningun sercivio. En la selección de layers vamos poniendo todos las capas que nuestra vista ofrece. Ahora solo queda el final y gvSIG nos dirá si todo ha hido a cumplimiento.

Comprobar el servicio WFS
para comprobar el exito podemos pedir el GetCapabilities de nuestro servicio:
 * http://localhost:9000/cgi-bin/mapserv.exe?map=C%3A%5Cms4w%5Capps%5Cmapserv-demo%5Citasca-test-wfs.map&request=getCapabilities&service=WFS

mirar un momento el codigo XML resultante de nuestra llamada. Los metadatos que describen el contenido deberian describir no solo el juego de datos sino tambien cada singula capa.

=Autores=
 * Lorenzo Becchi
 * Jorge Gaspar Sanz Salinas

=Licencia=
 * la licencia por este articulo es: Creative Commons Attribution 3.0 License (http://creativecommons.org/licenses/by/3.0/deed.es).
 * esta licencia permite:
 * copiar, distribuir y comunicar públicamente la obra
 * hacer obras derivadas
 * bajo estas condiciones:
 * Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra).
 * Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
 * Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor
 * Nada en esta licencia menoscaba o restringe los derechos morales del autor.

=Referencias=

=Duración= Por esta clase se evalúa una duración de X oras