Professional Documents
Culture Documents
5
Espaa de Creative Commons. Puede copiarlo, distribuirlo y transmitirlo pblicamente
siempre que cite al autor y la obra, no se haga un uso comercial y no se hagan copias
derivadas. La licencia completa se puede consultar en
http://creativecommons.org/licenses/by-nc-nd/2.5/es/deed.es.
Diseo y Desarrollo de un
cliente Web Processing
Service (WPS) para gvSIG
MEMORIA
Resumen
Esta memoria resume el trabajo realizado para el Proyecto de Fin de Carrera en el rea
de Sistemas de Informacin Geogrfica. El proyecto se ha centrado en el estudio de los
estndares definidos por el Open Geospatial Consortium, y ms concretamente en el
estndar Web Processing Service (WPS). As mismo, ha tenido una componente
prctica que ha consistido en el diseo y desarrollo de un cliente capaz de consumir
servicios Web creados segn WPS e integrado en la plataforma gvSIG.
La cartografa es la ciencia que estudia los mapas geogrficos y ha sido utilizada por la
mayora de los pueblos de nuestra civilizacin. Su evolucin desde los aos sesenta
haca lo que hoy conocemos con Sistemas de Informacin Geogrfica, ha ido de la
mano de las tendencias tecnolgicas de cada momento. El actual desarrollo de la Web
2.0, tambin est teniendo un reflejo en estos sistemas. La definicin de Servicios Web
relativos a Informacin Geogrfica est generando una amplia difusin de aplicaciones
GIS y el acercamiento de las capacidades tradicionales de las aplicaciones de escritorio
a entornos Web.
La aportacin de nuevos estndares realizada por el Open Geospatial Consortium
(OGC) con el fin de conseguir la interoperabilidad de los sistemas de geoprocesamiento,
ha hecho posible desarrollar servicios de publicacin de mapas e integrarlos con las
herramientas de trabajo habituales en este campo. En este proyecto se ha estudiado la
plataforma gvSIG y los servicios OCG que actualmente incorpora, bien para
consumirlos como cliente o bien para ofrecerlos como servidor.
El estndar WPS ha supuesto un paso ms en la evolucin de estos servicios, pasando
de compartir informacin a compartir procesamiento. El cliente WPS diseado pretende
procesar datos geogrficos almacenados de gvSIG en un servidor ajeno a esta
plataforma. Esta memoria detalla los aspectos tcnicos que han permitido el desarrollo
de dicho cliente, as como los inconvenientes surgidos durante el trabajo que han
impedido realizar una integracin completa con dicho estndar.
ndice de contenidos
Captulo 1
Introduccin...............................................................................................6
1.1
1.2
1.3
Objetivos....................................................................................................6
Estructura del Proyecto..............................................................................7
Planificacin de hitos y tareas. ..................................................................8
Captulo 2
2.1
2.2
2.3
2.4
Captulo 3
3.1
3.2
Captulo 4
proyectos
4.1
4.2
Captulo 5
El software gvSIG. Instalacin y configuracin. Principales
caractersticas 45
5.1
5.2
5.3
5.4
Captulo 6
Diseo de un cliente Web Processing Services para gvSIG. Catlogo de
requisitos, casos de uso y diseo de la aplicacin. ..........................................................57
6.1
6.2
Captulo 7
Desarrollo de la aplicacin. Cuestiones fundamentales de la
implementacin realizada. ...............................................................................................66
7.1
7.2
7.3
Captulo 8
Conclusiones............................................................................................73
Lista de referencias..........................................................................................................75
Bibliografa
76
ndice de figuras
Fig. 1. Flujo de trabajo de un SIG .................................................................................. 18
Fig. 2. Modelos de representacin de la informacin..................................................... 19
Fig. 3. Pila de protocolos establecida en el marco de referencia del OGC .................... 24
Fig. 4. Modelo de referencia de la arquitectura de las IDEs e INSPIRE........................ 27
Fig. 5. Modelo UML del inferface WPS ........................................................................ 29
Fig. 6. Arquitectura de Deegree WPS ............................................................................ 39
Fig. 7. Aspecto visual del cliente WPSint ...................................................................... 40
Fig. 8. Modo de trabajo de PyWPS con GRASS GIS .................................................... 41
Fig. 9. Procesamiento basado en varios servicios OGC desde un cliente uDIG. ........... 41
Fig. 10. Arquitectura gvSIG ........................................................................................... 48
Fig. 11. Vista del proyecto gvSIg en eclipse. ................................................................. 49
Fig. 12. Interfaz gvSIG ................................................................................................... 49
Fig. 13. rbol de extensiones de la ventana de preferencias de gvSIG ......................... 52
Fig. 14. Conexin a un servidor WFS desde gvSIG....................................................... 53
Fig. 15. Capa WMS obtenida del servidor de la D.G. del Catastro................................ 53
Fig. 16. Ventana del gestor de proyectos de gvSIG con extensin de publicacin........ 54
Fig. 17. Pantalla gvSIG para la publicacin de servicios ............................................... 56
Fig. 18. Casos de uso ...................................................................................................... 62
Fig. 19. Diagrama de clases de la extensin ExtWPSClient .......................................... 63
Fig. 20. Pantalla de eclipse con proyecto ExtWPSClient.............................................. 66
Fig. 21. Pantalla de dependencias de la extensin ExtWPSClient en gvSIG................. 68
Fig. 22. Pantalla de conexin a un servidor WPS .......................................................... 69
Fig. 23. Presentacin del rbol de Geoprocesos............................................................. 70
Captulo 1
Introduccin
Este captulo expone el marco en el que se ha desarrollado el presente Proyecto de Fin
de Carrera (PFC). Se presentan los objetivos del proyecto, la planificacin de las
principales tareas, la metodologa utilizada durante su ejecucin y los productos
obtenidos. Por ltimo se incluye una breve descripcin del contenido del resto de los
captulos de la memoria.
1.1 Objetivos
El objetivo general del PFC es abordar un trabajo de manera individual que permita
llevar a la prctica los conocimientos, tanto tcnicos como transversales, adquiridos en
las diferentes asignaturas de la carrera. En concreto, en el proyecto han sido de gran
utilidad los contenidos de Metodologa de gestin de Proyectos TIC, de Ingeniera del
software de componentes y sistemas distribuidos y de Compiladores II. Por otro lado, ha
sido necesario el estudio de otros aspectos especficos para desarrollar este trabajo.
Este proyecto se enmarca en el rea de Sistemas de informacin geogrfica (SIG) y se
centra en el estudio de los estndares definidos por el Open Geospatial Consortium, y en
el diseo y desarrollo de un cliente Web Processing Service para gvSIG.
Los objetivos especficos de este proyecto son:
-6-
Captulo 1. Introduccin.
-7-
1.3.1 Hitos
Los principales hitos del proyecto han estado marcados por las fechas de entrega de las
pruebas de evaluacin continua. Las entregas y las fechas de estos hitos han sido:
Hito
Entrega
PEC1 Plan de Trabajo
PEC2 Captulos 2, 3, 4 y 5
Informe de seguimiento
PEC3 Captulos 6 y 7
Informe de seguimiento
PEC4 Presentar proyecto.
Memoria y presentacin
Fecha
30/09/2008
02/11/2008
09/12/2008
05/01/2009
1.3.2 Tareas
A continuacin se describen brevemente las tareas abordadas durante el proyecto y la
duracin estimada.
-8-
Leer enunciado
Leer material del TFC
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
1 hora
4 horas
18/09/2008
19/09/2008
18/09/2008
20/09/2008
Planificar tareas
Redactar Plan de Trabajo
Corregir del Plan de Trabajo
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
5 horas
6 horas
4 horas
20/09/2008
23/09/2008
26/09/2008
22/09/2008
25/09/2008
29/09/2008
Instalar software
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
10 horas
20/09/2008
30/09/2008
-9-
Buscar informacin
Estudiar los SIG
Estudiar estndares OGC
Estudiar estndar WPS
Familiarizarse con gvSIG
Instalar proyecto
Evaluar alternativas
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
4 horas
2 horas
7 horas
12 horas
3 horas
3 horas
3 horas
01/10/2008
03/10/2008
03/10/2008
06/10/2008
12/10/2008
13/10/2008
16/10/2008
02/10/2008
03/10/2008
05/10/2008
11/10/2008
12/10/2008
15/10/2008
16/10/2008
- 10 -
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
12 horas
6 horas
17/10/2008
31/11/2008
26/10/2008
02/11/2008
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
4 horas
2 horas
15 horas
30 horas
3 horas
3 horas
27/10/2008
30/10/2008
03/11/2008
10/11/2008
24/11/2008
27/11/2008
30/10/2008
30/10/2008
09/11/2008
23/11/2008
26/11/2008
27/11/2008
- 11 -
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
15 horas
5 horas
28/11/2008
07/12/2008
04/12/2008
09/12/2008
Elaborar de la memoria
Integrar las PEC de la memoria
Redactar Resumen y Conclusiones
Incluir Bibliografa
Maquetar el documento
Preparar presentacin
Revisar borradores y ultimar ajustes
Duracin
Fecha prevista de
inicio
Fecha prevista
de fin
13 horas
3 horas
1 hora
2 horas
9 horas
21 horas
10/12/2008
15/12/2008
18/12/2008
18/12/2008
19/12/2008
26/12/2008
14/12/2008
17/12/2008
18/12/2008
18/12/2008
21/12/2008
04/01/2008
- 12 -
Se prev una dedicacin uniforme durante la duracin del proyecto, salvo la semana del
20 de octubre, que se reducir a 6 horas debido a un viaje por motivos familiares. Con el
fin de corregir posibles desviaciones en la planificacin o a imprevistos personales, no
se han tenido en cuenta una mayor disponibilidad durante el mes de diciembre debida a
das festivos y de vacaciones laborales.
- 13 -
Captulo 2
Sistemas de Informacin Geogrfica
La Cartografa se define como el arte de trazar mapas geogrficos y la ciencia que los
estudia. La informacin espacial o geogrfica ha sido utilizada por la mayora de los
pueblos de nuestra civilizacin y su evolucin ha ido de la mano de los avances
producidos en otras ciencias.
Segn los historiadores, ya los fenicios, expertos navegantes, exploradores y estrategas
militares, recopilaban informacin y los plasmaban en dibujos que pueden considerarse
los primeros mapas. Por su parte, los griegos desarrollaron las matemticas y la
astronoma, realizaron mediciones de distancias sobre la superficie de la Tierra basadas
en el conocido Teorema de Pitgoras, y registraron esta informacin en forma de mapas.
Estos pueblos y los posteriores, utilizaron esta informacin con fines logsticos y
estratgicos. Sin embargo hasta el siglo XVIII no se reconoci la importancia de
organizar y sistematizar la informacin geogrfica. En ese momento, se crearon los
primeros organismos comisionados exclusivamente para ejecutar la recopilacin de
informacin y producir mapas topogrficos a nivel de pases enteros.
Ya en el siglo XIX, se produce un avance en el conocimiento cientfico de la tierra, y se
cartografi una gran cantidad de informacin de las caractersticas de la Tierra. Fue en
1854, cuando el Dr. John Snow comenz a utilizar la tcnica de la superposicin de
mapas temticos sobre un mapa topogrfico base, cartografiando la incidencia de los
casos de clera en un mapa del distrito de SOHO en Londres. Este mtodo, que permiti
a Snow localizar con precisin un pozo de agua contaminado como fuente causante del
brote, sigui siendo utilizado hasta bien entrado el siglo XX.
A partir de la segunda mitad del siglo XX, se comienza a utilizar los mapas para la
valoracin de recursos y planificacin, y se empieza a aplicar la tecnologa del
computador digital en la automatizacin del trabajo cartogrfico. Tambin se producen
otros avances, como la aparicin de la fotografa area y de las imgenes de satlites
originando un desarrollo de herramientas tecnolgicas de procesamiento espacial para
estudios fsicos, matemticos y cientficos. Sin embargo, el concepto de la
- 14 -
- 15 -
- 16 -
Los datos: Constituyen una representacin simplificada del mundo real que ha
de recogerse y mantenerse actualizada.
- 17 -
Localizacin: Qu hay en ?
Tendencias: Qu a cambiado ?
Modelos:Qu ocurrira si .?
Para responder a estas cuestiones, los SIG cumplen una serie de funciones, mostradas en
la figura 1, que se pueden agrupar en:
- 18 -
De forma general se recomienda utilizar informacin raster para trabajar con grandes
extensiones de terreno y a pequeas escalas, siempre y cuando no se requiera una
exactitud muy alta en los clculos. Y se recomienda utilizar informacin vectorial para
trabajar con extensiones pequeas y a medianas o grandes escales, y siempre que se
- 19 -
Modelo raster
Ventajas
Ocupa menos espacio de memoria
Facilidad de captura
Precisin elevada en la definicin de
Estructura de datos simple
entidades el clculo de magnitudes
geomtricas
Representacin adecuada de las
Sencillez en la manipulacin y gestin
relaciones topolgicas
de la informacin
Mejores salidas grficas
Inconvenientes
Captura de datos ms costosa
Menor precisin en el clculo de reas
y longitudes
Estructura de datos ms compleja
Ocupan mayor espacio de memoria
Mayor dificultad a la jora de realizar
Dificultad de representar ciertas
ciertas operaciones (Comparacin de relaciones topolgicas
mapas)
- 20 -
Captulo 3
Introduccin a los estndares del Open
Geospatial Consortium
Actualmente, las dos organizaciones de normalizacin principales dentro de los
sistemas de informacin geogrfica son el comit tcnico 211 de la Organizacin
internacional para la Estandarizacin (ISO TC211) y el Open Geospatial Consortium
(OGC).
En el caso del ISO TC211, se trata de un cuerpo dependiente de la ISO dedicado a la
temtica de informacin geogrfica y geomtica. Las normas ISO resultado de su
trabajo y relativas a la informacin geogrfica, se encuentran en el rango de numeracin
19.100. Estas normas derivan en su mayor parte de los documentos tcnicos
desarrollados por el OGC.
En cuanto al Open Geospatial Consortium, fue creado en 1994 y en estos momentos,
agrupa a 366 organizaciones pblicas y privadas. Algunas de las empresas que forman
parte de la organizacin son Intergragh, ESRI, Oracle, Adobe, Google y la NASA
Su fin es la definicin de estndares abiertos e interoperables dentro de los SIG.
Persigue acuerdos entre las diferentes empresas del sector para posibilitar la
interoperabilidad de sus sistemas de geoprocesamiento y facilitar el intercambio de la
informacin geogrfica en beneficio de los usuarios. Anteriormente fue conocido como
Open GIS Consortium.
El OGC publica diferentes tipos de documentos, principalmente los siguientes:
- 21 -
Localizar los servicios que pueden ser utilizados con unos tipos de datos
especficos.
- 22 -
Siguiendo el modelo de referencia RM-ODP, el OGC define cinco puntos de vista que
abordan diferentes aspectos del sistema, que no se superponen unos a otros, y que
permiten la separacin de distintos aspectos de inters.
Para el trabajo que nos ocupa, tendremos en cuenta el punto de vista de la informacin
como marco de informacin OpenGIS, el punto de vista informtico como marco de
servicios OpenGIS y el punto de vista de la ingeniera marco de protocolos.
El punto de vista de la informacin define esquemas conceptuales para la informacin
geoespacial y mtodos para definir esquemas de aplicacin.
Tradicionalmente, los sistemas de informacin geogrfica han venido tratando dos tipos
fundamentales de datos, vectoriales y raster. El OGC se refiere a features en el caso
de los datos vectoriales, y a coverages para los datos tipo raster.
Entrando en el aspecto informtico, el OGC define los conceptos fundamentales de los
servicios, interfaces y operacin, e incluye una clasificacin de servicios y una
descripcin del marco de servicios OGC.
Los servicios OGC con base en la Web estn diseados para facilitar informacin
geogrfica en Internet. De esta manera, comparten muchas capacidades y caractersticas
de servicios Web en general, pero tambin tienen caractersticas singulares que se
- 23 -
En cuanto a las operaciones bsicas que un servicio puede llevar a cabo se distinguen:
Encontrar. Los solicitantes de los servicios utilizan esta operacin para localizar
tipos o casos de servicios especficos. Generalmente reciben los metadatos
transmitidos por el proveedor de servicios.
- 25 -
Captulo 4
Estndar Web Processing Service. Anlisis
comparativo de los diferentes proyectos
El OpenGIS WPS se ha diseado para estandarizar la forma de ofrecer clculos GIS a
travs de Internet. Este estndar proporciona normas para describir cualquier clculo,
denominados aqu procesos, as como la forma de realizar las peticiones al proceso y de
responder dicha peticin. La norma tambin define cmo un cliente puede solicitar la
ejecucin de un proceso.
La especificacin del Web Processing Service fue publicada por OGC en su primera
versin en 2004 y en 2007 se liber la versin 1.0.0. Este proyecto se basa en esta
ltima versin, cuya especificacin se encuentra en el propio portal del OGC
(http://www.opengeospatial.org/standards/wps)
- 26 -
de su rendimiento. En general, cuando trabajamos con datos espaciales, stos suelen ser
datos complejos y de gran tamao, pudiendo hacer inviable el procesamiento remoto de
este tipo de datos entre proveedores y consumidores de servicios. Por lo tanto, las
tcnicas de generalizacin complementan perfectamente a los servicios de
geoprocesamiento ya que permiten la extraccin de la informacin relevante que evite el
trfico de grandes volmenes de datos.
El modelo propuesto por el OGC se basa en arquitecturas abiertas e interoperables, que
permiten crear aplicaciones a partir de la concatenacin de operaciones atmicas, tal y
como muestra la figura 4, en contraste con las aplicaciones GIS monolticas donde toda
la funcionalidad est implementada dentro de la propia aplicacin.
- 27 -
Respecto a los mecanismos para encontrar y enlazar servicios, WPS siguen el modelo
OGC de WMS y WFS, de manera que define una operacin GetCapabilities que puede
ser solicitada mediante el protocolo HTTP GET y HTTP POST y SOAP. WPS describe
el interface del servicio que define como:
Para ello, WPS propone una serie de operaciones mediante las que se envan y se recibe
la informacin y los datos de los procesos.
Los tipos de datos de entrada y salida que se utilizan pueden ser de tres tipos diferentes:
datos,
como
mapas
en
varios
formatos.
En
el
caso
de
WPS permite para la recogida de datos de entrada dos mtodos diferentes. Mediante la
codificacin de datos en la peticin Execute, actuando como un servicio stand-alone, o
haciendo referencia a los datos desde un recurso accesible va Web, actuando como un
servicio middleware que obtiene datos desde un recurso externo con el fin de ejecutar
un proceso en la implementacin local.
Adems, la ejecucin de los procesos puede realizarse de manera sncrona y asncrona.
Los clculos geoespaciales pueden durar mucho tiempo, en termino de horas, das e
incluso semanas. En estos casos, es posible realizar el seguimiento del progreso del
proceso chequeando el estado del mismo.
- 28 -
<<Interface>>
OGCWebService {Abstract}
(from OWS Get Capabilities)
+ getCapabilities(request: GetCapabilities): ServiceMetadata
WPService
- 29 -
4.3.1.1. GetCapabilities
Esta operacin permite obtener las caractersticas del servicio, as como la descripcin
general de cada una de los procesos ofrecidos por una instancia WPS. Esta respuesta se
obtiene mediante un documento XML.
La peticin debe ser HTTP GET, usando codificacin KVP. Los servidores WPS no
podrn
implementar
codificacin
KVP
usando
transferencia
HTTP
POST.
Componente
Service
Request
Definicin
Identificador del
tipo de servicio.
Ser siempre
WPS
Nombre de la
operacin. Ser
siempre
GetCapabilities
Multiplicidad Implementacin
y uso
cliente
Uno
Cada parmetro
(obligatorio) deber ser
implementado
por todos los
clientes, usando
Uno
(obligatorio) el valor
especificado
AcceptVersions
Cero o uno
(opcional)
Podra
implementarse
por todos los
clientes usando
el valor
especificado
Language
Cero o uno
(Opcional)
Podra ser
implementarlo
por todos los
clientes
Implementacin
servidor
Cada parmetro
deber ser
implementado
por todos los
servidores,
comprobando
que cada
parmetro se
recibe con el
valor especfico.
Ser
implementada
por todos los
servidores,
comprobando si
se recibe con el
valor
especificado.
Podra ser
implementado
por servidores
que ofrezcan
capacidades
multilinges.
- 30 -
Update Sequence: Versin del documento de metadatos del servicio, valor que
se incrementa cuando se realizan cambios en el documento completo. Lang:
Identificador de lenguaje. (Obligatorio)
Excepcin
MissingParameterValue
Significado
La peticin no incluye valor
Valor
Nombre del parmetro ausente.
de parmetro invlido.
valor invlido.
- 31 -
VersionNegotiationFailed
La lista de versiones en el
Se omite.
parmetro AcceptVersions
no incluye ninguna versin
soportada por el servidor
NoApplicableCode
Se omite.
4.2.1.1 DescribeProcess
Esta operacin permite preguntar y recibir una descripcin de uno o ms procesos que
pueden ser ejecutados por el servidor. Esta descripcin incluye los parmetros de
entrada y de salida del proceso y puede ser utilizada para construir automticamente un
interface que capture los valores de los parmetros.
Al igual que la operacin GetCapabilities, la peticin debe ser HTTP GET, usando
codificacin KVP y opcionalmente, puede implementarse transferencia HTTP POST
utilizando slo codificacin XML. Los servidores WPS no podrn implementar
codificacin KVP usando transferencia HTTP POST.
Componente
Service
Request
Version
Language
Identifier
Definicin
Identificador del tipo de servicio. Ser siempre
WPS
Nombre de la operacin. Ser siempre
DescribeProcess
Versin de la especificacin de la operacin
Identificador del lenguaje en la respuesta
Identificacin del proceso identificador, cuyo
valor ha sido definido en la seccin
ProcessOffering del documento de capacidades
Multiplicidad y
uso
Uno (obligatorio)
Uno (obligatorio)
Uno (obligatorio)
Cero o uno
(opcional)
Uno o varios
(obligatorio
- 32 -
Excepcin
MissingParameterValue
Significado
La peticin no incluye valor
Valor
Nombre del parmetro ausente.
NoApplicableCode
de parmetro invlido.
valor invlido.
Omitido.
4.2.1.2 Execute
La operacin Execute permite ejecutar un proceso especfico implementado por el
servidor, usando los valores de los parmetros de entrada proporcionados y recibiendo
los valores de salida.
Las entradas pueden incluirse directamente en la peticin Execute, o pueden estar
referenciadas en un recurso accesible va Web. Las salidas pueden ser devueltas en
formato de un documento XML, embebidas en el documento respuesta o almacenadas
- 33 -
Componente
Service
Request
Version
Language
Identifier
DataInputs
Response Form
Definicin
Identificador del tipo de servicio. Ser siempre
WPS
Nombre de la operacin. Ser siempre Execute
Versin de la especificacin de la operacin
Identificador del lenguaje en la respuesta
Identificacin del proceso identificador, cuyo
valor ha sido definido en la seccin
ProcessOffering del documento de capacidades
Lista de entradas proporcionadas para la
ejecucin de este proceso. Se trata de una
estructura de datos tipo DataInput que contiene
una o varias entradas y para cada una de ellas,
al menos, un identificador, un ttulo y un
resumen.
Define el tipo de respuesta del WPS, bien ser
una salida raw data o un documento XML. Si
se omite, la respuesta ser siempre un
documento respuesta que incluya todas las
salidas embebidas en la respuesta.
Multiplicidad y
uso
Uno (obligatorio)
Uno (obligatorio)
Uno (obligatorio)
Cero o uno
(opcional)
Uno o varios
(obligatorio
Cero o uno
(opcional)
Cero o una
(opcional)
El nombre de cada entrada se separa mediante el signo igual (=) del valor y
sus atributos, y de igual forma, el nombre de un atributo de sus valores.
La
ausencia
de
un
campo
obligatorio
provoca
una
excepcin
MissingParameterValue.
Como en las anteriores operaciones, todos los servidores WPS deben implementar la
transferencia de la peticin de una operacin Execute mediante HTTP POST usando
exclusivamente codificacin XML.
La forma de respuesta a una operacin Execute depende del valor del parmetro
ResponseForm de la peticin de la operacin.
- 35 -
- 36 -
Excepcin
MissingParameterValue
Significado
La peticin no incluye valor
Valor
Nombre del parmetro ausente.
NoApplicableCode
de parmetro invlido.
valor invlido.
Nulo.
Nulo.
Nulo.
demasiado largo.
StorageNotSupported
La operacin incluye
Nulo.
la negociacin de versiones
falla.
- 37 -
En los mdulos de pruebas del cliente como del servidor, todas las operaciones
especificadas e implementadas deben ser testeadas, incluyendo la transferencia HTTP
GET y HTTP POST de cada peticin de operacin. En los mdulos de prueba de las
especificaciones, todas las operaciones especificadas deben ser probadas, incluyendo la
transferencia GET y POST de las peticiones de las operaciones, al igual que todas las
peticiones y respuesta de las operaciones, los parmetros especificados. Cualquier
elemento no implementado en la especificacin no debe ser chequeado.
A continuacin se presentan alguno de los proyectos ms representativos de servidores
WPS.
- 38 -
Deegree WPS est basado en la versin 0.4.0 del estndar, sin embargo no est
publicada como una versin estable.
4.2.2.2 WPSint
Se trata de un Framework de cdigo abierto compuesto por un plugin de Java que trata
peticiones de WPS as como sus respuestas y por un cliente genrico WPS que puede
acceder a cualquier WPS.
Este plugin simplifica el trabajo de creacin de operaciones WPS y es accesible desde
un navegador Web, una aplicacin Web o un cliente de escritorio. A pesar de
implementar la versin 0.4.0 del estndar, puede utilizarse mediante el interface
- 39 -
- 40 -
- 41 -
Procesamiento asncrono.
- 42 -
Se puede utilizar eclipse para la instalacin de estos fuentes, y requiere los plugins
Subeclipse, para la conexin con el repositorio Subversion, y m2eclipse si se desea
compilar y poner en marcha el proyecto mediante Maven, para facilitar la bsqueda de
las libreras externas que utiliza el programa y el empaquetado del mismo. Las libreras
necesarias para la compilacin del proyecto son la que aparecen en la tabla siguiente:
Grupo
Proyecto
Versin
Tipo
javax.xml.bind
jsr173_api
1.0
jar
log4j
log4j
1.2.14
jar
org.n52.wps
52n-wps-commons
1.0-rc3-snapshot
jar
org.n52.wps
52n-wps-install-wizard
1.0-rc3-snapshot
jar
org.n52.wps
52n-wps-io
1.0-rc3-snapshot
jar
org.n52.wps
52n-wps-server
1.0-rc3-snapshot
jar
xmlbeans
xbean
2.2.0
jar
Proyecto
net.sourceforge.pjl-comp-filter
pjl-comp-filter
Versin
1.6.4
Tipo
jar
testGetCapabilities
testDescribeProcess
testExecute
testExecuteStore
testExecuteReference
testExecuteStatus
testExecuteRaw
http://localhost:8080/wps
Este servidor responde a las tres operaciones bsicas de un WPS (getCapabilities,
DescribeProcess y Execute), y atiende a sus peticiones mediante HTTP Get o mediante
HTTP POST. Esta informacin puede verse en el campo OperationsMetadata del
documento XML:
<ows:OperationsMetadata>
<ows:Operation name="GetCapabilities">
<ows:DCP>
<ows:HTTP>
<ows:Get xlink:href="http://localhost:8080/wps/WebProcessingService"/>
</ows:HTTP>
</ows:DCP>
</ows:Operation>
<ows:Operation name="DescribeProcess">
<ows:DCP>
<ows:HTTP>
<ows:Get xlink:href="http://localhost:8080/wps/WebProcessingService"/>
</ows:HTTP>
</ows:DCP>
</ows:Operation>
<ows:Operation name="Execute">
<ows:DCP>
<ows:HTTP>
<ows:Get xlink:href="http://localhost:8080/wps/WebProcessingService"/>
<ows:Post xlink:href="http://localhost:8080/wps/WebProcessingService"/>
</ows:HTTP>
</ows:DCP>
</ows:Operation>
</ows:OperationsMetadata>
- 44 -
Captulo 5
El software gvSIG. Instalacin y configuracin.
Principales caractersticas
La Generalitat Valenciana con la participacin de la Universidad Jaume I y la
cofinanciacin de la Unin Europea, inicia en el ao 2003 un proyecto para el desarrollo
y la implementacin de un nuevo programa para el manejo de informacin geogrfica,
con las directrices de que la solucin fuera portable, modular, de cdigo abierto,
interoperable y sujeta a los estndares.
De esta iniciativa surge gvSIG, un Sistema de Informacin Geogrfica multiplataforma,
desarrollado como software libre, y que sigue los estndares del OGC, garantizando la
interoperabilidad necesaria para ser utilizada como cliente de las Infraestructuras de
Datos Espaciales (IDEs).
- 45 -
necesarias para manejar objetos SIG, tanto para dibujar la cartografa como para
acceder a los datos. Se compone de un gestor de herramientas, capas y orgenes
de datos para las capas y las geometras que se utilizan para representar los datos
en las capas.
El subsistema Fmap se compone de:
o MapControl: Se encarga de dibujar y mantener la herramienta actual,
conoce todas las herramientas que existen en la aplicacin.
o MapContex: Es el contexto de la parte grfica. Contiene los elementos
necesarios para que el MapControl pueda realizar su labor.
o Behaivor: Es un comportamiento de una herramienta. Tambin dice
como se comporta la herramienta grficamente. Controla el dibujado de
la herramienta y el iniciador de los eventos de la herramienta.
- 46 -
- 47 -
JDK 1.5
JAI 1.1.3
La descarga, tanto de la aplicacin como del cdigo fuente, puede realizarse desde el
propio portal de gvSIG (http://www.gvsig.gva.es/).
Durante la instalacin del software se puede indicar la instalacin de algunas de las
extensiones de gvSIG. Sin embargo, hay otras extensiones que deben ser instaladas
manualmente. Para ello, simplemente es necesario descargar el fichero de la extensin
correspondiente y ejecutar dicho fichero.
Por ltimo, es necesario realizar la descarga de los ficheros fuentes de gvSIG para poder
implantar el cliente WPS, objetivo del presente proyecto. Se utilizar Eclipse como IDE
para el desarrollo del proyecto.
- 48 -
son archivos de extensin .gvp. Estos archivos no contienen los datos espaciales y
atributos asociados en forma de tablas, sino referencias al lugar donde se conservan las
fuentes de dichos datos.
El programa permite configurar al usuario diversas caractersticas del mismo desde la
ventana de preferencias. Entre dichas preferencias se encuentran las relativas a las
extensiones que se utilizarn durante la ejecucin del programa, y que establecen tanto
la ubicacin de las mismas como aquellas que desea utilizar. Una extensin es una
ampliacin del proyecto que incorpora una nueva funcionalidad.
5.3.1 Vistas
Las vistas son los documentos de gvSIG que constituyen el rea de trabajo de la
informacin cartogrfica. Dentro de una vista pueden existir distintas capas de
informacin. La relacin de las capas que contiene una vista se muestra en la tabla de
contenidos (ToC) en la parte izquierda de la pantalla. En dicha tabla, se indica para cada
capa, si es o no visible y el orden de aparicin en la Vista.
Las propiedades de una vista son su nombre, las unidades de cartografa y las unidades
de distancia, el color de fondo, la proyeccin actual y el sistema de referencia.
Las capas pueden contener ficheros de varios formatos:
Datos SIG: El formato estndar (de facto) de los SIG es el shape, que almacena
tanto datos espaciales como atributos de los mismos. Se trata en realidad de tres
o ms archivos, con el mismo nombre y extensiones diferentes (dbf para el
archivo que contiene la tabla de atributos, shp para el fichero de datos espaciales
y shx para el archivo de ndice de los datos espaciales).
Datos CAD: Son archivos de dibujo vectorial. Los formatos soportados son dxf
y dgn.
GML: Son ficheros XML que pueden ser visualizados o exportados siguiendo
las especificaciones del OGC.
- 50 -
Imgenes: Archivos de tipo raster con formato tiff, jpg, ecw, musid, gif o bmp,
entre otros. Estos ficheros pueden ser visualizado y modificados en el propio
programa.
5.3.2 Tablas
Las tablas son los documentos que contienen la informacin alfanumrica. Las tablas se
componen de filas o registro (que representan cada uno de los elementos de las bases de
datos) y columnas o campos (que definen los distintos atributos de cada elemento).
Todas las capas de informacin vectorial tienen asociada una tabla de atributos. Cada
elemento grfico de una determinada capa tiene su correspondiente registro en dicha
tabla de atributos. Se puede seleccionar elementos en una tabla y quedan seleccionados
en la capa. El tratamiento de estas tablas es similar al que se puede realizar con
cualquier software de operacin de base de datos. Se pueden realizar estadsticas, filtros,
ordenaciones, uniones, cargas de ficheros externos e incluso dispone de una calculadora
de campos que permite realizar distintos tipos de clculos sobre los campos de una
tabla.
5.3.3 Mapas
Los documentos de mapa permiten disear y combinar en una pgina todos los
elementos cartogrficos que deseamos que aparezcan en un mapa impreso. En concreto,
podemos aadir:
Vistas
Imgenes
Barras de escala
Textos
Leyendas
Norte
Texto
Cajetines
Escala
- 51 -
Se puede aadir una capa a travs del protocolo WFS. La figura 14 muestra como desde
la ventana Aadir capas y seleccionando la pestaa WFS, puede conectarse con
cualquier servidor que soporte este protocolo. gvSIG recupera de dicho servidor una
capa vectorial en formato GML y se encarga de obtener las geometras y los atributos
asociados a cada Feature interpretando el contenido del archivo.
- 52 -
Una vez establecida la conexin, es posible seleccionar la capa que se quiere cargar, los
atributos de la capa, establecer filtros sobre dichos atributos, y configurar el nmero
mximo de entidades que se pueden descargar, as como el tiempo de espera antes de
descartar la conexin.
Tambin es posible aadir una capa a travs del protocolo WMS, como muestra la
figura 15. El procedimiento para establecer la conexin con el servidor remoto es
similar al anterior. En este caso, una vez seleccionadas las capas que se desean aadir,
puede elegirse la forma de visualizacin de dichas capas, la dimensin, el formato, el
sistema de coordenadas y/o la transparencia.
Fig. 15. Capa WMS obtenida del servidor de la D.G. del Catastro.
- 53 -
As mismo, puede aadirse una capa a travs del protocolo WCS. De nuevo, el proceso
de conexin al servidor es similar a los anteriormente descritos. En este caso, se
seleccionar la cobertura deseada, as como el formato de imagen con que se realizar la
peticin y tambin el sistema de referencia. Algunos servidores proporcionan la
posibilidad de configurar las variables de Tiempo y Parmetros.
Fig. 16. Ventana del gestor de proyectos de gvSIG con extensin de publicacin.
- 54 -
Generacin de la configuracin.
Por otra parte, habr que tener en cuenta que las fuentes de datos deben estar accesibles
tanto desde gvSIG como desde el servidor. Por ejemplo, los ficheros debern tener
permisos de lectura para el usuario que ejecuta el CGI de Mapserver.
Respecto a la creacin del documento a publicar, una vez se dispone de las vistas
cargadas en gvSIG, se crea un documento nuevo de tipo Publicacin y se configura el
servidor indicando su URL, as como el tipo de servidor y servicio. El siguiente paso es
configurar los parmetros del servidor, que en funcin de su tipo son:
Servidor
MapServer
Parmetros bsicos
Fichero de configuracin
Parmetros avanzados
Depuracin
Directorio Temporal
Directorio de datos
Geoserver
Usuario y contrasea
Mx. Features
Directorio de configuracin
Nivel de log
- 55 -
Una vez configurado el servidor, se indican, en la pestaa Servicio, los parmetros del
servicio: Ttulo, resumen y direccin URL.
Por ltimo, en la pestaa Recursos que se muestra en la figura 17, aadiremos los
recurso que queremos publicar, que en esta versin de gvSIG, slo pueden ser las vistas
y sus capas.
Una vez pulsado el botn de Aceptar, el programa nos informa del resultado de la
publicacin.
Es importante tener en cuenta, que cuando se crea una publicacin, la configuracin
generada contiene referencias a las fuentes de datos en forma de rutas absolutas a los
ficheros, por tanto, una publicacin slo funcionar en un servidor que est en la misma
mquina que ejecuta gvSIG. Esta limitacin puede solventarse mediante un mecanismo
de cambio de rutas absolutas.
- 56 -
Captulo 6
Diseo de un cliente Web Processing Services
para gvSIG. Catlogo de requisitos, casos de uso y
diseo de la aplicacin.
El servidor instalado 52nWPS dispone de un cliente implementado, al que podemos
acceder desde un navegador de Internet. En este proyecto se pretende implementar un
cliente gvSIG, incorporando, a las ya numerosas utilidades que actualmente ofrece este
programa, la posibilidad de hacer uso de los servicios de procesamiento proporcionados
por el servidor.
En el diseo de este cliente, se ha tomado como referencia los clientes incorporados en
la instalacin del servidor.
Recordemos que los procesos que puede solicitarse a dicho servidor se basan en los
algoritmos SimpleBufferAlgorithm, TopologyPreservingSimplificationAlgorithm y
DouglasPeuckerAlgorithm.
- 57 -
- 58 -
Crear una opcin de men del gvSIG que lance el cliente WPS.
tomado
como
punto
de
partida
los
proyectos
extGeoprocessing
El propio geoproceso.
Un panel grfico.
- 59 -
se
registran
como
puntos
de
la
extensin
- 60 -
- 61 -
Abrir capa: Consiste abrir una nueva capa mediante la opcin de aadir capa
que ya ofrece gvSIG.
- 62 -
Los dos ltimos casos de uso, visualizar salida y ver estado proceso WPS, no estarn
implementados en esta versin del cliente.
GeoprocessPluginAbstract
DouglasGeoprocessPanel2
AbstractGeoprocessController
uses
uses
DouglasGeoprocessController
DouglasGeoprocessPlugin
AbstractGeoprocess
*
1
DouglasGeoprocess
GeoprocessRemoteManagerExtension
uses
Exception
WPSClientException
WPSClientSession
1
uses
uses
1
Extension
*
uses
*
ClientCapabilitiesRequest
ClientDescribeProcessRequest
ExecuteResponseAnalyser
ExtensionPoints
AbstractClientGETRequest
ExecuteRequestBuilder
StaticDataHandlerRepository
A continuacin se detallan las clases diseadas para el cliente WPS y que se han
aadido al actual del modelo de clases gvSIG.
- 63 -
Se
trata
de
una
especializacin
de
la
clase
Es
una
especializacin
de
la
clase
- 64 -
ClientDescribeProcessRequest:
Es
una
especializacin
de
la
clase
- 65 -
Captulo 7
Desarrollo de la aplicacin. Cuestiones
fundamentales de la implementacin realizada.
La
codificacin
de
la
aplicacin
parte
de
la
(http://www.gvsig.gva.es/index.php?id=gvsig11&L=0).
Se
versin
han
gvSIG
seguido
1.1.1
las
instrucciones del fichero leeme.txt que acompaa a los ficheros fuentes para su
instalacin. El nico problema encontrado ha sido debido a la instalacin de los fuentes
en un directorio cuyo nombre llevaba espacios el blanco. La instalacin desde el
repositorio de Subversin tambin se ha intentado pero resulta ms laboriosa que la
primera opcin.
El desarrollo se ha realizado como un nuevo plugin de gvSIG. Para ello se ha creado en
eclipse un nuevo proyecto llamado ExtWPSClient. La estructura del proyecto, que se
muestra en la figura 20, sigue las directrices marcadas en la documentacin para
desarrolladores del gvSIG (https://gvsig.org/web/docdev/).
- 66 -
lib: Carpeta que contiene el fichero .jar que contiene las clases del plugin y
todas las libreras utilizadas por l.
De
esta
manera,
se
copiarn
en
el
directorio
- 67 -
- 68 -
El men Conectar WPS est siempre visible y activo en gvSIG, puede ejecutarse
desde cualquier punto del programa. La pantalla para de conexin se muestra en la
figura 22.
- 69 -
- 70 -
controlador
del
geoproceso
es
el
encargado
de
lanzar
el
panel
- 71 -
tratarse de dos clases similares, parecen no ser compatibles, lo que produce en tiempo
de ejecucin un error al realizar el casting de dichas clases.
Una interface para traducir los datos de gvSIG a los datos GML, acorde a lo
establecido por el estndar WPS.
- 72 -
Captulo 8
Conclusiones.
La realizacin de este proyecto ha permitido tener una primera toma de contacto con los
Sistemas de Informacin Geogrfica, de los cuales no se tena apenas conocimiento.
Todos los aspectos trabajados, desde su comienzo con el estudio de las principales
caracterstica de este sistemas hasta los problemas encontrados durante el desarrollo del
cdigo, han sido enriquecedores tanto desde un punto de vista tcnico como de gestin
de proyectos.
En este sentido, cabe destacar que se han conocido algunos de los estndares OGC ms
utilizados actualmente en los SIG, y fundamentalmente las posibilidades que ofrece en
estos momentos el estndar WPS. Prueba de ello es que actualmente ya se han
desarrollado varios proyectos que implementan servidores WPS, as como diferentes
clientes para los principales programas GIS.
La posibilidad de trabajar con un sistema de las caractersticas de gvSIG ha permitido
poner en prctica los conocimientos de Java adquiridos en otras asignaturas de la
carrera, trabajando en un entorno real y con una dimensin que hasta el momento no se
haba practicado. As mismo, trabajar con estructuras de datos geogrficos, dada su
complejidad, ha puesto de manifiesto la utilidad de los estndares XML. Sin embargo,
este ha sido el punto del proyecto que ms dificultad ha supuesto, y que deber de ser
trabajado ms detalladamente para continuar trabajando con los GIS.
Por ltimo, sealar los beneficios que supone trabajar con arquitecturas abiertas e
interoperables para la difusin de la informacin geogrfica. La formacin de una
Infraestructura Europea de Datos Espaciales no podra llevarse a cabo trabajando sin la
utilizacin de stas.
En cuanto a las conclusiones desde un punto de vista de la gestin de proyectos, el
proyecto se ha abordado con una planificacin inicial que ha permitido cumplir los
diferentes hitos marcados, si bien hay que sealar que la escasa experiencia en
proyectos de este tipo, deriv en una desviacin en las tareas prcticas del proyecto,
prolongndose hasta la entrega final del proyecto las tareas de programacin.
- 73 -
- 74 -
Lista de referencias
A continuacin se resumen las referencias a otros textos utilizadas a lo largo de esta
memoria:
UOC, Tabln de la asignatura en el Campus Virtual.
Enunciado de la prctica
Generalitat Valenciana. Conselleria de Infraestucturas y transporte. Web de gvSIG.
Implementaciones WPS:
- 75 -
Bibliografa
Gutirrez Puebla, Javier; Gould, Michael (2000), SIG: Sistemas de Informacin
Geogrfica, Madrid, Ed. Sntesis.
Schut, Peter (2007); OpenGIS Web Processing Service [OGC 05-007r7] en
http://www.opengeospatial.org/standards/wps
Whiteside, Arliss (2007) OGC Web Services Common Specification [OGC 06-121r3]
en www.opengeospatial.org/standards/common
Granell, C.; Daz, L.; Esbr, M.A.; Gould, M; Llads, A; Contribuciones de una IDE a
la e-Ciencia: Proyecto AWARE, en jidee06.uji.es/down/s31_Granell.pdf
Web processing with OGC WPS Specification, Theodor
52north.org/twiki/bin/view/Processing/GIdaysWPSworkshop
Percivall, George (2003), OGC Rererence
portal.opengeospatial.org/files/?artifact_id=3836
Model
[OGC
Foerster,
en
03-040]
en
usage,
en
- 76 -
52north
(http://52north.org/index.php?option=com_jdownloads&Itemid
=73&task=viewcategory&catid=22).
2. Instalacin de los fuentes del cliente ExtWPSClient.
En primer lugar debe realizarse una instalacin los fuentes de la plataforma
(http://www.gvsig.gva.es/index.php?id=gvsig11&L=0&K=1), que puede realizarse
siguiendo las instrucciones del fichero Leeme.txt incluido en la descarga.
Crear un nuevo proyecto Java en Eclipse llamado ExtWPSClient desde la opcin File
New Project, tal y como se muestra en la siguiente pantalla:
- 77 -
- 78 -
- 79 -
- 80 -
- 81 -
Vemos que se muestra por defecto la capa de entrada que hemos cargado anteriormente
y que ser la que se simplificar en el servidor WPS. Adems, debemos introducir la
tolerancia para realizar la simplificacin y la capa de salida donde queremos que nos
presente los resultado.
A partir de aqu, el cliente no est operativo.
- 82 -