crear servicios wms y wfs con ms4w y gvsig utilizando nuestro propio juego de datos - osgeo wiki

11
29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi« 1/11 «osgeo.org/«/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti« Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propio juego de datos From OSGeo Wiki Unos de los problemas principales en la publicaciyn de datos geoespaciales en la web es la dificultad que lleva la configuraciyn de los servidores de mapas. Contents 1 Buscar los datos 1.1 MapServer Itasca Demo Application 2 Instalar la extensiyn de publicaciyn para la web de gvSIG 3 Crear el servicio WMS 3.1 Comprobar el servicio creado 3.1.1 Cydigo de ejemplo 3.1.2 Comprobar la página web con el mapa 3.1.3 Todo lo que hay que notar en nuestro cydigo 3.1.3.1 El cydigo JavaScript personalizado 4 Crear el servicio WFS 4.1 Comprobar el servicio WFS 5 Autores 6 Licencia 7 Referencias 8 Duraciyn 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. MapSerYer Itasca Demo Application Para comenzar necesitaremos el juego de datos libres IWaVca. Tenemos una detallada explicaciyn de dynde encontrarlo y cymo configurarlo en la lecciyn Instalaciyn de MS4W. Instalar la extensiyn de publicaciyn para la web de gvSIG Desde la página de Extensiones (http://www.gvsig.gva.es/index.php?id=1803&L=0) de gvSIG podemos descargar la Extensiyn de publicaciyn . La página de descarga es la siguiente:

Upload: johny-cabrera

Post on 28-Jul-2015

309 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

1/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

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

From OSGeo Wiki

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

Contents

1 Buscar los datos1.1 MapServer Itasca Demo Application

2 Instalar la extensión de publicación para la web de gvSIG3 Crear el servicio WMS

3.1 Comprobar el servicio creado3.1.1 Código de ejemplo3.1.2 Comprobar la página web con el mapa3.1.3 Todo lo que hay que notar en nuestro código

3.1.3.1 El código JavaScript personalizado4 Crear el servicio WFS

4.1 Comprobar el servicio WFS5 Autores6 Licencia7 Referencias8 Duración

Buscar los datos

Si no se tiene un juego de datos propios se pueden utilizar algunos de los datos disponibles con licenciaLibre 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óndeencontrarlo y cómo configurarlo en la lección Instalación de MS4W.

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

Desde la página de Extensiones (http://www.gvsig.gva.es/index.php?id=1803&L=0) de gvSIG podemosdescargar la Extensión de publicación.

La página de descarga es la siguiente:

Page 2: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

2/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

http://www.gvsig.gva.es/index.php?id=2010&L=0

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

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:

http://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 y proseguircon 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 denuestro juego de datos que, en el caso de Itasca, es EPSG:26915.

Page 3: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

3/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

Definición de la proyección de nuestra vista

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

C : \ M S 4 W \ a p p s \ m a p s e r v - d e m o \ d a t a \

Iremos escogiendo las siguientes capas:

c t y r d l n 3 . s h p

d l g s t l n 2 . s h p

l a k e s p y 2 . s h p

m c d r d l n 3 . s h p

gvSIG visualizará todos los ficheros dándole unos estilos por defecto.

gvSIG visualizando los datos de Itasca

Con el botón derecho sobre el nombre de la capa desde la leyenda es posible seleccionar las preferencias ydefinir un estilo personalizado para nuestras capas. En este caso hemos seleccionado la capa de los lagos ydefinido un estilo en intervalos.

Creando un estilo de visualización con gvSIG

Page 4: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

4/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

Una vez guardada la vista de gvSIG podemos volver a la ventana del Gestor de proyectos y seleccionar laherramienta de Publicación. Se puede ver en la siguiente imagen como el estilo que hemos creado antes seaplica al mapa.

Visualizando la herramienta de publicación y el mapacon el nuevo estilo de visualización

Creando una nueva Publicación somos guiados paso a paso en el proceso de publicación en la webmediante un asistente. El primer paso es seleccionar el servidor que tenemos disponible. En nuestro caso esun servidor UMN Mapserver versión 5.

Definiendo la ubicación de UMN Mapserver

En segundo lugar hay que definir el lugar en el que guardar el fichero de configuración (mapfile). En nuestrocaso un lugar útil puede ser:

C : \ m s 4 w \ a p p s \ m a p s e r v - d e m o \ i t a s c a - w m s . m a p

Definiendo la ubicación del mapfile para nuestroservicio

Otra pregunta importante cuando se configure un servicio en la red es a propósito de los metadatos WMS.

Page 5: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

5/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

OGC define los metadatos de los servicios para que quien utilice nuestro servidor tenga una idea adecuadade 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 escoger las capas, disponibles en nuestra vista, que vamos a querer visualizar.Seleccionamos las 4 que hemos cargado.

Seleccionando las capas a publicar

Ya estamos acabando, pulsando el botón publicar, esperamos el mensaje de confirmación.

El mapfile ha sido guardado en el lugar requerido y elservicio WMS está disponible

El ultimo paso que tenemos que dar es editar a mano el Mapfile y añadir la proyección geograficaEPSG:4326 (LAT/LONG) a las ofrecida por nuestro servidor WMS. En la linea 25 de nuestro Mafilecambiamos:

" w m s _ s r s " " E P S G : 2 6 9 1 5 "

con

Page 6: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

6/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

" w m s _ s r s " " E P S G : 2 6 9 1 5 E P S G : 4 3 2 6 "

Este cambio hace que Mapserver pueda servir nuestros datos en dos diferente sistemas de proyección. Es elMapserver mismo que se encarga de re-proyectar los datos.

Comprobar el servicio creado

Como en la lección Openlayers: configuración mínima con biblioteca en remoto hemos visto cómo crear unapagina web que enseñe nuestros contenidos ahora podemos hacerlo con nuestro nuevo servicio WMS.

Código de ejemplo

para crear la página web necesitamos crear un nuevo fichero con un editor de texto sencillo. este fichero lollamaremos:

C : \ m s 4 w \ a p p s \ m a p s e r v - d e m o \ o l - i t a s c a - w m s . h t m l

luego hay que poner el siguiente texto en ella:

< h t m l x m l n s = " h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l " >

< h e a d >

< s t y l e t y p e = " t e x t / c s s " >

# m a p {

w i d t h : 5 1 2 p x ;

h e i g h t : 5 1 2 p x ;

b o r d e r : 1 p x s o l i d b l a c k ;

}

< / s t y l e >

< s c r i p t s r c = " h t t p : / / w w w . o p e n l a y e r s . o r g / a p i / O p e n L a y e r s . j s " > < / s c r i p t >

< s c r i p t t y p e = " t e x t / j a v a s c r i p t " >

v a r m a p , l a y e r ;

f u n c t i o n i n i t ( ) {

m a p = n e w O p e n L a y e r s . M a p ( ' m a p ' , {

m a x E x t e n t : n e w O p e n L a y e r s . B o u n d s ( - 9 4 . 4 2 8 , 4 7 . 0 1 6 9 , - 9 3 . 0 5 5 7 , 4 7 . 9 0 1 7 ) ,

m a x R e s o l u t i o n : ' a u t o ' , }

) ;

l a y e r = n e w O p e n L a y e r s . L a y e r . W M S ( " O p e n L a y e r s W M S " ,

" h t t p : / / l o c a l h o s t : 9 0 0 0 / c g i - b i n / m a p s e r v . e x e ? m a p = / m s 4 w / a p p s / m a p s e r v - d e m o / i t a s c a - w m s . m a p " , { l a y e r s : ' c t y r d l n 3 . s h p , d l g s t l n 2 . s h p , l a k e s p y 2 . s h p , m c d r d l n 3 . s h p ' } ) ;

m a p . a d d L a y e r s ( [ l a y e r ] ) ;

m a p . z o o m T o M a x E x t e n t ( ) ;

}

< / s c r i p t >

< / h e a d >

< b o d y o n l o a d = " i n i t ( ) " >

< b > E j e m p l o d e W M S < / b >

< d i v >

E l u s o b á s i c o d e O p e n L a y e r s c o n u n a c a p a W M S

< / d i v >

< d i v i d = " m a p " > < / d i v >

< d i v i d = " d o c s " >

m á s t e x t o a q u í

< / d i v >

< / b o d y >

< / h t m l >

Comprobar la página web con el mapa

Una vez guardada la página web con el código anterior podemos comprobar con nuestro navegador web

Page 7: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

7/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

(p.ej. Mozilla Firefox, Internet Explorer, etc.) si la página responde como esperamos:

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

Este es el resultado:

Publicación de nuestro servicio WMS

Todo lo que hay que notar en nuestro código

El código que hemos utilizado es sencillo pero hay que estar muy atentos a que lo que escriba sea exacto ytenga sentido.

El código JavaScript personalizado

Podemos notar como la creación del objeto map es muy sencilla porque no tenemos que definir la unidad demedida ni la proyección porque nuestro servicio es en EPSG:4326 que es la usada por defecto enOpenLayers. La definición de la Extent es en coordenadas geográficas (-94.428,47.0169,-93.0557,47.9017)y non en EPSG:26915 NAD83/UTMzone15N (378107,5193120,510896,5320243) que es la proyecciónoriginaria de los datos.

Además hay que notar como en la creación del objeto layer la direción del servidor y el listado de las capascoinciden con las que hemos creado antes.

m a p = n e w O p e n L a y e r s . M a p ( ' m a p ' , {

m a x E x t e n t : n e w O p e n L a y e r s . B o u n d s ( - 9 4 . 4 2 8 , 4 7 . 0 1 6 9 , - 9 3 . 0 5 5 7 , 4 7 . 9 0 1 7 ) ,

m a x R e s o l u t i o n : ' a u t o ' , }

) ;

l a y e r = n e w O p e n L a y e r s . L a y e r . W M S ( " O p e n L a y e r s W M S " ,

" h t t p : / / l o c a l h o s t : 9 0 0 0 / c g i - b i n / m a p s e r v . e x e ? m a p = / m s 4 w / a p p s / m a p s e r v - d e m o / i t a s c a - w m s . m a p " ,

{ l a y e r s : ' c t y r d l n 3 . s h p , d l g s t l n 2 . s h p , l a k e s p y 2 . s h p , m c d r d l n 3 . s h p ' } ) ;

) ;

Crear el servicio WFS

Para un función que normalmente requiere meterle mano al texto contenido en el mapfile, gvSIG nos ayudauna vez más.

El procedimiento es prácticamente igual al que seguimos para crear el servicio WMS.

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

El asistente nos pregunta qué servidor utilizar y qué servicio crear. El servicio seleccionado por defecto es

Page 8: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

8/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

el WMS pero también podemos escoger el WFS, que es precisamente lo que vamos a hacer.

Seleccionando el servidor y el servicio WFS

En el paso siguiente tenemos que decir dónde queremos guardar el mapfile. En nuetro caso:

C : \ m s 4 w \ a p p s \ m a p s e r v - d e m o \ i t a s c a - t e s t - w f s . m a p

Especificando la ubicación del mapfile

Ahora nos toca otra vez definir los metadatos para este recurso. Hay que poner atención sobre el hecho deque un servicio sin buena descripción no es un buen servicio.

Definiendo los metadatos del servicio WFS

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

Page 9: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

9/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

Añadiendo las capas al servicio WFS

Ahora sólo queda el último paso y gvSIG nos dirá si todo ha ido correctamente.

Mensaje de confirmación de que el servicio WFS se hacreado

El ultimo paso que tenemos que realizar es editar a mano el Mapfile, modificar

P R O J E C T I O N

" i n i t = e p s g : 2 6 9 1 5 "

por

P R O J E C T I O N

" i n i t = e p s g : 4 3 2 6 "

Comprobar el servicio WFS

Para comprobar si todo ha ido bien podemos pedir el G e t C a p a b i l i t i e s 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

Echad un vistazo un momento al código XML resultante de nuestra llamada. Los metadatos que describen elcontenido deberían describir no sólo el juego de datos sino también cada capa por separado.

Page 10: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

10/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

El output del GetCapabilities

Otro test posible es el pedido de una Feature con la dirección:

http://localhost:9000/cgi-bin/mapserv.exe?map=C%3A%5Cms4w%5Capps%5Cmapserv-demo%5Citasca-test-wfs.map&typename=lakespy2.shp&maxfeatures=200&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=-95.19268076923078,46.57485,-92.29101923076922,48.343050000000005

el codigo resultante es el listado de todas las geometrias disponibles por esta capa limitando el output a 200features (maxfeatures).

Autores

Lorenzo BecchiJorge 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 obrahacer obras derivadas

bajo estas condiciones:Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor oel licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace desu obra).Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de estaobra.Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechosde autorNada en esta licencia menoscaba o restringe los derechos morales del autor.

Referencias

Duración

Page 11: Crear Servicios WMS y WFS Con MS4W y GvSIG Utilizando Nuestro Propio Juego de Datos - OSGeo Wiki

29/12/11 Crear servicios WMS y WFS con MS4W y gvSIG utilizando nuestro propi…

11/11…osgeo.org/…/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_uti…

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

Retrieved from"http://wiki.osgeo.org/wiki/Crear_servicios_WMS_y_WFS_con_MS4W_y_gvSIG_utilizando_nuestro_propio_juego_de_datosCategories: Education | Cursos

This page was last modified on 17 October 2009, at 22:29.Content is available under the Creative Commons Attribution-ShareAlike License.