You are on page 1of 39

Panorama SIG Libre Documentation

Publicacin 1.0

OSGeo-es

28 de March de 2014

ndice general

II

CAPTULO 1

Introduccin

A la hora de abordar este proyecto lo primero que nos planteamos es cmo lo queramos hacer, es decir, qu requerimientos tendramos que cumplir. De ah sali la lista siguiente:

1.1 Qu requerimientos tenemos?


Toda la discusin deba ser en abierto Todo el contenido en abierto y versionado A ser posible autopublicado Tener un seguimiento semanal para tener claras las tareas y quin est haciendo qu.

1.2 Cmo lo hacemos?


Tras esto la forma en la que empezamos a montar toda esta vorgine, fue mediante la lista de correo y la wiki de OSGeo. La lista fue el punto de partida, fue el sitio donde nos comprometimos a colaborar y a realizar esta presentacin.

1.3 Cmo nos organizamos?


A partir de aqu surgi la forma en la que nos debamos organizar, mediante una reunin semanal a travs de irc, para evaluar el estado de consecucin de los objetivos marcados. Teniendo en cuenta que cada una de estas reuniones tienen su acta en la wiki de OSGeo, adems del log correspondiente para aqul que no haya podido asistir. Todas las discusiones relacionadas con el contenido de cada seccin las llevamos a cabo mediante la generacin de tickets (issues) en GitHub, de forma que se creasen hilos de conversacin en paralelo sobre los principales temas a discutir y no enviramos ruido a la lista. Aunque a pesar de tener estos hilos, en la lista se seguan noticando las cosas ms importantes.

1.4 Cmo contribuimos los contenidos?


Disponemos de un repositorio en el que se alojan todos los archivos fuentes del artculo, as como todos los recursos relacionados con la presentacin. Para ello tenemos habilitadas en el repositorio dos ramas: gh-pages: Rama para el desarrollo de la presentacin

Panorama SIG Libre Documentation, Publicacin 1.0

paper: Rama para el desarrollo del artculo La rama gh-pages, que empleamos para el desarrollo de la presentacin, se ha fabricado mediante RevealJS, un framework javascript para el desarrollo de presentaciones dinmicas basadas en HTML5 Y CSS3. La rama paper, que empleamos para el desarrollo del artculo, se ha fabricado mediante Sphinx, un generador de documentacin escrito en Python, que hace que se genere la estructura por defecto de un proyecto base para la generacin de un artculo, tal y como el que aqu se presenta. Para contribuir y hacer crecer esta documentacin nicamente tendremos que realizar nuestro fork del repositorio y dependiendo de lo que queramos modicar, tendremos que seleccionar una u otra rama. Para trabajar con la presentacin, simplemente tendremos que modicar el chero index.html que se encuentra en la rama ghpages. En cambio para trabajar con el artculo, tendremos que modicar el archivo index.rst dentro de la carpeta de la seccin con la que queremos colaborar. En cuanto tengamos los cambios listos para subir, debemos realizar el correspondiente commit y sucesivo pull request. Una vez ste est aceptado, se proceder a la actualizacin automtica de la documentacin alojada en la web.

1.5 Cmo publicamos los contenidos?


La publicacin del contenido de la presentacin se realiza de manera automtica mediante el uso de GitHub Pages. La publicacin del contenido del artculo se realiza de manera automtica mediante el uso de una herramienta denominada Read the Docs, hacindola fcil de encontrar y ofreciendo opcin de bsqueda. Esta herramienta nos permite subir la documentacin generada con Sphinx mediante la direccin al repositorio de Git. La documentacin ser compilada cada vez que se realice un commit, de forma que tendremos siempre la ltima versin de nuestra documentacin disponible en la web.

1.6 Sobre la tabla de informacin de productos


En todas las secciones de este trabajo se utiliza una tabla de descripcin de productos que utiliza un juego de campos comn. A continuacin se describen qu signican esos campos.

Figura 1.1: Encabezados de las tablas de productos name: Nombre del producto year: Ao de aparicin del producto como Software Libre OSGeo: Indica si el producto forma parte de la fundacin OSGeo, especicando si el producto est Graduado o en Incubacin. Live: Indica si el producto forma parte del Live DVD que empaqueta el proyecto OSGeo Live. License: Se especica la licencia con la que se distribuye el producto Ohloh: Ofrece un enlace, si existe, a la pgina del producto en la web de estadsticas de proyecso de Software Libre Ohloh.net Tech: Indica la tecnologa principal con la que se ha desarrollado el producto.

Captulo 1. Introduccin

CAPTULO 2

Servidores

2.1 Autores
Alejandro Daz @alediator Mara Arias de Reyna @delawen Jorge Sanz @xurxosanz

2.2 Introduccin
En esta seccin se va a abordar el amplio conjunto de proyectos correspondientes a la capa intermedia de cualquier sistema de informacin, tambin conocida como middleware. En esta seccin se cubre por tanto cualquier aplicacin que se ejecuta en un servidor y que tiene como objetivo proporcionar uno o ms servicios que sern consumidos por clientes, independientemente de si estos son otras aplicaciones de servidor, clientes web, clientes de escritorio o dispositivos mviles. Qu tipos de servicios actualmente se ofrecen relacionados con la Informacin Geogrca? Una agrupacin funcional podra ofrecernos las siguientes categoras: Servidores de mapas: Encargados de renderizar datos tanto vectoriales como raster en diferentes estilos y proyecciones cartogrcas, en general cumpliendo el estndar WMS de OGC Servidores de teselas: Una variante del anterior es aquellos servidores que ofrecen la cartografa renderizada nicamente en juegos de teselas con un nmero limitado de resoluciones, casi siempre adems empleando sistemas de almacenamiento intermedio (caches). En este caso hay dos estndares en el sector, el estndar TMS y el WMTS de OGC Servidores de datos brutos: Al contrario que las categoras anteriores, estos servidores ofrecen la cartografa vectorial o raster en formatos que deben luego ser procesados por los clientes para la tarea para la que estn desarrollados, tanto si es para su anlisis como su visualizacin. Los estndares de comunicacin son WFS y WCS respectivamente para datos vectoriales y raster. En esta categora se podran incluir tambin a los servidores relacionados con la publicacin de datos de sensores, en todo el abanico de estndares OGC englobados en lo que se conoce como Sensor Web Enablement Servidores de metadatos: Estos servidores implementan estndares de descubrimiento de datos como CSW. Mediante estos servidores usuarios y otros componentes pueden encontrar juegos de datos y otros servicios mediante protocolos estandarizados. Estos servidores son el corazn de las Infraestructuras de Datos Espaciales. Servidores de geoprocesos: Estos servidores exponen operaciones de anlisis, que pueden partir de datos directamente disponibles en el servidor o bien acceder a otros servidores de datos brutos para encadenar servicios que realicen ujos de geoprocesamiento de todo tipo. El estndar de OGC para geoprocesamiento es el WPS.

Panorama SIG Libre Documentation, Publicacin 1.0

Es habitual que un producto de Software Libre cubra ms de una funcionalidad de las denidas en la categorizacin anterior, especialmente con los proyectos ms veteranos. La interoperabilidad es otra de las caractersticas del Software Libre geoespacial y es por ello que la mayora de los productos suelen intentar implementar aquellos estndares que afectan a su rea de inters. En las siguiente tablas se presentan las caractersticas principales de los productos revisados en el contexto de este trabajo as como los principales estndares que implementan. Se puede consultar ms informacin sobre la estructura de la primera tabla en la introduccin.

Figura 2.1: Informacin general sobre servidores

Importante: Se puede consultar la versin ms reciente, as como los enlaces asociados y anotaciones en la seccin de Servidores del wiki de OSGeo.

2.3 Software
En esta seccin se describir brevemente cada uno de los productos evaluados en esta comparativa. El orden de aparicin es cronolgico, empezando por los proyectos ms veteranos. MapServer: Probablemente el servidor de mapas ms usado en el mundo sigue desarrollndose sin pausa, incorporando en los ltimos aos nuevos subproyectos como MapCache y TinyOWS. Su conguracin sigue siendo mediante cheros de texto aunque aparecen nuevas interfaces para facilitar su edicin como MapManager. Sigue destacando de este servidor su ligereza y facilidad de despliegue (si no se necesita soporte para formatos privativos). deegree: Este servidor de mapas con una comunidad principalmente alemana soporta una gran cantidad de estndares. Este servidor se caracteriz durante mucho tiempo por su ardua conguracin, cosa que est cam-

Captulo 2. Servidores

Panorama SIG Libre Documentation, Publicacin 1.0

Figura 2.2: Implementacin de estndares OGC biando gracias al esfuerzo puesto en desarrollar una consola web para los servicios y una documentacin mucho ms detallada. GeoServer: GeoServer es un proyecto ejemplar por su activa comunidad, frecuentes actualizaciones e innovaciones ms all de la implementacin de gran parte de los estndares OGC existentes. Sus extensiones al estndar SLD, el soporte de estilos CSS, el buen soporte para multitud de orgenes de datos y su amigable interfaz lo convierten en un servidor de mapas ampliamente utilizado en todo tipo de contextos, especialmente en grandes instalaciones. GeoNetwork: El servidor de metadatos ms utilizado en el sector sigue ofreciendo actualizaciones y mejoras constantes gracias al apoyo tanto de las empresas que lo desarrollan como de las administraciones pblicas que lo utilizan, haciendo de este servidor la primera opcin a la hora e implementar un nodo de una Infraestructura de Datos Espaciales, con mltiples referencias y casos de xito. 52north SOS: Probablemente la implementacin ms relevante del principal estndar OGC sobre sensores. No dispone de una interfaz de usuario salvo una sencilla consola para ejecutar consultas de ejemplo. La ltima versin (4.0) implementa la versin ms reciente del estndar SOS, la 2.0. MapGuide: El servidor liberado por AutoDesk siempre se ha vinculado a entornos Windows (aunque aparentemente puede funcionar en Linux) y su falta de soporte para estndares OGC parece que le ha dejado atrs en el panorama de Software Libre. Pese a todo, es el nico servidor de mapas que integra completos visores y se puede considerar una solucin completa, aunque en general se preeran entornos desacoplados donde el uso de estndares facilite desarrollar clientes personalizados. PyWPS: Este pequeo servidor WPS se ha reescrito durante el ltimo ao y pretende ofrecer una interfaz ligera en la que desarrollar geoprocesos en el popular lenguaje de programacin Python. La creciente comunidad geoespacial alrededor de este lenguaje de programacin y por lo tanto, una cada vez mayor oferta de componentes que ofrecen funcionalidad pueden hacer este producto interesante. GeoWebCache: GeoWebCache naci como un proyecto dentro del programa de becas de verano de Google para estudiantes (Google Summer of Code). El objetivo era cubrir la necesidad en GeoServer de un servidor de teselas que permita pregenerar y acelerar la cartografa servida por este producto. Con el tiempo ha ido creciendo en funcionalidad y se puede considerar un producto independiente, aunque en general se

2.3. Software

Panorama SIG Libre Documentation, Publicacin 1.0

utilice conjuntamente con GeoServer. Al igual que GeoServer, destaca por su cmoda interfaz de usuario, capacidad para limitar en disco las caches, generacin y borrado de las mismas, etc. TileCache: Durante mucho tiempo TileCache fue la implementacin de referencia del estndar de facto TMS. El proyecto lleva ya bastante tiempo estancado sin prcticamente actividad por lo que se puede considerar en periodo de senectud y no sera aconsejable instalarlo en nuevos proyectos. 52north WPS: Este servidor de procesos dispone de una sencilla interfaz y conectores para implementar geoprocesos en el lenguaje de programacin R, usar procesos del GIS de escritorio GRASS, o de SEXTANTE. MapProxy: MapProxy es un servidor de teselas que dispone de algunas caractersticas interesantes. Al igual que GeoWebCache permite responder a cualquier peticin WMS, no solo a las correspondientes con teselas de las caches denidas. Adems dispone de varios mecanismos de almacenamiento de teselas ms all del uso del sistema de cheros. Adems puede usarse como un servidor de mapas estndar para cheros de conguracin de la biblioteca de renderizacin Mapnik. Su conguracin mediante sencillos cheros de texto y las herramientas de ayuda a conguracin y despliegue de las mismas lo convierten en un producto ciertamente verstil. PyCSW: Servidor de metadatos desarollado en el lenguaje Python, diseado para ser tanto una librera como un servidor independiente, por lo que se puede integrar en otros desarrollos o desplegar como un servidor. Es un proyecto pequeo, reciente y sin interfaz de usuario. Se puede arrancar el servidor importando una carpeta de cheros XML de metadatos y utiliza una base de datos, implementando el estndar CSW (entre otros) para acceso a los metadatos y los estndares OGC ms importantes para recopilar metadatos de servicios existentes. Este servidor se ha integrado en productos ms grandes como son el servidor de Open Data CKAN y el portal de datos geogrcos GeoNode. QGIS Server: Este servidor nace en el contexto del proyecto QGIS como una forma sencilla de exponer proyectos de este software de escritorio a travs de la red y mediante los estndares WMS y WFS. Tcnicamente es un producto escrito en C++ que se despliega como un servidor FastCGI/CGI (como MapServer) y que proporciona un plugin para el software de escritorio de tal forma que se facilita enormemente la publicacin de datos geogrcos desde este producto. TileStache: Servidor de teselas heredero del veterano TileCache, desarrollado para mejorar las funcionalidades de ste, aunque no ha tenido mucha actividad en los ltimos meses. Sus principales caractersticas son que est orientado a renderizar mapas a partir de cheros de conguracin de Mapnik, generar teselas vectoriales en formato GeoJSON, puede almacenar las caches no solo en disco sino tambin en memoria o en Amazon S3. ZOO Project: Este proyecto consiste en un ncleo escrito en C++ que permite ejecutar los procesos en diferentes lenguajes y para cualquier propsito, un conjunto de servicios a modo de ejemplo que escritos en diferentes lenguajes de programacin y utilizando libreras bien conocidas realizan diferentes procesos como el clculo de rutas, conversin de datos, etc. Finalmente el proyecto proporciona una interfaz de programacin (API) escrita en JavaScript para ejecutar procesos WMS desde el servidor. Este proyecto se integra muy bien con MapServer para generar servicios WMS dinmicos a partir del resultado de procesos WPS de forma que el software ofrece directamente un mtodo de visualizacin de los resultados. EOxServer: Este software es bsicamente una aplicacin web escrita en el framework Django, que permite modelar juegos de datos de observacin de la Tierra, utilizando y extendiendo MapServer para ofrecer servicios WMS y WCS de estos datos as como una interfaz de visualizacin, consulta y administracin en un entorno web. A partir de un conjunto de imgenes raster de diferentes reas e instantes temporales, EOxServer adems de exponerlas por WMS y WCS usando el perl especco para datos de observacin de la Tierra, ofrece servicios para generar mosaicos y previsualizaciones, mediante un entorno web (usando OpenLayers) para navegar por las diferentes fechas y regiones. TileStream: TileStream es un servidor de teselas pensado para servir archivos MBTiles. Es decir no genera ningn tipo de cache ni se conecta con servicios para solicitar las imgenes como el resto de servidores. Se trata de un software limitado nicamente a servir teselas almacenadas en este tipo de bases de datos. El hosting de teselas de Mapbox usa una variante de este servidor para su servicio.

Captulo 2. Servidores

Panorama SIG Libre Documentation, Publicacin 1.0

2.4 Puntos calientes


Este rea del Software Libre geoespacial est en continua evolucin, pese a que la complejidad inherente a desarrollar este tipo de productos es elevada y hace algn tiempo que no aparece ningn producto relevante. As y todo los proyectos existentes en general gozan de buena salud y no dejan de actualizarse e innovar. En el rea de los servidores de mapas la mejora del rendimiento y en especial de las capacidades de simbolizacin han facilitado la aplicacin de estos productos en proyectos cada vez ms complejos, como en el caso del uso de GeoServer en el Instituto Geogrco Francs [GeoServerIGN]. La innovacin de aplicar al rea de la cartografa un lenguaje de denicin de simbologas anlogo a las hojas de estilo de las pginas web (el estndar CSS) va a facilitar a los especialistas disear y mantener los estilos de sus mapas de una forma mucho ms sencilla y a la vez expresiva. En cuanto a los servidores de geoprocesamiento, la capacidad para denir procesos de anlisis geogrco utilizando lenguajes de programacin de alto nivel, como Python o JavaScript entre otros, va a facilitar la inevitable transicin de este tipo de procesos desde los clientes de escritorio a los servidores. As, proyectos como ZOO Project o el uso de GeoScript en GeoServer ponen a disposicin de los analistas un entorno de trabajo que soporta varios lenguajes con un rendimiento elevado y en un entorno distribuido. Los servidores de teselas siguen siendo de momento un mal necesario para ofrecer un rendimiento adecuado en proyectos con cartografa que no sufre actualizaciones frecuentes, imgenes raster o simplemente que no necesitan estilos dinmicos. Esta situacin en cualquier caso para la informacin vectorial se percibe como transitoria ya que estn empezando a aparecer productos y servicios que optimizan la presentacin de cartografa sirvindola en un formato vectorial junto con los estilos, siendo responsabilidad del cliente la renderizacin de la misma. Esta variante permite ofrecer cartografa mucho ms dinmica tanto en su componente temporal como en la de la simbolizacin. Finalmente en el rea de los servicios de descubrimiento el desarrollo de GeoNetwork, el principal servidor de metadatos libre, sigue activo y van apareciendo nuevas alternativas y variantes como el soporte del protocolo CSW por parte de GeoServer, as como la aparicin del proyecto PyCSW y su integracin en otros productos.

2.5 Curva de aprendizaje y conocimientos previos


Principalmente existen dos perles de tcnicos a la hora de trabajar con este tipo de productos. Esto se debe a que la implantacin de un servicio en la red en primer lugar necesita de especialistas en sistemas que se encarguen de una correcta instalacin del producto, adaptacin del sistema operativo y de la red a la que se conecta, otros sistemas que puedan afectar al mismo, conguracin y acceso a bases de datos, etc. Por otro lado igualmente en general es necesaria la intervencin de un tcnico especializado en el rea geoespacial para la conguracin avanzada del producto, preparar la cartografa o bases de datos a ofrecer, generar metadatos, etc. Es habitual que tcnicos de un nico perl hagan todo el trabajo pero como en cualquier proyecto geoespacial, es en la multidisciplinariedad de los equipos de trabajo donde mejores resultados se van a conseguir. Por lo tanto los conocimientos necesarios para este amplio conjunto de productos y desde el punto de vista tanto de la administracin de sistemas como de la Informacin Geogrca es elevado, aunque puede depender tambin del producto. Nombrando los ms importantes: Desde el punto de vista de la administracin de sistemas: Instalacin y conguracin de servidores web y de aplicaciones. Conguracin de aplicaciones FastCGI/CGI, WSGI, NodeJS, JEE, etc. en funcin del producto. Creacin y conguracin de Bases de datos, esquemas de datos, usuarios y roles, etc. Congurar caches, proxies inversos y reescritura de direcciones web para integrar varios servidores. Por ejemplo es habitual exponer un servidor de aplicaciones JEE (por ejemplo GeoNetwork ejecutndose en el contenedor de servlets Tomcat) detrs de un servidor web, e incluso ste ltimo detrs de un acelerador web como Varnish. Desde el punto de vista del tcnico en tecnologas geoespaciales: Conversin de formatos de datos geogrcos (raster y vectorial). 2.4. Puntos calientes 7

Panorama SIG Libre Documentation, Publicacin 1.0

Manejo y carga de bases de datos espaciales. Conocer los diferentes especicaciones OGC, tanto en protocolos como en formatos (en funcin del producto). Comprender las principales proyecciones cartogrcas y sistemas de referencia. Comprender las diferencias entre los diferentes formatos de imagen soportados por los navegadores, el concepto de cache, etc.

2.6 Documentacin
A continuacin se ofrecen enlaces a las principales pginas de documentacin, tutoriales o ejemplos que pueden ayudar a empezar a trabajar con cada uno de los productos revisados. Cuadro 2.1: Documentacin de proyectos Proyecto MapServer deegree GeoServer GeoNetwork 52north SOS MapGuide PyWPS GeoWebCache TileCache 52north WPS MapProxy PyCSW QGIS Server TileStache ZOO Project: EOxServer TileStream Documentacin MapServer docs deegree docs GeoServer docs GeoNetwork docs 52north SOS docs MapGuide docs PyWPS docs GeoWebCache docs TileCache README MapProxy docs PyCSW docs TileStache docs ZOO Project docs EOxServer docs notas de instalacin y uso OSGeo Live MapServer qs deegree qs GeoServer qs GeoNetwork qs 52north SOS qs MapGuide qs Otros

taller de introduccin Geonetwork workshop

PyWPS tutorial taller de Boundless 52north WPS qs MapProxy qs PyCSW qs QGIS Server qs ZOO Project qs EOxServer qs tutoriales de 52north WPS taller de PyCSW tutorial de QGIS Server taller del FOSS4G2013

Captulo 2. Servidores

CAPTULO 3

Bases de datos

3.1 Autores
Mara Arias de Reyna @delawen

3.2 Introduccin
Una base de datos espacial es una base de datos que se ha optimizado para almacenar y consultar datos que representa los objetos denidos en un espacio geomtrico. La mayora de las bases de datos espaciales permiten representar objetos geomtricos simples, tales como puntos, lneas y polgonos. Algunas bases de datos espaciales manejan estructuras ms complejas, tales como objetos en tres dimensiones, coberturas topolgicas, redes lineales, y TIN. Aunque a da de hoy existen bases de datos NoSQL que tambin empiezan a soportar funcionalidades geomtricas, en este artculo vamos a centrarnos nicamente en las bases de datos clsicas, dado que son las que tienen, con mucha diferencia, la implementacin ms madura. En la siguiente tabla se presentan las caractersticas principales de los productos revisados en el contexto de este trabajo. Se puede consultar ms informacin sobre la estructura de la tabla en la introduccin.

Figura 3.1: Informacin general sobre servidores

Importante: Se puede consultar la versin ms reciente, as como los enlaces asociados y anotaciones en la seccin de Bases_de_datos del wiki de OSGeo.

3.3 Software
En esta seccin se describir brevemente cada uno de los productos evaluados en esta comparativa. El orden de aparicin es cronolgico, empezando por los proyectos ms veteranos.

Panorama SIG Libre Documentation, Publicacin 1.0

Figura 3.2: Implementacin de estndares OGC MySQLSpatial: Siendo la extensin para la base de datos ms extendida de la lista, su instalacin y manejo es muy sencillo. Es una base de datos que se encuentra por defecto en la mayora de servicios de hosting y por tanto suele ser la puerta de entrada de muchos desarrolladores. Sin embargo, su falta de compatibilidad con los estndares hace que el cdigo no sea fcilmente portable a otras plataformas. PostGIS: Basado en postgres, esta potente base de datos multiplataforma es totalmente compatible con OGC. Aunque su uso a nivel general no est tan extendido como MySQL, dentro del sector GIS su uso es casi cannico. Spatialite: Al estar basada en SQLite, es una base de datos basada en cheros, lo que simplica en gran medida su uso y distribucin. Esta extensin es candidata para formar parte de Geo Package, un nuevo formato abierto de OGC para almacenar y transferir datos geogrcos. H2GIS: H2 es una base de datos Java ligera, con gran facilidad de instalacin y distribucin. Basada tambin en cheros, se distingue de Spatialite porque contiene un servidor que permite varias conexiones concurrentes a la misma.

3.4 Puntos calientes


El Open Geospatial Consortium (OGC) ha desarrollado el estndar Simple Feature y establece normas para las funcionalidades espaciales de los sistemas de bases de datos. Tambin llamada norma ISO 19125, se presenta en dos partes: La primera parte, la norma ISO 19125-1 (SFA-CA para la arquitectura comn), dene un modelo de caractersticas simples de dos dimensiones, con interpolacin lineal entre vrtices. El modelo de datos denido en SFA-CA es una jerarqua de clases. Esta parte tambin dene la representacin utilizando WKT (well known text) y WKB (well known binary). Este tipo de datos contiene no slo las coordenadas del objeto a representar, sino que tambin contiene referencias a la proyeccin utilizada y otras caractersticas que pudieran resultar de inters a la hora de operar con dichas geometras. La segunda parte de la norma ISO 19125-2 (SFA-SQL), dene una serie de funcionalidades utilizando SQL. Estas funcionalidades abarcan la mayora de las operaciones tpicas que pueden llevarse a cabo con datos geogrcos: Mediciones Espaciales: Para calcular la longitud de una lnea, el rea de un polgono, la distancia entre geometras,... Funciones Espaciales: Modicar geometras existentes para crear nuevas, es decir, operar con geometras para obtener nuevas geometras (interseccin, buffering,...) Predicados Espaciales: Devuelven un booleano (verdadero/falso) acerca de la condicin de una o ms geometras espaciales. Por ejemplo, si dos geometras interseccionan o si estn dentro de un buffer. Creacin de Geometras: Normalmente en base a una lista de coordenadas, se genera una nueva geometras. Descripcin de Geometras: Devuelven informacin especca acerca de una geometra, por ejemplo qu punto es el centro de un crculo.

10

Captulo 3. Bases de datos

Panorama SIG Libre Documentation, Publicacin 1.0

3.5 Curva de aprendizaje y conocimientos previos


Dado que la mayora de las bases de datos con extensiones espaciales siguen un mismo estndar, la programacin y uso de dichas extensiones es muy similar de una plataforma a otra.

3.6 Documentacin
A continuacin se ofrecen enlaces a las principales pginas de documentacin, tutoriales o ejemplos que pueden ayudar a empezar a trabajar con cada uno de los productos revisados. Cuadro 3.1: Documentacin de proyectos Proyecto MySQL Spatial postGIS H2GIS Spatialite Documentacin MySQL Spatial docs postGIS docs H2GIS docs Spatialite docs OSGeo Live postGIS qs Otros introduccin a MySQL Spatial postGIS introduction quickstart KISS spatialite in 5 minutes

3.5. Curva de aprendizaje y conocimientos previos

11

Panorama SIG Libre Documentation, Publicacin 1.0

12

Captulo 3. Bases de datos

CAPTULO 4

Libreras

4.1 Autores
Alejandro Daz @alediator Roberto Antoln @Tolanss Santiago Higuera @santiagohiguera Mara Arias de Reyna @delawen

4.2 Introduccin
En esta seccin se va a cubrir todo el conjunto de paquetes que ofrecen funcionalidades avanzadas para cualquier sistema de informacin en la forma de libreras. Como se ver, algunos de estos proyectos han cogido protagonismo a lo largo del tiempo ofreciendo no slo una interfaz de programacin (o API en ingls), si no tambin un conjunto de herramientas propias. Dado el gran abanico que representan, se dividir esta seccin en otras cuatro secciones en las que se agrupan libreras con caractersticas y funcionalidades similares. As, tendremos la siguiente divisin: Geoprocesamiento: Aqu se incluyen todas las herramientas y libreras que proporcionan mtodos para la manipulacin de informacin geoespacial como GDAL/OGR, GEOS, JTS/GeoTools, Geoscript o Shapely. Routing: Estas libreras ofrecen enrutamiento geoespacial y funcionalidad de anlisis de redes. Comprendemos aqu las libreras OSRM, pgRouting y OpenTripPlanner LiDAR: Aqu se hablar sobre aquellas libreras y conjunto de herramientas capaces de trabajar con datos LiDAR. Destacan en esta categora las libreras libLAS, LASlib/LASzip, SPDlib, PDAL y LASpy. Varios: Por ltimo, consideramos dos libreras aisladas, una para el renderizado como Mapnik y otra para la automatizacin procesos para la publicacin de informacin como GeoBatch. La siguiente tabla muestra las principales caractersticas las libreras tratadas en este artculo. Informacin detallada sobre la estructura de la tabla se encuentra en la introduccin. Importante: Se puede consultar la versin ms reciente, as como los enlaces asociados y anotaciones en la seccin de Libreras del wiki de OSGeo.

4.3 Software
Cualquier librera LiDAR presentada en este documento se puede utilizar para la transformacin de formatos lser, pero quizs la ms adecuada para ello es PDAL, ya que est pensada especialmente para ello. Es ms, PDAL trata de mejorar la librera libLAS cuyo desarrollo lleva parado algn tiempo. A su vez, libLAS se gener a partir de una versin anterior de LASlib, aunque estas ltimas han seguido evolucionando hacia una potente herramienta 13

Panorama SIG Libre Documentation, Publicacin 1.0

de procesado. Cabe notar, para evitar equvocos, que la librera LASlib es completamente libre, mientras que las herramientas (LASTools) tienen el cdigo cerrado pero su utilizacin est autorizada para usos no comerciales. Adems de lectura y escritura de datos y la transformacin entre formatos, SPDlib incorpora herramientas para procesar y analizar datos y para generar modelos digitales de elevacin. Por ltimo, LASzip es la nica librera capaz de leer y escribir datos LiDAR en formato LAZ. ste es un tipo de formato comprimido pero con las mismas especicaciones que el formato LAS. El procesamiento de datos es, en general, la recogida y manipulacin de elementos de datos para producir informacin signicativa. As pues, a travs del geoprocesamiento, se manipulan los datos espaciales con el objetivo de presentarlos en un contexto especco. En cuanto al procesamiento de datos vectoriales aparecen dos tendencias claras: una serie de libreras orientadas a la generacin de scriptlets de forma intuitiva y sencilla (GeoScript/Shapely); y libreras clsicas de geoprocesamiento a nivel servidor (GEOS/JTS/GeoTools). Shapely es un paquete de algoritmos para procesamiento espacial 2D escrito en Python. GeoScript aade capacidades espaciales a los lenguajes dinmicos como JavaScript, Python, Scala o Groovy. JTS Topology Suite es una librera escrita 100 % en Java que implementa la SFA y permite operar con geometras incorporando una buena coleccin de algoritmos espaciales 2D. El rendimiento es elevado permitiendo la utilizacin de sus algoritmos en entornos de produccin. Geotools es una librera 100 % Java con todo tipo de herramientas para procesamiento y visualizacin de contenidos geoespaciales. Implementa la mayora de estndares del OGC. El procesamiento espacial lo realiza embebiendo JTS. Aade la posibilidad de trabajar con Sistemas de Referencia y acceder a bases de datos. Es parte del backend utilizado por Geoserver. GEOS es una versin C++ de la librera JTS Topology Suite GDAL se suele utilizar como complemento de todas las dems herramientas para la preparacin de imgenes rster de forma que mejoren el rendimiento al ser servidas. GeoBatch da un paso ms all en el geoprocesamiento, permitiendo la denicin de ciertos ujos de procesamiento y permitiendo la ejecucin de los mismos en background a travs de distintos roles y usuarios (as como la ejecucin programada de los mismos). Mapnik es una herramienta para el renderizado de mapas atractivos, con bordes de geometras limpios y suaves, provisto de un sistema grco con anti-aliasing de calidad, posicionamiento inteligente de etiquetas, y simbolizacin SVG escalable. La mayor fama de mapnik viene por ser utilizado como render de la capa principal de Open Street Map.

14

Captulo 4. Libreras

Panorama SIG Libre Documentation, Publicacin 1.0

En relacin con el routing o clculo de rutas, mencionamos en este grupo las libreras pgRouting, OSRM y OpenTripPlanner. pgRouting es una extensin de la base de datos espacial Potgres-PostGIS que aade funcionalidades de routing, esto es, de clculo de rutas y caminos mnimos a travs de los distintos algoritmos. Trabaja con los datos en crudo, sin necesidad de pre-procesamiento. OSRM Es una librera escrita en C++ que proporciona algoritmos de camino mnimo y herramientas de routing utilizando la cartografa de OpenStreetMap como red de caminos. OpenTripPlanner ofrece una API REST que permite el clculo de rutas basadas el distintos mtodos de transporte (incluyendo parmetros como el alquiler de bicicletas o el transporte pblico).

4.4 Puntos calientes


ltimamente, la tecnologa LiDAR est en auje y cada vez aparecen ms libreras que ofrecen la posibilidad de trabajar con datos LiDAR en el formato LAS. Algunas tambin incorporan conjuntos herramientas para el procesado y anlisis de datos. Estas herramientas suelen aparecer como comandos de consola para favorecer el desarrollos de scripts. Con el objetivo de favorecer la creacin de sencillos programas, los esfuerzos se estn centrando en incorporan bindings en python. Para permitir un uso ms sencillo y cmodo la comunidad est haciendo esfuerzos en la creacin interfaces grcas y en la incorporacin de forma nativa de lectura y escritura de datos lser en clientes de escritorio como QGIS o GRASS. En relacin al clculo de rutas, existe una clara diferenciacin entre las libreras que se basan en datos preprocesados y las libreras que pueden trabajar sin pre-procesar los datos. Mientras que las libreras con datos procesados hoy en da devuelven respuestas instantneas a rutas complejas, las libreras con datos en crudo permiten una mayor exibilidad a la hora de incorporar datos en tiempo real, como puede ser el trco o el clima. Tambin es relevante mencionar que OpenTripPlanner permite el clculo de rutas multimodal; esto es, clculo de rutas combinando diferentes medios de transporte. Respecto al geoprocesamiento, probablemente, los avances ms signicativos se estn realizando en la abstracin de las libreras clsicas con el objetivo de facilitar su uso de cara a los desarrolladores. Dentro de este grupo se enmcuentran GeoScript, Shapely o GeoBatch. Mapnik se suele embeber tpicamente en aplicaciones python que publican mapas en Internet, aunque las ltimas mejoras incorporadas han permitido que Mapnik tambin se utilice para crear mapas de alta resolucin en papel.

4.5 Curva de aprendizaje y conocimientos previos


Para trabajar con las libreras LiDAR es conveniente tener conocimientos de C++, ya que es el lenguaje comn a todas ellas. Aunque existen ya interfaces grcas para trabajar con estas herramientas, el mdo ms rpido y verstil es la lnea de comando y la utilizacin de scripts o incluso la programacin en Python. Por tanto, tener experiencia en estos campos facilitara su utilizacin. Escribir en la consola nunca es agradable para cualquier persona que empieza, pero la mayor ventajan que presentan es que todas las herramientas tienen las mismas funcionalidades y es muy intuitivo aprender el lenguaje utilizado en cualquiera de ellas si se adquieren conocmientos previos en alguna otra librera. A la hora de trabajar con clculo de rutas, es conveniente entender la terminologa bsica de la teora de grafos, como qu es un nodo y cmo se interconectan los nodos. Una vez comprendida la teora bsica de grafos, lo que va a marcar qu algoritmo elegimos y cmo vamos a usarla ser nuestra fuente de datos y nuestras necesidades o no de tener rutas multimodales en tiempo real. En cuanto al geoprocesamiento, los conocimientos necesarios son distintos segn la(s) librera(s) que quieras usar. Para todas necesitars conocimentos acerca del modelo SFA. A no ser que necesites una funcionalidad especca de una de las libreras, podrs elegir aquella que se adece ms a tus conocimientos. Los programadores en C++ pueden utilizar GEOS, mientras que los programadores Java encontrarn en JTS y Geotools las herramientas de geoprocesamiento necesario. Python dispone de GeoScript, Shapely como herramientas especcas del lenguaje.

4.4. Puntos calientes

15

Panorama SIG Libre Documentation, Publicacin 1.0

4.6 Documentacin
A continuacin se enumeran una serie de enlaces a pginas de documentacin, tutoriales o ejemplos que pueden ser de ayuda para trabajar con estas libreras: Cuadro 4.1: Documentacin de proyectos Proyecto GDAL/OGR JTS Topology Suite GEOS GeoTools Shapely GeoScript * libLAS LASlib/LASzip PDAL SPDlib Laspy OSRM pgRouting Documentacin GDAL docs; OGR docs JTS Topology Suite docs GEOS API docs GeoTools docs Shapely docs GeoScript docs libLAS docs Tutoriales; Artculo sobre LASzip PDAL docs SPDlib docs LASpy docs General OSRM instructions pgRouting docs OSGeo Live GDAL qs Otros GDAL wiki

Tutorial de la documentacin de Django Soporte y comunidad Tutoriales ociales <http://geoscript.org/tutorials/index.html>>_ libLAS qs Manual de *Minnesota Department of Natural Resources* Tutoriales OSRM Server API pgRouting qs Gua para principiantes

OpenTripPlanner GeoBatch Mapnik

OpenTripPlanner docs GeoBatch docs Mapnik docs

Gua de desarrollador;

Mapnik qs

Tutoriales

16

Captulo 4. Libreras

CAPTULO 5

Web Mapping

Por hacer Seccin por completar. Discusin del contenido en la issue 3

5.1 Autores
Alejandro Daz @alediator Mara Arias de Reyna @delawen Moiss Arcos @moiarcsan

5.2 Introduccin
Resulta evidente la importancia del FOSS en el mbito de la geomtica. No hay ms que ver la cantidad de proyectos, comunidades, blogs, congresos y dems eventos (como el que ocupa este artculo) que se organizan con cada vez mayor xito. Esto puede provocar al recin llegado cierta confusin ya que el inherente carcter modular del software libre hace que muchos proyectos dependan de otros y por tanto las interconexiones son mltiples y a todos los niveles. Con la proliferacin de Internet, la aparicin de los servidores de mapas se produjo de forma conjunta a la de aplicaciones web que exponan los contenidos servidos por estos productos. Al principio la mayor parte de ellas se materializaban como desarrollos ex profeso y por tanto se resolvan los mismos problemas una y otra vez. Esta situacin deriv como es natural hacia proyectos que intentan proporcionar un conjunto de componentes comunes en general en forma de documentos HTML y aplicaciones escritas en JavaScript que proporcionan al desarrollador una base sobre la que realizar su aplicacin especca. Tambin han ido apareciendo proyectos que se basan en mayor o menor medida en cdigo de servidor, bsicamente PHP o Java. La motivacin de este texto por tanto es la presentacin ante los lectores, desde un punto de vista lo ms generalista posible, del estado del arte en este mbito de la ciencia para dar al lector pistas que le acerquen a aquellos proyectos/productos que le puedan ser de inters para realizar cualquier tipo de proyecto. En esta seccin se tratarn los diferentes proyectos relacionados con la representacin de la informacin geogrca en un cliente web y que tiene como objetivo la visualizacin y manipulacin de la misma. En la siguiente tabla se presentan las caractersticas principales de los productos revisados en el contexto de este trabajo. Se puede consultar ms informacin sobre la estructura de la tabla en la introduccin. Importante: Se puede consultar la versin ms reciente, as como los enlaces asociados y anotaciones en la seccin de Webmapping del wiki de OSGeo.

17

Panorama SIG Libre Documentation, Publicacin 1.0

Figura 5.1: Informacin general sobre tecnologas

Figura 5.2: Implementacin de estndares OGC

5.3 Software
En esta seccin se describir brevemente cada uno de los productos evaluados en esta comparativa. El orden de aparicin es cronolgico, empezando por los proyectos ms veteranos. Mapbender: Cliente Web-GIS construido con Javascript, que ofrece un interfaz de usuario congurable no dependiente de ningn servidor de mapas concreto. Su orientacin es la de un geoportal cliente de servicios OGC. Incluye un soporte bastante completo de usuarios, grupos y servicios OGC (OWS). Una caracterstica diferenciadora de Mapbender es la capacidad de edicin en cliente sobre navegador, utilizando WFS-T. MapBender es un proyecto graduado de OSGeo. OpenLayers: OpenLayers es un cliente Web-GIS ligero construido con clases Javascript, sin dependencia de servidores de mapas concretos. Ofrece una interfaz de usuario simplicada que ataca a servicios WMS y WFS de forma transparente para el usuario y desarrollador. Las caractersticas a destacar de este producto es la cantidad de herramientas ya implementadas, que hacen que el desarrollar con esta libreara sea mucho ms fcil para funcionalidades ms complejas. Actualmente es uno de los proyectos de SIG libre cuya comunidad es de las ms activas que existen, a pesar de contar con un grupo de desarrolladores no muy numeroso. OpenLayers es un proyecto graduado de OSGeo. Destaca la integracin de OpenLayers con otros proyectos como GeoExt o Mapstore. GeoExt GXP: Es una biblioteca basada en Javascript para el desarrollo de aplicaciones web interactivas integrando la tecnologa de OpenLayers y ExtJS. Ofrece la interfaz de usuario propia de ExtJS, con todas las herramientas adaptadas al visor de mapas OpenLayers. GeoMoose: 18 Captulo 5. Web Mapping

Panorama SIG Libre Documentation, Publicacin 1.0

GeoMOOSE es un framework de navegacin de mapas para la visualizacin distribuida de datos cartogrcos. Es particularmente til para gestionar datos geoespaciales y no geoespaciales en ocinas regionales, urbanas y municipales (GeoMOOSE se origin en stas ltimas). Extiende la funcionalidad de MapServer y OpenLayers para proporcionar servicios de serie, como la identicacin drill-down para ver y organizar muchas capas, operaciones de seleccin y bsquedas en los juegos de datos. GeoMOOSE es rpido, con buen rendimiento con cientos de capas y/o servicios al mismo tiempo. Los datos provenientes de diferentes orgenes se pueden mantener usando diferentes herramientas y con diferentes planicaciones ya que cada capa del mapa tiene su propio juego de cheros de conguracin para la publicacin, simbologa, plantillas as como datos de origen. La interfaz de usuario es fcilmente congurable, y gracias a su arquitectura modular se pueden agregar servicios adicionales. Leaet: Leaet est diseado con la mente puesta en la simplicidad, el rendimiento y la facilidad de uso. Funciona de manera eciente en las principales plataformas de escritorio y mviles, aprovechando las ventajas del HTML5 y CSS3 en los navegadores modernos, sin dejar de ser accesibles a los ms antiguos. Se puede ampliar su funcionalidad con una gran cantidad de plugins, tiene una API bonita, fcil de usar y bien documentada, as como un cdigo fuente simple y legible, que es una fcilidad para los desarrolladores que quieran contribuir. Mapstore: MapStore ha sido desarrollado para crear, guardar, buscar y compartir de una manera sencilla e intuitiva mashups creados con contenido de fuentes del servidor como Google Maps, OpenStreetMap, MapQuest o servidores especcos proporcionados por la organizacin o cualquier otra persona. MapStore consta de dos componentes principales como MapManager y GeoStore, respectivamente front-end y back-end. MapManager, utilizando una sola interfaz, permite al usuario crear, borrar y buscar mapas, generar un vnculo de insercin para poner un mapa en un sitio web, compartir tus propios mapas con otros usuarios. Adems lleva a cabo la interaccin con GeoStore. MapManager soporta la autenticacin y la denicin de polticas de acceso para proteger los mapas gestionados por GeoStore. GeoStore es una aplicacin JEE de cdigo abierto cuyo objetivo es el almacenamiento, la bsqueda y la recuperacin de datos sobre la marcha. GeoStore implementa una infraestructura exible y modular desarrollado por encima de la tecnologa de Java Enterprise con el n de crear, gestionar, navegar y buscar las deniciones del mapa. GeoStore integra la autenticacin y gestin de autorizaciones segn el paradigma de Role Based Access Control (RBAC). Esto protege a los mapas de accesos no autorizados. El mecanismo de almacenamiento estndar de GeoStore consta de un DBMS: Oracle y PostgreSQL son compatibles. Cartaro: Cartaro es la plataforma de cartografa web que proporciona los mejores componentes geoespaciales de cdigo abierto en un sistema de gestin de contenidos. Con Cartaro usted es capaz de instalar y ejecutar su propio sitio web geogrco y compatible con los estndares de la OGC, con no ms de unos pocos clics. Los componentes geoespaciales utilizados en Cartaro son PostGIS, GeoServer, GeoWebCache y OpenLayers. Todos los que se gestionan desde el potente CMS Drupal. Cartaro es para las organizaciones e individuos que necesitan ejecutar una infraestructura de datos espaciales ligera (SDI), sin necesidad de extensas conguraciones y mucha programacin individual. Cartaro sirve tambin para montar un sitio web con los benecios de cualquier CMS pero con la ventaja de poder tratar la informacin espacial.

5.4 Puntos calientes


ltimamente todo lo relacionado con Leaet se convierte en tendencia, ya que estn apareciendo distintas tecnologas que hacen uso de esta librera en sus desarrollos, como por ejemplo Mapbox o CartoDB, cuyo aspecto visual tan aparente y resultn hacen que su uso prolifere.

5.4. Puntos calientes

19

Panorama SIG Libre Documentation, Publicacin 1.0

Otro de los puntos en los que se est empleando mayor esfuerzo tecnolgico es en los renderizadores 3D basados en WebGL tales como WebGL Earth o F4 Map, que le dan otra dimensin a la forma de representar los datos espaciales en la web. El futuro de los mapas podra pasar por mejorar las versiones mviles que hagan que su interaccin con el entorno los enriquezca, de forma que pasen de ser consultores o indicadores de direcciones a compaeros imprescindibles en la vida cotidiana, ya que pueden convertirse en planicadores de jornadas, de escapadas de n de semana e incluso de guas tursticos.

5.5 Curva de aprendizaje y conocimientos previos


Para poder trabajar con la mayora de las libreras que aqu se presentan son imprescindibles conocimientos en Javascript, ya que la mayora de stas estn desarrolladas bajo este lenguaje de programacin. Aunque hay algunos como Cartaro que est basado en Drupal, para lo que hay que tener conocimientos bsicos en PHP. Es bueno tener conocimientos de servicios web, as como de XML, ya que muchas de las respuestas de los principales protocolos de transferencia de informacin geogrca usan ste lenguaje de respuesta. Tambin hay que tener conocimientos de los estndares OGC que consumiran la parte cliente. Hay libreras como OpenLayers o Leaet donde esta curva de aprendizaje es muy poco pronunciada ya que su facilidad de comprensin y de uso, as como la documentacin que poseen, hacen que la experiencia del desarrollador no sea determinante a la hora de elegirlas como posible base para el desarrollo de cliente web geogrcos. De hecho otras libreras que aqu se mencionan usan OpenLayers como base cartogrca con la que interactuar y a la que integrarse.

5.6 Documentacin
Toda la documentacin necesaria para comenzar a usar cualquiera de las tecnologas que aqu se encuentran, la puedes encontrar en las guas de inicio rpido que se adjuntan: Cuadro 5.1: Documentacin de proyectos Proyecto Mapbender OpenLayers GeoExt GXP GeoMoose Leaet MapStore Cartaro Documentacin Mapbender user doc OpenLayers library doc GeoExt doc, GXP doc GeoMoose doc Leaet reference MapStore docs Cartaro docs OSGeo Live Mapbender qs OpenLayers qs GeoMoose qs Leaet qs MapStore qs, MapStore training docs, MapStore demo Cartaro qs Otros MapBender tutorials OpenLayers API doc, OpenLayers Examples GeoExt qs, OpenGeo Suite ws

5.7 Referencias
Panorama SIG Libre, M. Montesinos y J. Sanz Artculo v2, Diapos v4, Wiki Prodevelop

20

Captulo 5. Web Mapping

CAPTULO 6

Clientes

6.1 Autores
Josep Sitjar @JosepSitjar Roberto Antoln @Tolanss

6.2 Introduccin
Entendemos por Clientes al conjunto de aplicaciones SIG de Escritorio, es decir, aplicaciones en las que se implementan herramientas para llevar a cabo las tareas bsicas del trabajo con datos geogrcos: creacin o edicin, manejo y anlisis. Con esta losofa fueron desarrollados los primeros programas SIG, especialmente para el tratamiento y anlisis de datos geogrcos, y posteriormente, para dotar a estos de mayor versatilidad, incorporando otras funciones adicionales que facilitaran el trabajo con esos mismos datos. Los SIG de escritorio siguen manteniendo su posicin como aplicaciones fundamentales, y hablar genricamente de un SIG implica por lo general hacerlo de una aplicacin de escritorio antes que de otros tipos de aplicaciones. Por otra parte, las herramientas de escritorio son soluciones en general completas que cubren la totalidad de necesidades que se presentan en el desarrollo de proyectos SIG, y por ello constituyen las herramientas primordiales para llevar estos a cabo. Ofrecen un gran numero de herramientas para gran diversidad de usuarios en diversidad de campos. Veamos con un poco ms de detalle las principales funcionalidades de los SIG de Escritorio: Entrada y salida de datos: Todas las aplicaciones SIG de escritorio deben obligatoriamente implmentar capacidades para leer datos y, opcionalmente, guardarlos. Pese a ser de tal importancia, la implementacin de las capacidades de entrada y salida es muy variable en unos u otros SIG. Una razn por la que esto sucede es el gran nmero de formatos de chero distintos. As, cada SIG de escritorio es capaz de abrir unos u otros formatos de archivo, y mientras que algunas tratan a todos ellos por igual, ciertas aplicaciones trabajan en un formato propio con carcter nativo y son capaces de incorporar datos en otros formatos a travs de extensiones o funciones de conversin entre estos y el formato particular del programa. Cabe destacar tambin la capacidad de conexin a bases de datos o servicios remotos que ofrecen algunos softwares (ahora la mayora). Visualizacin: La visualizacin es una funcin fundamental dentro de los SIG y del trabajo con cartografa en general. La gran mayora de las herramientas de escritorio incluyen un gran nmero de elementos para representar los datos geogrcos con los que se trabaja. En ocasiones, interesa nicamente crear una representacin de los datos, pero incluso cuando el trabajo con una herramienta SIG est enfocado a la realizacin de un anlisis, la visualizacin y exploracin visual de los datos de partida es un paso previo. En general, la forma de operar con los elementos de visualizacin es muy similar entre soluciones SIG distintas y, a diferencia de lo que sucede con la implementacin de otras funcionalidades, el manejo es prcticamente igual. Anlisis: Posiblemente, una de las funcionalidades ms destacadas y signicativas de un SIG de Escritorio. La tendencia actual es considerar las capacidades de anlisis como herramientas modulares que se ejecutan 21

Panorama SIG Libre Documentation, Publicacin 1.0

sobre una plataforma base, la cual comprende las capacidades de visualizacin y entrada y salidad de datos. Todas estas capacidades de anlisis son independientes entre s, auqnu pueden coordinarse y emplearse en conjunto para alcanzar un resultado concreto. Edicin: Funcionalidades que permiten modicar y corregir los datos geogrcos con los que se trabaja en un SIG. Las operaciones de edicin pueden emplearse para la actualizacin de cartografa, pero tambin para la creacin de nuevas capas, que pueden crearse a partir de la digitalizacin de imgenes o a partir de cualquier otra capa de la que se disponga. Puede distinguirse entre diversas formas de edicin: Edicin de geometras de una capa vectorial, edicin de atribuos en una capa vectorial, edicin de valores en una capa raster. Fundamentalmente, estas capacidades permiten la composicin de documentos cartogrcos de acuerdo con un diseo dado. En la elaboracin del diseo, pueden emplearse todos los elementos que habitualmente podemos encontrar en un mapa: el propio mapa en s, leyenda, ttulo, escala, orientacin, etc. Generacin de cartografa: Capacidades de creacin de cartografa impresa, para generar documentos que puedan posteriormente imprimirse y emplearse como una mapa csico. Las razones para la existencia de tales funcionalidades son muchas, pero la principal sigue siendo la necesidad que an existe de apoyarse en este tipo de documentos cartogrcos para poder incorporarlos a proyectos o estudios como parte de anexos cartogrcos. (Fuente: Olaya, V. 2012. Libro Libre SIG.) Los clientes de escritorio ofrecen un amplio rango de aplicaciones, desde simples visualizadores a software de creacin de mapas y anlisis y tecnologa punta en sistemas de edicin y anlisis profesional. En la siguiente tabla se presentan las caractersticas principales de los productos revisados en el contexto de este trabajo.

Figura 6.1: Informacin general sobre tecnologas

Figura 6.2: Implementacin de estndares OGC Breve descripcin de la seccin con retrospectiva y evolucin incluyendo la tabla de la seccin.

22

Captulo 6. Clientes

Panorama SIG Libre Documentation, Publicacin 1.0

6.3 Software
En esta seccin se describir brevemente cada uno de los productos evaluados en esta comparativa. gvSIG: GvSIG es un proyecto de desarrollo de Sistemas de Informacin Geogrca en software libre, que incluye principalmente las aplicaciones gvSIG Desktop y gvSIG Mobile. La aplicacin gvSIG Desktop fue la primera que se desarroll dentro del proyecto gvSIG, por lo que tambin se conoce abreviadamente como gvSIG. Este proyecto fue desarrollado por el gobierno local de la Comunidad Valenciana (Generalidad Valenciana) de Espaa, con el objetivo inicial de realizar la gestin de datos geogrcos de esa colectividad; precisamente la sigla gvSIG abrevia la denominacin Generalitat Valenciana Sistema de Informacin Geogrca. QGIS Es un Sistema de Informacin Geogrca que naci en mayo de 2002 y se estableci como proyecto en SourceForge en junio del mismo ao. Fue adems uno de los ocho primeros proyectos de la fundacin OSGeo. Se trata de una aplicacin de escritorio que pretende ofrecer a usuarios con necesidades bsicas un entorno sencillo y agradable. GRASS Proyecto ya muy veterano, anterior al nacimiento del FOSS, que el CERL (Construction Engineering Research Laboratory) comenz a desarrollar ante la necesidad de gestionar la gran cantidad de recursos naturales a cargo del ejrcito en los Estados Unidos. Actualmente, la infraestructura principal se gestiona entre el Instituto de Cultura de Trento y el Geselleschaft fr Datenanalyse und Fernerkundung (GDF) de Hannover. La principal caracterstica de GRASS es su gran nmero de funcionalidades, derivadas de todos los aos de desarrollo y de la estructura modular del programa, que favorece que los desarrolladores aporten al proyecto contribuciones individuales. Por otro lado, el mayor problema de cara a su difusin y adopcin es su complejidad y su pronunciada curva de aprendizaje. Aun siendo un software muy potente, carece de una interfaz grca amigable. UDig Este proyecto est desarrollado por la empresa canadiense Refractions Research Inc, y tiene como principal objetivo ofrecer un cliente de escritorio que soporte el mayor nmero de fuentes de datos tanto locales como remotas, y especialmente las basadas en protocolos OGC. Aunque presenta nicamente capacidades de anlisis y edicin vectorial, el proyecto JGrass aade capacidades rster adaptadas desde GRASS (con especial nfasis en las relacionadas con anlisis del terreno y similares). OpenJUMP JUMP (Java Unied Mapping Platform) fue uno de los primeros proyectos de cliente GIS de escritorio en el lenguaje Java. Destaca por hacer uso de la biblioteca JTS para poder realizar algunas operaciones de anlisis espacial, as como el soporte del formato GML y el protocolo WMS desde sus aparicin. Este proyecto fue liderado por Vivid Solutions1 pero dada la poltica de aceptacin de contribuciones externas por parte de la empresa motiv la aparicin de un nuevo proyecto derivado (llamado fork en el mbito FOSS) conocido como The JUMP Pilot Project (JPP) que pretende coordinar de forma ms democrtica las contribuciones de diferentes equipos de desarrollo para evitar duplicidad de esfuerzos. Esto ltimo es especialmente importante, ya que es destacable la cantidad de proyectos derivados que han surgido a partir de l: Open JUMP Open JUMP Viatoris DeeJUMP SkyJUMP PirolJUMP Kosmo Kosmo En Espaa destaca el proyecto Kosmo, desarrollado por la empresa SAGE, que pretende incorporar a la plataforma JUMP otros desarrollos de inters realizados en otros proyectos. El cliente de escritorio Kosmo permite

6.3. Software

23

Panorama SIG Libre Documentation, Publicacin 1.0

explorar, editar y analizar datos espaciales desde gran variedad de bases de datos, formatos vectoriales y formatos raster. Adems, cumple los estndares OGC y proporciona una excelente integridad topolgica. Su arquitectura de extensiones permite personalizarlo fcilmente para nes especcos. SAGA GIS: Esta herramienta se ha desarrollado sobre todo en Gottingen, Alemania. Se trata de un GIS de escritorio para Windows con una clara separacin entre su interfaz de programacin (API) y su interfaz de usuario. De hecho la primera tiene una licencia LGPL y la segunda es GPL. Esto permite realizar mdulos cerrados sin incumplir ninguna licencia. Este software destaca especialmente por su orientacin a la realizacin de anlisis de imgenes y modelos digitales del terreno. OPTICKS: Opticks es una herramienta para el anlisis de imgenes y datos provenientes de la teledeteccin. Es muy similar en funcionalidad y propsito a las herramientas comerciales ERDAS Imagine, RemoteView, ENVI o SOCET GXP. Opticks tiene funcionalidades del tipo GIS (como la utilizacin de shapeles), pero principalmente est pensado para el annisis de imgenes y vdeo o, de manera ms general, el anlisis de datos raster. GEODA: GeoDa es el principal programa desarrollado dentro de Centro GeoDa. Est diseado para implementar tcnicas para el anlisis exploratorio de datos espaciales. Proporciona una interfaz grca amigable para el uso de mtodos de anlisis de datos espaciales descriptivos, realizacin de estadsticas de autocorrelacin espacial y regresiones espaciales bsicas, anlisis de datos espacio-temporales de datos, y visualizacin 3D. TILEMILL: TileMill es una herramienta pensada para disear y crear mapas para su visualizacin via web de una manera rpida y fcil. Est construido sobre la biblioteca de renderizado, Mapnik, la misma que utilizan tanto OpenStreetMap como MapQuest. TileMill no pretende ser una herramienta de cartografa de uso general, sino que se centra en la racionalizacin y simplicacin de un conjunto limitado de casos de uso.

6.4 Puntos calientes


En el mbito geoespacial, el panorama de clientes SIG opensource goza de buena salud, y a pesar que se ha alcanzado un buen nivel tanto en relacin a la diversidad de productos disponibles, com en las prestaciones de estos, la mejora es continua y el desarrollo nuevas funcionalidades parece avanzar favorablemente. Una de las limitaciones existentes en los SIG de escritorio actuales es la capacidad para la gestin y visualizacin de datos en 3D. Algunos paquetes contienen estructuras hbridas para la visualizacin en 2.5D, en las que se representan los datos como una falsa tridimensionalidad mediante proyecciones grcas en 2D. Sin embargo, se requiere funcionalidades ms avanzadas para el manejo de estos datos ms complejos con ms de dos dimensiones. Este paradigma se repite con los datos temporales. Aadir la tercera componente espacial, es decir tener puntos (X,Y,Z), ms una componente tiempo asociada, se asemejara ms a la realidad, pudiendo adems, analizar procesos dinmicos de los elementos representados. Un ejemplo de datos en los que es necesario una visualizacin 3D son los datos LiDAR. El uso de datos LiDAR se est extendiendo cada vez ms dentro de los usuarios de herramientas SIG. Ya existen libreras capaces de no slo leer y escribir sino tambin de analizar y procesar datos lser en formato LAS Libreras. Hasta la fecha, ninguno de los paquetes presetados son capaces de trabajar con datos laser de forma nativa. Slo GRASS es capaz de importar datos en formato LAS, pero la forma en que gestiona y almacena los mismos no es ptima. En los ltimos aos, todos los SIG de escritorio estn trabajando para incorporar la posibilidad de scripting dentro de sus funcionalidades. La principal ventaja que representa esto es la automatizacin de procesos, que de otra manera se tendran que ejecutar una a una de manera manual, permitiendo la gestin de grandes volmenes de datos con la menor interaccin del usuario. En la mayora de los casos, el lenguaje utilizado para ello es Python (o alguno de sus derivados como Jython en el caso de gvSIG) El anlisis y procesado de datos, tanto raster como vectorial, ha sido uno de los puntos fuertes de los clientes SIG de cdigo abierto. Sin embargo, muchos de los nuevos paquetes de software incluyen cada vez ms mejoras en las herramientas disponibles para la edicin de datos, su visualizacin y representacin. Tambin en cuanto al entorno para el diseo de los mapas, aunque este aspecto resulta cada vez menos relevante al publicarse frecuentemente los datos analizados en entornos web o mviles.

24

Captulo 6. Clientes

Panorama SIG Libre Documentation, Publicacin 1.0

La integracin de bibliotecas de contrastado prestigio en los clientes SIG (ej, GDAL, JTS, Geotools... ) es tambin uno de los aspectos a destacar. Ello dota de robustez y versatilidad a muchos de estos proyectos, y permite a los usuarios tener garantas en los procesos ejecutados. Asimismo, la arquitectura modular de muchos clientes SIG permite incorporar multitud de complementos que los dotan de ms funcionalidades. Actualmente la interrelacin de libreras, complementos, algoritmos. . . entre diversos clientes, facilita la labor del usuario, que puede disponer de todo este ecosistema en un mismo entorno de trabajo -sea cual sea-. Por ejemplo, podemos trabajar con SEXTANTE desde gvSIG, QGIS, Kosmo. . . , o utilizar GRASS como plugin desde QGIS, por citar algunos ejemplos. Durante los ltimos aos el software SIG de escritorio ha dominado pero se prev que, debido a la continua mejora de las conexiones a internet, los servidores SIG sean el producto dominante en la prxima dcada. La razn de ser de los clientes de escritorio en el mundo GIS se apoya en la necesidad de realizar complejos y pesados anlisis espaciales, sin embargo, es tendencia que los servidores SIG incorporen capacidades de procesado de datos. Es ms, el volumen de captura de datos espaciales est yendo en aumento debido al abaratamiento de los sensores y su accesibilidad, lo que provoca una necesidad de equipos cada vez ms potentes. Actualmente, los servidores web ofrezen la posibilidad de utilizar grandes clsters de procesadores estn siendo la respuesta del mercado en ese sentido, y la tendencia es la de recurrir a estos servidores para gestin y procesado de tanta informacin. Sin embargo, hasta que el uso de los servidores web no se estabilice y tenga un abanico mucho ms extenso de herramientas de anlisis, el uso de clientes de escritorio seguir siendo necesario.

6.5 Curva de aprendizaje y conocimientos previos


Al estar todos los clientes de escritorio basados en interfaces grcas, su uso suele ser bastante sencillo. Todos poseen a rasgos generales las mismas caractersticas siendo su curva de aprendizaje muy pronunciada, esto es, se aprende muy rpido en poco tiempo. Pero como siempre, hay excepciones. La interfaz grca de GRASS no es muy intuitiva y no es fcil dnde buscar los diferentes mdulos de anlisis. La situacin se agrava cuando se trabaja a travs de la consola, aunque realmente aqu es donde radica su potencial debido a su versatilidad. Por tanto, es recomendable utilizar GRASS slo si se tiene alguna experiencia previa en SIG y con lnea de comando. Por el contrario, paquetes como QGIS, uDig, gvSIG u openJUMP, podran estar especialmente recomendados para principiantes. Los conocimientos previos necesarios para trabajar con este tipo de software coinciden con los conocimientos en tecnologas geoespaciales. Esto incluye compresin de los distintos formatos raster y vectorial, y el modo de conversin entre ellos, conocimiento de distintos algortmos de anlisis y gestin de datos geoespaciales, manejo de bases de datos, compresin de proyecciones cartogrcas y sistemas de referencia. Adems, existen conocimientos especcos para distintos paquetes. As, es necesario cierta competencia en CSS si se quiere trabajar con Tilemill, o experiencia en lenguajes del tipo scripting como shell o Python si se quiere profundizar en la utilizacin de GRASS o QGIS, respectivamente.

6.6 Documentacin
Empezar a trabajar con cualquier software siempre es un reto y, como hemos visto, en algunas ocasiones puede resultar incluso una tarea rdua. En algunas ocasiones esto se debe porque tampoco sabemos dnde encontrar una gua de inicio amena o tan siquiera la documentacin. Este apartado intenta cubrir este hueco, pretende ser un conjunto de enlaces tanto a la documentacin ocial como a una serie de tutoriales y ejemplos de los distintos proyectos.

6.5. Curva de aprendizaje y conocimientos previos

25

Panorama SIG Libre Documentation, Publicacin 1.0

Cuadro 6.1: Documentacin de proyectos Proyecto GRASS GIS uDig OPTIKS openJUMP QGIS GeoDa gvSIG SAGA GIS TileMill Documentacin GRASS docs uDig docs Notas de instalacin y uso openJUMP docs QGIS docs GeoDa docs gvSIG docs SAGA GIS docs TileMill docs OSGeo Live GRASS qs MapServer qs openJUMP qs QGIS qs gvSIG qs SAGA GIS qs TileMill qs Otros Tutoriales; Primera vez con GRASS Canal de vdeos en YouTube

Tutorial (espaol); Tutorial ocial (ingls) Tutoriales y vdeos demostrativos Videotutoriales Tutoriales Gua de la interfaz

26

Captulo 6. Clientes

CAPTULO 7

Dispositivos mviles

7.1 Autores
Santiago Higuera @santiagohiguera

7.2 Introduccin
Incluiremos en la categora de dispositivos mviles los paquetes de software que se pueden utilizar desde dispositivos mviles del tipo de los smartphones y tabletas. La posibilidad de disponer de GPS en los dispositivos mviles, ha convertido a estos aparatos en herramientas muy valiosas para su utilizacin como navegadores, plataformas de geomarketing, sensores mviles, y en general como plataforma para todo tipo de aplicaciones en los que la geolocalizacin sea un componente de valor. Actualmente existen dos sistemas operativos para dispositivos mviles que abarcan la gran mayora de los dispositivos funcionando: Android e iOS. El primero, Android, es el ms abierto de los dos, y dispone de un buen nmero de aplicaciones y libreras que s se ofrecen en modalidad Open Source permitiendo su utilizacin en desarrollos ulteriores. En ambos casos el sistema operativo subyacente es Linux. En los dispositivos iOS se utiliza una variante del lenguaje C para programarlos: el Objective C. En los dispositivos Android se utiliza una variante del lenguaje Java para programarlos. Vamos a centrar este artculo en el software y libreras disponible para dispositivos basados en Android, por ser a da de hoy el que dispone de sucientes herramientas con licencias libres para ser utilizadas en el desarrollo de aplicaciones para mviles.

7.3 Software
El sistema operativo Android permite utilizar una variante del lenguaje Java para programar los dispositivos mviles. En este sentido, muchas de las libreras Java disponibles para ordenadores de escritorio se pueden utilizar bajo condiciones de operacin Android. Sera el caso, por ejemplo, de la librera Java Topology Suite (JTS), que ha sido tratada en la seccin correspondiente a libreras. Existen por otra parte libreras especcas desarrolladas para Android, como es el caso de Mapsforge, pensada para visualizar informacin cartogrca en dispositivos Android. La utilizacin de Java permite tambin que libreras inicialmente pensadas para ser utilizadas en dispositivos mviles puedan ser reutilizadas en ordenadores de escritorio bajo entorno Java. En general la diferencia est en la parte grca de Java: En el caso de ordenadores de escritorio es usual utilizar el entorno Swing que no es compatible con Android. Importante: Se puede consultar la versin ms reciente, as como los enlaces asociados y anotaciones en la

27

Panorama SIG Libre Documentation, Publicacin 1.0

seccin de Moviles del wiki de OSGeo. Las principales libreras y programas disponibles en cdigo abierto son: OpenLayers y LeafLet: En ambos casos se trata de libreras Javascript cuyo objetivo es la visualizacin de informacin cartogrca en entornos de Web-mapping. Los dispositivos mviles disponen de navegadores que interpretan el Javascript, por lo que, en general, es posible utilizar las libreras Javascript para visualizaciones desde dispositivos mviles, sean estos Android, iOS u otros. Las pginas web basadas en OpenLayers o Leaet permiten su visualizacin en dispositivos mviles a travs del navegador. En el caso de OpenLayers versin 2 hay que tener algunas precauciones al programar las pginas. La futura versin 3 de OpenLayers superar estas limitaciones. El funcionamiento de estas libreras se ha tratado en la seccin correspondiente a Libreras. OSMDroid: El objetivo de OSMDroid es proporcionar una librera Java-Android para visualizar mapas en dispositivos Android. Ofrece una clase MapView para sustituir a la que viene de serie en Android que permite la visualizacin de tiles de OpenStreetMap. Se pueden visualizar tiles en modo on-line y en modo off-line. Tambin proporciona clases para visualizar e interactuar con overlays, marcadores y otros. MapsForge: Mapsforge es una librera Open Source que permite gestionar la visualizacin de mapas de OpenStreetMap en los dispositivos Android. Es ligera, ocupa unos 300 Kb. Los mapas tienen un formato vectorial binario que los hace tambin ligeros. Utiliza un elemento MapView similar al del API de Google. Tiene una buena API para overlays (capas vectoriales superpuestas). Se pueden personalizar los estilos de renderizacin de los mapas. Tiene una herramienta para crear mapas a medida a travs de Osmosis. Algunos puntos dbiles seran que no dispone de API para Bubbles y no limita la extensin del mapa. OsmAnd: Es una herramienta de navegacin y routing para trabajar desde dispositivos Android con cartografa procedente de OpenStreetMap. Puede trabajar online y ofine, previa descarga de los mapas. Proporciona instrucciones de navegacin de forma visual y mediante voz sintetizada. La navegacin y el routing es adaptable a vehculos automviles, bicicletas o peatones. Permite mostrar la posicin GPS del dispositivo y su orientacin sobre la cartografa. Se puede mostrar el mapa orientado con el Norte arriba o en modo head-up o proa-arriba. GeoPaparazzi: Permite tomar fotografas y notas georeferenciadas desde dispositivos Android, para poder ser visualizadas posteriormente con otras herramientas GIS. Tambin proporciona una herramienta de tracking durante los recorridos. gvSIGMini: Es un cliente visualizador de cartografa para Android. Proporciona clientes WMS y WMS-C. Permite la bsqueda de direcciones y el clculo de rutas. Trabaja en modo on-line y off-line. Se pueden superponer varias capas. Proporciona funciones de navegacin GPS y posicionamiento por GPS o por red telefnica. Se puede compartir

28

Captulo 7. Dispositivos mviles

Panorama SIG Libre Documentation, Publicacin 1.0

la posicin a travs de las redes sociales (Twitter, Facebook) o por SMS y eMail. Permite la integracin de Street View. Graphhopper: Es una herramienta de routing que trabaja con datos de OpenStreetMap. Se puede utilizar desde dispositivos Android, a travs de su integracin con MapsForge. Tambin es posible utilizarlo desde pginas web como un servicio mediante llamadas HTTP desde Java o Javascript. Desde aplicaciones Java de escritorio es posible trabajar con Graphhopper en modo off-line. Se pueden calcular rutas para automviles, bicicletas o paseos andando. Tambin se pueden crear vehculos personalizados. OsmSharp: Es una herramienta para trabajar con cartografa de OpenStreetMap. Permite la visualizacin de informacin vectorial y el clculo de rutas. Se puede utilizar en Android, iOS y WindowsPhone, as como en Linux, Windows y OSX. Glob3Mobile: El proyecto Glob3 Mobile, desarrollado por IGO SOFTWARE y ULPGC con el respaldo de organismos pblicos y privados espaoles. Se trata de un componente para desarrollar mapas en dispositivos mviles, nativo y multiplataforma; permite aplicaciones 2D, 2.5D y 3D, tanto Android como iPhone y en general en cualquier entorno HTML5.

7.4 Puntos calientes


Actualmente hay dos sistemas operativos para mviles que acaparan la mayora de los dispositivos utilizados. Se trata del sistema iOS de Apple y el sistema Android de Google. El ms abierto es el sistema operativo Android, si bien ninguno de los dos es realmente abierto. Es importante destacar que, cuando el dispositivo mvil utiliza un navegador web para visualizar informacin en la red, la distincin entre dispositivos mviles y ordenadores de escritorio se hace ms difusa, pues las mismas herramientas y libreras nos sirven para visualizar informacin en un dispositivo mvil u otro tipo de elemento de computacin. Es el caso de las libreras OpenLayers o LeafLet, que nos permiten, con pequeas diferencias, acceder a la visualizacin de informacin cartogrca desde cualquier navegador, sea este basado en mviles o en ordenadores de escritorio. Otro frente actual es el de los sistemas operativos que tratan de ser funcionales tanto en dispositivos mviles como en ordenadores de escritorio. En esta categora se incuyen el sistema operativo Ubuntu mvil o el Windows 8 que permiten ser ejecutados en todo tipo de ordenadores. Es previsible que el aumento de potencia de los dispositivos mviles unido a la conveniencia de compatibilidad entre dispositivos, permita en un futuro cercano que la distincin entre sistemas operativos para dispositivos mviles y para ordenadores de escritorio se haga cada vez ms difusa. Es previsible que la visualizacin 3D vaya ganando protagonismo en los prximos aos.

7.5 Curva de aprendizaje y conocimientos previos


La programacin de los dispositivos Android se realiza a travs de un lenguaje Java propio de Android. Muchas de las libreras disponibles para Java funcionan tambin en dispositivos Android. Es necesario conocer los fundamentos bsicos de la programacin Java y, adems, conocer la forma de utilizar Java en Android. No es un lenguaje sencillo y adems la variedad de dispositivos y de tamaos de pantallas hace un poco ms complicada la programacin. Conocidos los fundamentos de la programacin en Android, es posible utilizar las herramientas descritas anteriormente con un pequeo esfuerzo adicional que permita conocer cada una de ellas.

7.4. Puntos calientes

29

Panorama SIG Libre Documentation, Publicacin 1.0

7.6 Documentacin
Cuadro 7.1: Documentacin de proyectos Proyecto OpenLayers LeafLet OSMDroid MapsForge OsmAnd Geopaparazzi gvSIG-Mini Graphhopper OsmSharp Glob3 Mobile Home OpenLayers Home Leaet Home Repository Mapsforge Home OsmAnd Home Geopaparazzi Home gvSIG-Mini Home Graphhopper Home OsmSharp Home Glob3 Home Documentacin Documentation Tutorials How to get... Mapsforge 0.3.0 Javadoc OsmAnd repository Geopaparazzi Documentation gvSIG-Mini Documentation Quickstart users OsmSharp documentation Glob3 documentation Otros OL OSGeoLive Quickstart OSGeoLive Quickstart [Article: AndroCode] Taller Mapsforge Sigte 2013 ... ... ... Quickstart developpers ... About

30

Captulo 7. Dispositivos mviles

CAPTULO 8

Conclusiones

En este artculo hemos tratado de recoger cul es el estado actual de las herramientas libres para el procesado de datos geoespaciales. Para ello, hemos agrupado en seis categoras diferentes (Servidores, Webmapping, Libreras, Clientes, Mviles y Bases de Datos) los proyectos que ofrecen soluciones para el almacenamiento, procesado, anlisis, publicacin, visualiacin y, en general, cualquier actividad relacionada con datos geoespaciales. Tanto los servidores, como los clientes de escritorio y las bases de datos han alcanzado ya una madurez plena y ofrecen una muy alta calidad de productos capaces de competir y superar conocidos paquetes comerciales. Sin embargo, en el caso de los clientes de escritorio se observa que van perdiendo relevancia en favor de proyectos dedicados al Webmapping. Por su parte, las nuevas tecnologas mviles, con la incorporacin de sistemas GPS estn, incentivando la aparicin de software dedicado a geolocalizacin. Tambin son numerosos los nuevos proyectos enfocados a la manipulacin de datos LiDAR. Python se est convirtiendo en el lenguaje ms extendido en el mundo SIG libre. De hecho, existe una tendencia en casi todas las categoras a la utilizacin de Python, bien sea para el propio desarrollo de los proyectos o bien para dotarlos de una herramienta de scripting. A continuacin se incorporan unas conclusiones ms detalladas de cada una de las categoras de proyectos tratados en este escrito.

8.1 Servidores
Tras revisar el estado de los principales proyectos encargados de ofrecer servicios geoespaciales, se aprecia una elevada madurez de la mayora de productos: no han aparecido proyectos nuevos relevantes en los ltimos dos aos y los proyectos ms veteranos siguen en pleno desarrollo, sin dejar de ofrecer nuevas funcionalidades y mejoras. Cabe destacar tambin la relevancia que van adquiriendo proyectos desarrollados en Python, unindose como base tecnolgica a la de proyectos ms veteranos escritos en C/C++ y Java.

8.2 Webmapping
Tras revisar el estado de los principales proyectos encargados de la visualizacin interactiva de mapas en el navegador, se aprecia una elevada aparicin de distintos proyectos que ofrecen la integracin de componentes variados integrndolos en una aplicacin mucho ms completa y robusta. Adems hay que destacar la aparicin de frameworks que hacen que la interaccin con el usuario sea ms interactiva, aprovechando los benecios de HTML5 y CSS3. PD: Opinin personal Para m creo que la evolucin de las libreras destinadas al webmapping han avanzado gracias a la integracin de componentes externos hacindolas evolucionar a portales muchos ms completos y aadindole funcionalidades que a primera instancia no se incluan, dndole a las herramientas otra dimensin ms.

31

Panorama SIG Libre Documentation, Publicacin 1.0

8.3 Libreras
La aparicin de libreras en Python y soluciones de scripting sencillas aplicables a diversas plataformas y lenguajes de programacin, es lo ms destacable en los ltimos tiempos. En ese mbito estaran Shapely o GeoScript. Cada vez ms son las libreras que intentan ofrecer soluciones para trabajar con datos LiDAR y, aunque todas ellas ofrecen lectura y escritura de datos, slo algunas aportan capacidad de procesado y anlisis. La librera Geotools es una librera Java consolidada y con un desarrollo muy activo que sigue aadiendo componentes, tanto para procesamiento geoespacial como para visualizacin. Las libreras para el clculo de rutas estn congiendo ms relevancia debido a la oferta de datos pblicos.

8.4 Clientes
Debido a la larga trayectoria de todos los clientes de escritorio, es destacable su gran madurez en todos sus aspectos. De hecho no ha aparecido ningn nuevo proyecto en los ltimos aos y todos han seguido un desarrollo constante. Cabe destacar, quizs, el caso de QGIS cuya popularidad ha ido en aumento convirtindose en el SIG de Escritorio libre ms popular. En gran parte, esto se ha sido debido a la integracin de Python tanto para la creacin de script como para la implementacin de nuevos mdulos, que le coneren una gran versatilidad.

8.5 Mviles
La disponibilidad del GPS en los dispositivos mviles, hace que se prevea un crecimiento del mercado de aplicaciones mviles basadas en la geolocalizacin. La utilizacin de aplicaciones Web a travs del navegador del dispositivo mvil se convierte en una solucin muy ecaz al problema de la multiplataforma. En cuanto a soluciones nativas en Java-Android para aplicaciones de visualizacin cartogrca y geolocalizacin, tanto OSMDroid (mapas de tiles) como Mapsforge (mapas vectoriales) tienen un desarrollo activo y evolucionan a buena velocidad. La reciente aparicin de Graphhopper con soluciones mviles de routing apoyndose en Mapsforge promete dar un impulso a ambos proyectos.

8.6 Bases de Datos


El ecosistema de bases de datos geogrcas est bastante maduro, ofreciendo tanto una gran calidad como una variedad de tipos; casi todos ellos muy alineados con la compatibilidad OGC, haciendo que el cambio de una base de datos a otra sea prcticamente transparente. En cuanto a las bases de datos NoSQL, estn experimentando una interesante evolucin que habr que seguir de cerca los prximos aos.

32

Captulo 8. Conclusiones

CAPTULO 9

Acerca de este documento

En 2007, durante las primeras Jornadas de SIG Libre, Miguel Montesinos y Jorge Sanz presentaron una comunicacin titulada Panorama actual del ecosistema de software libre para SIG [Panorama07]. En esta presentacin se haca una rpida revisin a los principales proyectos adems de presentar la fundacin OSGeo, la distribucin geogrca de los principales grupos de desarrollo y unas ichas que resuman los datos ms relevantes de los proyectos evaluados. Un ao ms tarde esta misma comunicacin se volvi a realizar (actualizada) como sesin plenaria [Panorama08]. El trabaj sigui actualizndose durante un tiempo en forma de artculo que se public en un par de revistas (como [Novatica09]) y como una web en el wiki de Prodevelop. Han pasado algunos aos y el panorama ha cambiado, hay nuevos proyectos, otros han ido desapareciendo y la mayora se han ido actualizando y madurando. Es momento por tanto de retomar aquel trabajo y darle un enfoque un poco ms colaborativo, pasando de un esfuerzo de dos personas que trabajan n la misma organizacin a un grupo ms amplio, con perles ms variados y por tanto, ofreciendo diferentes visiones y sensibiliades. Este trabajo se enmarca en las octavas Jornadas de SIG Libre, yendo ms all de la presentacin de un artculo y una charla durante el evento para intentar tener un mayor recorrido, intentando ser un verdadero proyecto de documentacin, abierto a cualuier aportacin y utilizando prcticas habituales en proyectos de Software Libre. La seccin de introduccin explica en detalle la metodologa con la que hemos abordado el trabajo, con qu herramientas y canales de comunicacin se trabaja, cmo se coordina el grupo y se toman las decisiones, etc. Despus sucesivamente se irn presentando los proyectos agrupados funcionalmente para nalmente acabar con unas conclusiones. Este documento estar siempre accesible va web en http://panorama-sig-libre.rtfd.org/, y gracias al soporte de Read the Docs est disponible tambin en otros formatos para su descarga (PDF y EPUB entro otros). Nuestra intencin es mantenerlo vivo, mejorarlo y completarlo en la medida de nuestras posibilidades y hacer de l un punto de entrada para cualquier persona que se quiera iniciar en el mbito de las tecnologas geoespaciales, a veces complejo por la variedad de productos, estndares y formatos. Por supuesto el proyecto est abierto a nuevas colaboraciones a travs de los mecanismos expuestos en la introduccin. Marzo de 2014 Los autores

9.1 Autores
Alejandro Daz @alediator Ingeniero de Software en GeoSolutions S.A.S http://about.me/alediator Jorge Sanz @xurxosanz Analista en el equipo de tecnologas espaciales de Prodevelop S.L. http://jorgesanz.net Josep Sitjar @JosepSitjar Tcnico en SIG en el SIGTE y profesor del mster UNIGIS Mara Arias de Reyna @delawen Ingeniera especialista en Spatial IT de GeoCat http://delawen.com Moiss Arcos @moiarcsan Ingeniero Tcnico Informtico Desarrollador GIS en Emergya http://moisesarcos.wordpress.com/ Roberto Antoln @Tolanss Investigador y desarrollador de aplicaciones LiDAR en Forestry Commission 33

Panorama SIG Libre Documentation, Publicacin 1.0

Santiago Higuera @santiagohiguera . Ingeniero de caminos y master en Sistemas de Ingeniera Civil, CEO en MercatorLab S.L.

9.2 Licencia
Excepto donde quede reejado de otra manera, la presente documentacin se halla bajo licencia Creative Commons Reconocimiento Compartir Igual

34

Captulo 9. Acerca de este documento

Bibliografa

[GeoServerIGN] Using GeoServer at IGN (the French National Mapping Agency) to create new digital maps [Panorama07] Panorama actual del ecosistema de software libre para SIG. [Panorama08] Panorama actual del ecosistema de software libre para SIG (2a edicin) [Novatica09] Geographic Information Systems Cepis UPGRADE - Volume 2009 - Issue II

35

You might also like