Download Ponencia GIS libre Conferencia Internacional de Software Libre

Document related concepts

GvSIG wikipedia , lookup

Web Feature Service wikipedia , lookup

Web Coverage Service wikipedia , lookup

Web Map Service wikipedia , lookup

Java Topology Suite wikipedia , lookup

Transcript
Soluciones de código
abierto en el campo de los
Sistemas de Información
Geográfica
Conferencia Internacional de Software
Libre
Málaga, 2004
Málaga, 19 de Febrero de 2004
Presentación
Ponente:
Óscar Gómez Prieto
Consultor GIS
Telvent y los Sistermas de Información Geográfica
• GENS-Smallworld World Class Partner
• ESRI Business Partner
• Mercado: Utilities y Sector Público
• Apuesta clara por los SIG de código abierto
Índice
1.
2.
3.
Introducción
Estándares e Interoperabilidad
2.1. Introducción
2.2. Simple Features Specification for SQL – SFS
2.3. Web Map Service – WMS
2.4. Web Coverage Service - WCS
2.5. Web Feature Service - WFS
2.6. Geography Markup Language – GML
Proyectos SIG de código abierto
3.1. Introducción
3.2. Bases de datos geográficas
3.2.1. PostGIS
3.2.2. MySQL
3.3. Componentes
3.3.1. GeoTools
3.3.2. JTS
3.3.3. WKB4J
3.4. Servidores WFS
3.4.1. GeoServer
3.5. Servidores WMS
3.5.1. Deegree
3.6. Clientes Desktop
3.6.1. JUMP
1. Introducción
La aparición de estándares definidos para favorecer la interoperabilidad entre plataformas SIG ha
permitido la aparición de proyectos de código abierto que cumplen con las especificaciones, siendo
además estos proyectos interoperables con soluciones comerciales que también cumplan los
estándares.
¿Por qué utilizar SIG opensource?
•Aprovechamiento de código
•Complementariedad de proyectos
•Abaratamiento de software, especialmente cliente
•Mayor adaptabilidad de las herramientas
•Las adaptaciones quedan a disposición de la comunidad
Actualmente hay proyectos SIG de código abierto complementarios entre sí que permiten crear
entornos de difusión y análisis de información vectorial.
Índice
1.
2.
3.
Introducción
Estándares e Interoperabilidad
2.1. Introducción
2.2. Simple Features Specification for SQL – SFS
2.3. Web Map Service – WMS
2.4. Web Coverage Service - WCS
2.5. Web Feature Service - WFS
2.6. Geography Markup Language – GML
Proyectos SIG de código abierto
3.1. Introducción
3.2. Bases de datos geográficas
3.2.1. PostGIS
3.2.2. MySQL
3.3. Componentes
3.3.1. GeoTools
3.3.2. JTS
3.3.3. WKB4J
3.4. Servidores WFS
3.4.1. GeoServer
3.5. Servidores WMS
3.5.1. Deegree
3.6. Clientes Desktop
3.6.1. JUMP
2. Estándares e interoperabilidad
2.1 Introducción
OpenGIS Consortium es la organización que define los estándares SIG. Están orientados a interfaces para
favorecer la interoperabilidad entre plataformas.
OpenGIS Consortium, Inc (OGC) es un consorcio internacional formado por 256 empresas, organismos
estatales y universidades, que participan en un proceso para el desarrollo de especificaciones de
interfaces disponibles para el público en general.
Las especificaciones OpenGIS® proporcionan soporte a soluciones interoperables que dotan de
información geográfica a entornos web, inalámbricos, servicios basados en localización (LBS) y a las
tecnologías de la información en general. Permiten hacer accesibles información espacial compleja y
servicios basados en información espacial para todo tipo de aplicaciones.
http://www.opengis.org
A continuación se describen los estándares más importantes definidos por OGC. Hay más de los que se
van a describir.
2.2. Simple Features Specification for SQL – SFS
Define cómo debe ser el almacenamiento de entidades geográficas en un sistema gestor de bases de
datos relacionales (SGBDR). Hay que tener en cuenta que un objeto geográfico se define como una
geometría con atributos, es decir, la base es un modelo entidad-relación. Esta especificación define un
modelo básico para almacenar geometrías en base de datos, proporcionando tres posibilidades de
almacenamiento de las geometrías: tipos geométricos, WKB y WKT.
2.3. Web Map Service – WMS
Especifica el comportamiento que debe tener un servidor de mapas para ser considerado estándar. Se
trata de una aplicación sin estados, que responde de una forma u otra según sea la petición recibida.
Tanto peticiones como respuestas se realizan en código XML.
Un servidor de mapas de tipo WMS funciona de la siguiente manera: dada una petición de mapa en
formato XML, genera un nuevo mapa (en una imagen), y devuelve código XML indicando dónde está esa
imagen. La respuesta a peticiones de tipo identificar es código XML con los datos devueltos.
Además de esto, un servidor WMS y, en general, todo servidor W?S, deben responder a la petición
getCapabilities. Con esta petición se pretende devolver un fichero XML que permita al cliente saber qué
puede pedir a ese servidor.
2.4. Web Coverage Service – WCS
Extiende la interface Web Map Server (WMS) para proporcionar acceso a “coberturas” que representan
valores o propiedades de emplazamientos geográficos en lugar de los mapas generados por WMS
(imágenes).
2.5. Web Feature Service – WFS
El objetivo de la especificación de la interfaz Web Feature Server (WFS) es describir operaciones de
manipulación de datos sobre objetos definidos en la especificación Simple Features de modo que los
clientes y servidores pueden comunicarse a nivel de objeto. Esto permite enviar objetos (vectores) a los
clientes, e incluso la edición de los mismos.
2.6. Geography Markup Language – GML
GML (siglas de Geography Markup Language) es una codificación XML para el intercambio y
almacenamiento de información geográfica, incluyendo tanto geometría como atributos de los objetos.
Internet, wireless, LBS, ...
Protocolo HTTP
Comunicación XML,
geometrías GML
Servidor WMS
Servidor WFS
Otros
ficheros
Servidor WCS
GML
SFS-SQL
Protocolo HTTP
Comunicación XML, no
hay geometrías, se
envían imágenes
Índice
1.
2.
3.
Introducción
Estándares e Interoperabilidad
2.1. Introducción
2.2. Simple Features Specification for SQL – SFS
2.3. Web Map Service – WMS
2.4. Web Coverage Service - WCS
2.5. Web Feature Service - WFS
2.6. Geography Markup Language – GML
Proyectos SIG de código abierto
3.1. Introducción
3.2. Bases de datos geográficas
3.2.1. PostGIS
3.2.2. MySQL
3.3. Componentes
3.3.1. GeoTools
3.3.2. JTS
3.3.3. WKB4J
3.4. Servidores WFS
3.4.1. GeoServer
3.5. Servidores WMS
3.5.1. Deegree
3.6. Clientes Desktop
3.6.1. JUMP
3. Proyectos SIG de código abierto
3.1 Introducción
Existe una gran variedad de proyectos SIG de código abierto.
Esta ponencia se centra en:
• proyectos que se basan en estándares OGC; tienen especial importancia porque permiten la
interoperabilidad entre proyectos de código abierto y proyectos que utilizan software comercial
• fundamentalmente software desarrollado con J2EE. Características:
- es multiplataforma,
- evoluciona muy rápido,
- es muy modular,
- permite construir soluciones corporativas
completas.
3.2 Bases de datos geográficas
La especificación SFS – Simple Features Specification for SQL define cómo debe realizarse el
almacenamiento de geometrías en bases de datos. Los proyectos de código abierto que destacamos
son:
3.2.1 PostGIS
Es una extensión de PostgreSQL que permite el almacenamiento de datos SIG en esta base de
datos mediante la inclusión de tipos geométricos.
La versión actual es la 0.8.1.
Puede funcionar con GEOS como motor de
comprobación topológica. GEOS es una librería que permite el acceso a la funcionalidad de JTS
desde C++
3.2.2 MySQL
A partir de la versión 4.1, MySQL implementa tipos geométricos propios para el almacenamiento de
datos SIG. Son las llamadas Spatial Extensions.
3.3 Componentes
3.3.1. Características Principales de GeoTools 2
Geotools 2 es un conjunto de librerías para el acceso desde aplicaciones Java a información SIG. Se distribuye mediante
licencia LGPL.
Características:
Proporciona funcionalidades SIG integrables en aplicaciones Java.
Permite el desarrollo de aplicaciones desktop o aplicaciones para web a
través del uso de applets
Permite elegir la capa de la arquitectura definida en la que reside, pudiendo
formar parte de la lógica de negocio del servidor.
Permite el acceso a diferentes fuentes de datos, de entre las que se pueden
destacar: PostGIS, ficheros shape, Oracle Spatial, ArcSDE (a través del API
Java), GML, Grid, MapInfo.
Existen varios desarrollos que hacen uso de estos componentes: GISToolkit
Editor (del que se incluyen capturas de pantalla), GeoServer, GISToolkit Server
3.3.2. Características Principales de JTS
El toolkit de topología (JTS) es un API OpenSource para tratar objetos en 2D, a través de funciones espaciales. En
cuanto a diseño, JTS se basa en la especificación básica para SQL publicado por el OpenGis Consortium.
Características:
El API aporta funciones y métodos espaciales para el análisis (intersección ...)
Modelo explícito sobre geometría precisa con algoritmos que manejan
eficientemente los casos espaciales mas complicados.
Proporciona una puesta en práctica completa, constante, robusta de los
algoritmos 2D espaciales.
Es 100% Java.
Es Open Source (licencia de LGPL).
3.3.3. Características Principales de WKB4J
WKB4J es una biblioteca OpenSource de Java diseñada para leer el formato binario de una fuente de datos y
transformar estos datos en objetos Java.
Características:
Proporciona datos a JTS procedentes de SGBDR en las que se almacenan los datos geográficos
en binario, según la especificación Simple Features for SQL
El formato binario (WKB) y el formato textual (WKT) son estandarizados por el
OpenGIS Consortium.
WKB4J es rápido.
Se diseña para integrar el acceso a datos WKB en aplicaciones J2EE
3.4 Servidores WFS
3.4.1. Características Principales de GeoServer
GeoServer es un proyecto desarrollado en J2EE que implementa la especificación WFS Transaccional. Utiliza licencia
GPL 2.0
Características:
100% Java.
Permite la edición a través de web mediante bloque de registros en la base de datos.
Cumple la especificación
consorcio de OpenGIS.
WFS
transaccional
del
Objetivo integrador debido a que su misión es permitir
mayor interoperabilidad
geográfica haciendo cumplir los estándares de OpenGIS.
Compatible con PostGIS, Oracle Spatial, ArcSDE,
Shapefile.
3.5 Servidores WMS
3.5.1. Características Principales de deegree
Deegree es un conjunto de librerías desarrolladas en J2EE, que proporcionan soluciones que cumplen con las
diferentes especificaciones OGC, con el objetivo claro de la interoperabilidad
Características:
Implementa WMS
Implementa WCS
WFS no transaccional
3.6 Clientes Desktop
3.6.1. Características Principales de Jump
La plataforma JUMP es una aplicación para la visualización y procesado de datos espaciales. Incluye funciones y métodos
de tratamiento de información espacial, con comprobación topológica y operaciones de análisis por superposición
(overlay).
Características:
Proporciona un entorno de trabajo interactivo para la visualización , edición y análisis
de datos espaciales.
Contiene un API que proporciona a los desarrolladores un completo acceso a
todas las funciones, incluyendo I/O, a las diferentes funetes de datos, visualización,...
Incluye JTS para el análisis de superposición y validación topológica de geometrías,
lo que permite, a su vez, la inclusión de datos procedentes de bases de datos
geográficas como PostGIS, MySQL, y formato WKB en general a través de WKB4J.
Escalable.
Es altamente modular y cumple con estándares OGC: Simple Feature for SQL y
GML 2.0.
100% J2EE.