Difference between revisions of "Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propio juego de datos"

From OSGeo
Jump to navigation Jump to search
Line 15: Line 15:
  
 
=Instalar la extensión de publicación para la web de gvSIG=
 
=Instalar la extensión de publicación para la web de gvSIG=
Desde la [http://www.gvsig.gva.es/index.php?id=1803&L=0 pagina de Extensiones] de gvSIG podemos descargar la '''Extensión de publicación'''.<br>
+
 
 +
Desde la [http://www.gvsig.gva.es/index.php?id=1803&L=0 página de Extensiones] de gvSIG podemos descargar la '''Extensión de publicación'''.
 +
 
 
La página de descarga es la siguiente:
 
La página de descarga es la siguiente:
 +
 
* http://www.gvsig.gva.es/index.php?id=2010&L=0
 
* http://www.gvsig.gva.es/index.php?id=2010&L=0
  
 
El fichero en binario que instalamos para esta demostración es:
 
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
+
* http://downloads.gvsig.org/gva/descargas/ficheros/Extensiones/gvsig-1_1_x-publishing-BN14-windows-i586.exe
 +
 
 +
También está disponible un manual para la extensión:
  
También esta disponible un manual para la extensión:
+
* http://downloads.gvsig.org/gva/descargas/manuales/gvsig-1_1_x-publishing-man-v1-es.pdf.pdf
ftp://downloads.gvsig.org/gva/descargas/manuales/gvsig-1_1_x-publishing-man-v1-es.pdf.pdf <br>
 
El manual describe muy bien el proceso de instalación.
 
  
Una vez instalado podemos lanzar gvSIG.
+
El manual describe muy bien el proceso de instalación. Una vez instalado podemos lanzar gvSIG y proseguir con la lección.
  
 
=Crear el servicio WMS=
 
=Crear el servicio WMS=

Revision as of 12:40, 10 April 2009

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 dónde encontrarlo y cómo configurarlo en la lección Instalación de MS4W.

Instalar la extensión de publicación para la web de gvSIG

Desde la página de Extensiones de gvSIG podemos descargar la Extensión de publicación.

La página de descarga es la siguiente:

El fichero en binario que instalamos para esta demostración es:

También está disponible un manual para la extensión:

El manual describe muy bien el proceso de instalación. Una vez instalado podemos lanzar gvSIG y proseguir con la lección.

Crear el servicio WMS

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

Crear una vista nueva con gvSIG

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).

Definición de la proyección de nuestra vista

Una vez creada la vista podemos añadir nuestros datos desde la carpeta:

C:\MS4W\apps\mapserv-demo\data\

Iremos escogiendo las siguientes capas:

  • ctyrdln3.shp
  • dlgstln2.shp
  • lakespy2.shp
  • mcdrdln3.shp

gvSIG visualizará todos los ficheros dandole unos estilos por defecto.

gvSIG visualizando los datos de Itasca

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.

Creando un estilo de vestición con gvSIG

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.

Visualizando la herramienta de pubblicación y el mapa con el nuevo estilo de vestición

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.

Definiendo la ubicacion del UMN Mapserver

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
Definiendo la ubicacion del mapfile para nuestro servicio

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.

Definiendo los Metadatos del servicio WMS

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

Seleccionando las capas por publicar

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

El mapfile ha sido guardado donde requerido y el servicio WFS esta a disposició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:

 <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <style type="text/css">
        #map {
            width: 512px;
            height: 512px;
            border: 1px solid black;
        }
    </style>
    <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
    <script type="text/javascript">
        
        var map, layer;
 
        function init(){
            map = new OpenLayers.Map( 'map',{
 					maxExtent: new OpenLayers.Bounds(378107,5193120,510896,5320243),
 					maxResolution: 'auto',} 
 				);
            
            layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
                    "http://localhost:9000/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/itasca-test.map", {layers: 'ctyrdln3.shp,dlgstln2.shp,lakespy2.shp,mcdrdln3.shp'} );
                    
                    
            map.addLayers([layer]);
 
            map.zoomToMaxExtent();
        }
    </script>
   </head>
   <body onload="init()">

         <b>Ejemplo de WMS</b>
   
     <div>
          El uso basico de Openlayers con un layer WMS
     </div>
   
     <div id="map"></div>
   
     <div id="docs">
         mas texto aquì
     </div>
   </body>
  </html>

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:

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.

           map = new OpenLayers.Map( 'map',{
					maxExtent: new OpenLayers.Bounds(378107,5193120,510896,5320243),
					maxResolution: 'auto',} 
				);
           
           layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
                   "http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/itasca-test.map",
                  {layers: 'ctyrdln3.shp,dlgstln2.shp,lakespy2.shp,mcdrdln3.shp'} );
                   
				);

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.

Seleccionando el servidor y el servicio WFS

En el paso siguiente tenemos que decir donde queremos guardar el mapfile. En nuetro caso:

C:\ms4w\apps\mapserv-demo\itasca-test-wfs.map
Especificando el recorrido del Mapfile

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.

Definiendo los metadatos del servicio WFS

En la selección de layers vamos poniendo todos las capas que nuestra vista ofrece.

Añadiendo las capas al servicio WFS

Ahora solo queda el final y gvSIG nos dirá si todo ha hido a cumplimiento.

El mensaje de confirmación que el servicio WFS se ha creado

Comprobar el servicio WFS

para comprobar el exito podemos pedir el GetCapabilities de nuestro servicio:

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

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