Download Ponencia GIS libre Conferencia Internacional de Software Libre
Document related concepts
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.