Panorama Sig Libre

download Panorama Sig Libre

of 39

Transcript of Panorama Sig Libre

  • Panorama SIG Libre DocumentationPublicacin 1.0

    OSGeo-es

    28 de March de 2014

  • ndice general

    I

  • II

  • CAPTULO 1

    Introduccin

    A la hora de abordar este proyecto lo primero que nos planteamos es cmo lo queramos hacer, es decir, qurequerimientos 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 wikide OSGeo. La lista fue el punto de partida, fue el sitio donde nos comprometimos a colaborar y a realizar estapresentacin.

    1.3 Cmo nos organizamos?

    A partir de aqu surgi la forma en la que nos debamos organizar, mediante una reunin semanal a travs deirc, para evaluar el estado de consecucin de los objetivos marcados. Teniendo en cuenta que cada una de estasreuniones tienen su acta en la wiki de OSGeo, adems del log correspondiente para aqul que no haya podidoasistir.

    Todas las discusiones relacionadas con el contenido de cada seccin las llevamos a cabo mediante la generacin detickets (issues) en GitHub, de forma que se creasen hilos de conversacin en paralelo sobre los principales temasa discutir y no enviramos ruido a la lista. Aunque a pesar de tener estos hilos, en la lista se seguan notificandolas 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 losrecursos relacionados con la presentacin.

    Para ello tenemos habilitadas en el repositorio dos ramas:

    gh-pages: Rama para el desarrollo de la presentacin

    1

  • 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, unframework 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 dedocumentacin escrito en Python, que hace que se genere la estructura por defecto de un proyecto base para lageneracin 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 repositorioy dependiendo de lo que queramos modificar, tendremos que seleccionar una u otra rama. Para trabajar con lapresentacin, simplemente tendremos que modificar el fichero index.html que se encuentra en la rama gh-pages. En cambio para trabajar con el artculo, tendremos que modificar el archivo index.rst dentro de lacarpeta de la seccin con la que queremos colaborar.

    En cuanto tengamos los cambios listos para subir, debemos realizar el correspondiente commit y sucesivo pullrequest. Una vez ste est aceptado, se proceder a la actualizacin automtica de la documentacin alojada en laweb.

    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 herramientadenominada Read the Docs, hacindola fcil de encontrar y ofreciendo opcin de bsqueda. Esta herramienta nospermite subir la documentacin generada con Sphinx mediante la direccin al repositorio de Git. La documen-tacin ser compilada cada vez que se realice un commit, de forma que tendremos siempre la ltima versin denuestra 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 decampos comn. A continuacin se describen qu significan 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, especificando si el producto est Graduado oen Incubacin.

    Live: Indica si el producto forma parte del Live DVD que empaqueta el proyecto OSGeo Live.

    License: Se especifica 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 SoftwareLibre Ohloh.net

    Tech: Indica la tecnologa principal con la que se ha desarrollado el producto.

    2 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 cual-quier sistema de informacin, tambin conocida como middleware. En esta seccin se cubre por tanto cualquieraplicacin que se ejecuta en un servidor y que tiene como objetivo proporcionar uno o ms servicios que sernconsumidos por clientes, independientemente de si estos son otras aplicaciones de servidor, clientes web, clientesde escritorio o dispositivos mviles.

    Qu tipos de servicios actualmente se ofrecen relacionados con la Informacin Geogrfica? Una agrupacinfuncional podra ofrecernos las siguientes categoras:

    Servidores de mapas: Encargados de renderizar datos tanto vectoriales como raster en diferentes estilos yproyecciones cartogrficas, en general cumpliendo el estndar WMS de OGC

    Servidores de teselas: Una variante del anterior es aquellos servidores que ofrecen la cartografa renderiza-da nicamente en juegos de teselas con un nmero limitado de resoluciones, casi siempre adems empleandosistemas de almacenamiento intermedio (caches). En este caso hay dos estndares en el sector, el estndarTMS y el WMTS de OGC

    Servidores de datos brutos: Al contrario que las categoras anteriores, estos servidores ofrecen la cartogra-fa vectorial o raster en formatos que deben luego ser procesados por los clientes para la tarea para la queestn desarrollados, tanto si es para su anlisis como su visualizacin. Los estndares de comunicacin sonWFS y WCS respectivamente para datos vectoriales y raster. En esta categora se podran incluir tambin alos servidores relacionados con la publicacin de datos de sensores, en todo el abanico de estndares OGCenglobados en lo que se conoce como Sensor Web Enablement

    Servidores de metadatos: Estos servidores implementan estndares de descubrimiento de datos comoCSW. Mediante estos servidores usuarios y otros componentes pueden encontrar juegos de datos y otrosservicios mediante protocolos estandarizados. Estos servidores son el corazn de las Infraestructuras deDatos Espaciales.

    Servidores de geoprocesos: Estos servidores exponen operaciones de anlisis, que pueden partir de datosdirectamente disponibles en el servidor o bien acceder a otros servidores de datos brutos para encadenarservicios que realicen flujos de geoprocesamiento de todo tipo. El estndar de OGC para geoprocesamientoes el WPS.

    3

  • Panorama SIG Libre Documentation, Publicacin 1.0

    Es habitual que un producto de Software Libre cubra ms de una funcionalidad de las definidas en la categorizacinanterior, especialmente con los proyectos ms veteranos. La interoperabilidad es otra de las caractersticas delSoftware Libre geoespacial y es por ello que la mayora de los productos suelen intentar implementar aquellosestndares que afectan a su rea de inters.

    En las siguiente tablas se presentan las caractersticas principales de los productos revisados en el contexto deeste trabajo as como los principales estndares que implementan. Se puede consultar ms informacin sobre laestructura 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 laseccin 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 deaparicin es cronolgico, empezando por los proyectos ms veteranos.

    MapServer: Probablemente el servidor de mapas ms usado en el mundo sigue desarrollndose sin pausa, in-corporando en los ltimos aos nuevos subproyectos como MapCache y TinyOWS. Su configuracin siguesiendo mediante ficheros de texto aunque aparecen nuevas interfaces para facilitar su edicin como Map-Manager. Sigue destacando de este servidor su ligereza y facilidad de despliegue (si no se necesita soportepara formatos privativos).

    deegree: Este servidor de mapas con una comunidad principalmente alemana soporta una gran cantidad de es-tndares. Este servidor se caracteriz durante mucho tiempo por su ardua configuracin, cosa que est cam-

    4 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 documentacinmucho ms detallada.

    GeoServer: GeoServer es un proyecto ejemplar por su activa comunidad, frecuentes actualizaciones e innova-ciones ms all de la implementacin de gran parte de los estndares OGC existentes. Sus extensiones alestndar SLD, el soporte de estilos CSS, el buen soporte para multitud de orgenes de datos y su amigable in-terfaz lo convierten en un servidor de mapas ampliamente utilizado en todo tipo de contextos, especialmenteen grandes instalaciones.

    GeoNetwork: El servidor de metadatos ms utilizado en el sector sigue ofreciendo actualizaciones y mejorasconstantes gracias al apoyo tanto de las empresas que lo desarrollan como de las administraciones pbli-cas que lo utilizan, haciendo de este servidor la primera opcin a la hora e implementar un nodo de unaInfraestructura de Datos Espaciales, con mltiples referencias y casos de xito.

    52north SOS: Probablemente la implementacin ms relevante del principal estndar OGC sobre sensores. Nodispone de una interfaz de usuario salvo una sencilla consola para ejecutar consultas de ejemplo. La ltimaversin (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 aparente-mente puede funcionar en Linux) y su falta de soporte para estndares OGC parece que le ha dejado atrsen el panorama de Software Libre. Pese a todo, es el nico servidor de mapas que integra completos visoresy se puede considerar una solucin completa, aunque en general se prefieran entornos desacoplados dondeel uso de estndares facilite desarrollar clientes personalizados.

    PyWPS: Este pequeo servidor WPS se ha reescrito durante el ltimo ao y pretende ofrecer una interfaz ligeraen la que desarrollar geoprocesos en el popular lenguaje de programacin Python. La creciente comuni-dad geoespacial alrededor de este lenguaje de programacin y por lo tanto, una cada vez mayor oferta decomponentes que ofrecen funcionalidad pueden hacer este producto interesante.

    GeoWebCache: GeoWebCache naci como un proyecto dentro del programa de becas de verano de Google paraestudiantes (Google Summer of Code). El objetivo era cubrir la necesidad en GeoServer de un servidorde teselas que permita pregenerar y acelerar la cartografa servida por este producto. Con el tiempo haido creciendo en funcionalidad y se puede considerar un producto independiente, aunque en general se

    2.3. Software 5

  • 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. Elproyecto lleva ya bastante tiempo estancado sin prcticamente actividad por lo que se puede considerar enperiodo 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 geo-procesos 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 queGeoWebCache permite responder a cualquier peticin WMS, no solo a las correspondientes con teselas delas caches definidas. Adems dispone de varios mecanismos de almacenamiento de teselas ms all deluso del sistema de ficheros. Adems puede usarse como un servidor de mapas estndar para ficheros deconfiguracin de la biblioteca de renderizacin Mapnik. Su configuracin mediante sencillos ficheros detexto y las herramientas de ayuda a configuracin y despliegue de las mismas lo convierten en un productociertamente verstil.

    PyCSW: Servidor de metadatos desarollado en el lenguaje Python, diseado para ser tanto una librera como unservidor independiente, por lo que se puede integrar en otros desarrollos o desplegar como un servidor. Es unproyecto pequeo, reciente y sin interfaz de usuario. Se puede arrancar el servidor importando una carpetade ficheros 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 serviciosexistentes. Este servidor se ha integrado en productos ms grandes como son el servidor de Open DataCKAN y el portal de datos geogrficos GeoNode.

    QGIS Server: Este servidor nace en el contexto del proyecto QGIS como una forma sencilla de exponer proyec-tos de este software de escritorio a travs de la red y mediante los estndares WMS y WFS. Tcnicamentees un producto escrito en C++ que se despliega como un servidor FastCGI/CGI (como MapServer) y queproporciona un plugin para el software de escritorio de tal forma que se facilita enormemente la publicacinde datos geogrficos desde este producto.

    TileStache: Servidor de teselas heredero del veterano TileCache, desarrollado para mejorar las funcionalidadesde ste, aunque no ha tenido mucha actividad en los ltimos meses. Sus principales caractersticas son queest orientado a renderizar mapas a partir de ficheros de configuracin de Mapnik, generar teselas vectorialesen formato GeoJSON, puede almacenar las caches no solo en disco sino tambin en memoria o en AmazonS3.

    ZOO Project: Este proyecto consiste en un ncleo escrito en C++ que permite ejecutar los procesos en diferenteslenguajes y para cualquier propsito, un conjunto de servicios a modo de ejemplo que escritos en diferenteslenguajes de programacin y utilizando libreras bien conocidas realizan diferentes procesos como el clculode 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 conMapServer para generar servicios WMS dinmicos a partir del resultado de procesos WPS de forma que elsoftware ofrece directamente un mtodo de visualizacin de los resultados.

    EOxServer: Este software es bsicamente una aplicacin web escrita en el framework Django, que permite mo-delar juegos de datos de observacin de la Tierra, utilizando y extendiendo MapServer para ofrecer serviciosWMS y WCS de estos datos as como una interfaz de visualizacin, consulta y administracin en un en-torno web. A partir de un conjunto de imgenes raster de diferentes reas e instantes temporales, EOxServeradems de exponerlas por WMS y WCS usando el perfil especfico 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 generaningn 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. Elhosting de teselas de Mapbox usa una variante de este servidor para su servicio.

    6 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 desa-rrollar este tipo de productos es elevada y hace algn tiempo que no aparece ningn producto relevante. As y todolos 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 simbolizacinhan facilitado la aplicacin de estos productos en proyectos cada vez ms complejos, como en el caso del uso deGeoServer en el Instituto Geogrfico Francs [GeoServerIGN]. La innovacin de aplicar al rea de la cartografaun lenguaje de definicin de simbologas anlogo a las hojas de estilo de las pginas web (el estndar CSS) va afacilitar a los especialistas disear y mantener los estilos de sus mapas de una forma mucho ms sencilla y a la vezexpresiva.

    En cuanto a los servidores de geoprocesamiento, la capacidad para definir procesos de anlisis geogrfico utili-zando lenguajes de programacin de alto nivel, como Python o JavaScript entre otros, va a facilitar la inevitabletransicin de este tipo de procesos desde los clientes de escritorio a los servidores. As, proyectos como ZOOProject o el uso de GeoScript en GeoServer ponen a disposicin de los analistas un entorno de trabajo que soportavarios 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 enproyectos con cartografa que no sufre actualizaciones frecuentes, imgenes raster o simplemente que no necesitanestilos dinmicos. Esta situacin en cualquier caso para la informacin vectorial se percibe como transitoria yaque estn empezando a aparecer productos y servicios que optimizan la presentacin de cartografa sirvindolaen 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 lasimbolizacin.

    Finalmente en el rea de los servicios de descubrimiento el desarrollo de GeoNetwork, el principal servidor demetadatos libre, sigue activo y van apareciendo nuevas alternativas y variantes como el soporte del protocolo CSWpor 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 perfiles de tcnicos a la hora de trabajar con este tipo de productos. Esto se debe a que laimplantacin de un servicio en la red en primer lugar necesita de especialistas en sistemas que se encarguen de unacorrecta instalacin del producto, adaptacin del sistema operativo y de la red a la que se conecta, otros sistemasque puedan afectar al mismo, configuracin y acceso a bases de datos, etc. Por otro lado igualmente en generales necesaria la intervencin de un tcnico especializado en el rea geoespacial para la configuracin avanzada delproducto, preparar la cartografa o bases de datos a ofrecer, generar metadatos, etc. Es habitual que tcnicos de unnico perfil hagan todo el trabajo pero como en cualquier proyecto geoespacial, es en la multidisciplinariedad delos 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 tantode la administracin de sistemas como de la Informacin Geogrfica es elevado, aunque puede depender tambindel producto. Nombrando los ms importantes:

    Desde el punto de vista de la administracin de sistemas:

    Instalacin y configuracin de servidores web y de aplicaciones.

    Configuracin de aplicaciones FastCGI/CGI, WSGI, NodeJS, JEE, etc. en funcin del producto.

    Creacin y configuracin de Bases de datos, esquemas de datos, usuarios y roles, etc.

    Configurar 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 ejecutn-dose en el contenedor de servlets Tomcat) detrs de un servidor web, e incluso ste ltimo detrs deun acelerador web como Varnish.

    Desde el punto de vista del tcnico en tecnologas geoespaciales:

    Conversin de formatos de datos geogrficos (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 especificaciones OGC, tanto en protocolos como en formatos (en funcin delproducto).

    Comprender las principales proyecciones cartogrficas 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 puedenayudar a empezar a trabajar con cada uno de los productos revisados.

    Cuadro 2.1: Documentacin de proyectos

    Proyecto Documentacin OSGeo Live OtrosMapServer MapServer docs MapServer qsdeegree deegree docs deegree qsGeoServer GeoServer docs GeoServer qs taller de introduccinGeoNetwork GeoNetwork docs GeoNetwork qs Geonetwork workshop52north SOS 52north SOS docs 52north SOS qsMapGuide MapGuide docs MapGuide qsPyWPS PyWPS docs PyWPS tutorialGeoWebCache GeoWebCache docs taller de BoundlessTileCache TileCache README52north WPS 52north WPS qs tutoriales de 52north WPSMapProxy MapProxy docs MapProxy qsPyCSW PyCSW docs PyCSW qs taller de PyCSWQGIS Server QGIS Server qs tutorial de QGIS ServerTileStache TileStache docsZOO Project: ZOO Project docs ZOO Project qs taller del FOSS4G2013EOxServer EOxServer docs EOxServer qsTileStream notas de instalacin y uso

    8 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 querepresenta los objetos definidos en un espacio geomtrico. La mayora de las bases de datos espaciales permitenrepresentar objetos geomtricos simples, tales como puntos, lneas y polgonos. Algunas bases de datos espacialesmanejan 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, conmucha diferencia, la implementacin ms madura.

    En la siguiente tabla se presentan las caractersticas principales de los productos revisados en el contexto de estetrabajo. 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 laseccin 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 deaparicin es cronolgico, empezando por los proyectos ms veteranos.

    9

  • 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 esmuy sencillo. Es una base de datos que se encuentra por defecto en la mayora de servicios de hosting y portanto suele ser la puerta de entrada de muchos desarrolladores. Sin embargo, su falta de compatibilidad conlos 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 casicannico.

    Spatialite: Al estar basada en SQLite, es una base de datos basada en ficheros, lo que simplifica en gran medidasu uso y distribucin. Esta extensin es candidata para formar parte de Geo Package, un nuevo formatoabierto de OGC para almacenar y transferir datos geogrficos.

    H2GIS: H2 es una base de datos Java ligera, con gran facilidad de instalacin y distribucin. Basada tambin enficheros, se distingue de Spatialite porque contiene un servidor que permite varias conexiones concurrentesa la misma.

    3.4 Puntos calientes

    El Open Geospatial Consortium (OGC) ha desarrollado el estndar Simple Feature y establece normas para lasfuncionalidades espaciales de los sistemas de bases de datos. Tambin llamada norma ISO 19125, se presenta endos partes:

    La primera parte, la norma ISO 19125-1 (SFA-CA para la arquitectura comn), define un modelo de caracters-ticas simples de dos dimensiones, con interpolacin lineal entre vrtices. El modelo de datos definido en SFA-CAes una jerarqua de clases. Esta parte tambin define 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 tambincontiene referencias a la proyeccin utilizada y otras caractersticas que pudieran resultar de inters a la hora deoperar con dichas geometras.

    La segunda parte de la norma ISO 19125-2 (SFA-SQL), define una serie de funcionalidades utilizando SQL. Estasfuncionalidades abarcan la mayora de las operaciones tpicas que pueden llevarse a cabo con datos geogrficos:

    Mediciones Espaciales: Para calcular la longitud de una lnea, el rea de un polgono, la distancia entregeometras,...

    Funciones Espaciales: Modificar geometras existentes para crear nuevas, es decir, operar con geometraspara obtener nuevas geometras (interseccin, buffering,...)

    Predicados Espaciales: Devuelven un booleano (verdadero/falso) acerca de la condicin de una o ms geo-metras 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 especfica acerca de una geometra, por ejemplo qupunto 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 programaciny 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 puedenayudar a empezar a trabajar con cada uno de los productos revisados.

    Cuadro 3.1: Documentacin de proyectos

    Proyecto Documentacin OSGeo Live OtrosMySQL Spatial MySQL Spatial docs introduccin a MySQL SpatialpostGIS postGIS docs postGIS qs postGIS introductionH2GIS H2GIS docs quickstartSpatialite Spatialite docs 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 cualquiersistema de informacin en la forma de libreras. Como se ver, algunos de estos proyectos han cogido protago-nismo a lo largo del tiempo ofreciendo no slo una interfaz de programacin (o API en ingls), si no tambin unconjunto de herramientas propias. Dado el gran abanico que representan, se dividir esta seccin en otras cua-tro secciones en las que se agrupan libreras con caractersticas y funcionalidades similares. As, tendremos lasiguiente divisin:

    Geoprocesamiento: Aqu se incluyen todas las herramientas y libreras que proporcionan mtodos para lamanipulacin de informacin geoespacial como GDAL/OGR, GEOS, JTS/GeoTools, Geoscript o Shapely.

    Routing: Estas libreras ofrecen enrutamiento geoespacial y funcionalidad de anlisis de redes. Compren-demos aqu las libreras OSRM, pgRouting y OpenTripPlanner

    LiDAR: Aqu se hablar sobre aquellas libreras y conjunto de herramientas capaces de trabajar con datosLiDAR. 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 parala automatizacin procesos para la publicacin de informacin como GeoBatch.

    La siguiente tabla muestra las principales caractersticas las libreras tratadas en este artculo. Informacin deta-llada 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 laseccin 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 tratade mejorar la librera libLAS cuyo desarrollo lleva parado algn tiempo. A su vez, libLAS se gener a partir deuna 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 lasherramientas (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 paraprocesar y analizar datos y para generar modelos digitales de elevacin. Por ltimo, LASzip es la nica libreracapaz de leer y escribir datos LiDAR en formato LAZ. ste es un tipo de formato comprimido pero con las mismasespecificaciones que el formato LAS.

    El procesamiento de datos es, en general, la recogida y manipulacin de elementos de datos para producir infor-macin significativa. As pues, a travs del geoprocesamiento, se manipulan los datos espaciales con el objetivode presentarlos en un contexto especfico. En cuanto al procesamiento de datos vectoriales aparecen dos tenden-cias claras: una serie de libreras orientadas a la generacin de scriptlets de forma intuitiva y sencilla (GeoS-cript/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 geome-tras incorporando una buena coleccin de algoritmos espaciales 2D. El rendimiento es elevado permitiendo lautilizacin de sus algoritmos en entornos de produccin.

    Geotools es una librera 100 % Java con todo tipo de herramientas para procesamiento y visualizacin de conte-nidos geoespaciales. Implementa la mayora de estndares del OGC. El procesamiento espacial lo realiza embe-biendo JTS. Aade la posibilidad de trabajar con Sistemas de Referencia y acceder a bases de datos. Es parte delbackend 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 imgenesrster de forma que mejoren el rendimiento al ser servidas.

    GeoBatch da un paso ms all en el geoprocesamiento, permitiendo la definicin de ciertos flujos de procesamien-to y permitiendo la ejecucin de los mismos en background a travs de distintos roles y usuarios (as como laejecucin 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 grfico con anti-aliasing de calidad, posicionamiento inteligente de etiquetas, y simboliza-cin SVG escalable. La mayor fama de mapnik viene por ser utilizado como render de la capa principal de OpenStreet 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 yOpenTripPlanner.

    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 routingutilizando 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 posibilidadde trabajar con datos LiDAR en el formato LAS. Algunas tambin incorporan conjuntos herramientas para elprocesado y anlisis de datos. Estas herramientas suelen aparecer como comandos de consola para favorecer eldesarrollos de scripts. Con el objetivo de favorecer la creacin de sencillos programas, los esfuerzos se estncentrando en incorporan bindings en python. Para permitir un uso ms sencillo y cmodo la comunidad esthaciendo esfuerzos en la creacin interfaces grficas y en la incorporacin de forma nativa de lectura y escriturade 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 pre-procesados y las libreras que pueden trabajar sin pre-procesar los datos. Mientras que las libreras con datosprocesados hoy en da devuelven respuestas instantneas a rutas complejas, las libreras con datos en crudo per-miten una mayor flexibilidad a la hora de incorporar datos en tiempo real, como puede ser el trfico o el clima.Tambin es relevante mencionar que OpenTripPlanner permite el clculo de rutas multimodal; esto es, clculo derutas combinando diferentes medios de transporte.

    Respecto al geoprocesamiento, probablemente, los avances ms significativos se estn realizando en la abstracinde las libreras clsicas con el objetivo de facilitar su uso de cara a los desarrolladores. Dentro de este grupo seenmcuentran GeoScript, Shapely o GeoBatch.

    Mapnik se suele embeber tpicamente en aplicaciones python que publican mapas en Internet, aunque las ltimasmejoras 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 comna todas ellas. Aunque existen ya interfaces grficas para trabajar con estas herramientas, el mdo ms rpido yverstil es la lnea de comando y la utilizacin de scripts o incluso la programacin en Python. Por tanto, tenerexperiencia en estos campos facilitara su utilizacin. Escribir en la consola nunca es agradable para cualquierpersona que empieza, pero la mayor ventajan que presentan es que todas las herramientas tienen las mismas fun-cionalidades y es muy intuitivo aprender el lenguaje utilizado en cualquiera de ellas si se adquieren conocmientosprevios 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 queva a marcar qu algoritmo elegimos y cmo vamos a usarla ser nuestra fuente de datos y nuestras necesidades ono 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 especficade 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 degeoprocesamiento necesario. Python dispone de GeoScript, Shapely como herramientas especficas 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 puedenser de ayuda para trabajar con estas libreras:

    Cuadro 4.1: Documentacin de proyectos

    Proyecto Documentacin OSGeoLive

    Otros

    GDAL/OGR GDAL docs; OGR docs GDAL qs GDAL wikiJTS TopologySuite

    JTS Topology Suitedocs

    GEOS GEOS API docs Tutorial de la documentacin de DjangoGeoTools GeoTools docs Soporte y comunidadShapely Shapely docsGeoScript * GeoScript docs

    Tutoriales oficiales>_

    libLAS libLAS docs libLAS qsLAS-lib/LASzip

    Tutoriales; Artculosobre LASzip

    Manual de *Minnesota Department of NaturalResources*

    PDAL PDAL docsSPDlib SPDlib docs TutorialesLaspy LASpy docsOSRM General OSRM

    instructionsOSRM Server API

    pgRouting pgRouting docs pgRou-tingqs

    Gua para principiantes

    OpenTrip-Planner

    OpenTripPlanner docs Gua de desarrollador;

    GeoBatch GeoBatch docsMapnik Mapnik docs Mapnik

    qsTutoriales

    16 Captulo 4. Libreras

  • CAPTULO 5

    Web Mapping

    Por hacerSeccin 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 deproyectos, comunidades, blogs, congresos y dems eventos (como el que ocupa este artculo) que se organizancon cada vez mayor xito. Esto puede provocar al recin llegado cierta confusin ya que el inherente carctermodular del software libre hace que muchos proyectos dependan de otros y por tanto las interconexiones sonmltiples y a todos los niveles.

    Con la proliferacin de Internet, la aparicin de los servidores de mapas se produjo de forma conjunta a la deaplicaciones web que exponan los contenidos servidos por estos productos. Al principio la mayor parte de ellasse materializaban como desarrollos ex profeso y por tanto se resolvan los mismos problemas una y otra vez. Estasituacin deriv como es natural hacia proyectos que intentan proporcionar un conjunto de componentes comunesen general en forma de documentos HTML y aplicaciones escritas en JavaScript que proporcionan al desarrolladoruna base sobre la que realizar su aplicacin especfica. Tambin han ido apareciendo proyectos que se basan enmayor 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 genera-lista posible, del estado del arte en este mbito de la ciencia para dar al lector pistas que le acerquen a aquellosproyectos/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 geogrficaen 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 estetrabajo. 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 laseccin 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 deaparicin es cronolgico, empezando por los proyectos ms veteranos.

    Mapbender:

    Cliente Web-GIS construido con Javascript, que ofrece un interfaz de usuario configurable no dependiente deningn servidor de mapas concreto. Su orientacin es la de un geoportal cliente de servicios OGC. Incluye unsoporte bastante completo de usuarios, grupos y servicios OGC (OWS). Una caracterstica diferenciadora deMapbender es la capacidad de edicin en cliente sobre navegador, utilizando WFS-T. MapBender es un proyectograduado de OSGeo.

    OpenLayers:

    OpenLayers es un cliente Web-GIS ligero construido con clases Javascript, sin dependencia de servidores de mapasconcretos. Ofrece una interfaz de usuario simplificada que ataca a servicios WMS y WFS de forma transparentepara el usuario y desarrollador. Las caractersticas a destacar de este producto es la cantidad de herramientas yaimplementadas, que hacen que el desarrollar con esta libreara sea mucho ms fcil para funcionalidades mscomplejas. 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 deOSGeo. 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 tecnologade OpenLayers y ExtJS. Ofrece la interfaz de usuario propia de ExtJS, con todas las herramientas adaptadas alvisor 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 cartogrficos.Es particularmente til para gestionar datos geoespaciales y no geoespaciales en oficinas regionales, urbanas ymunicipales (GeoMOOSE se origin en stas ltimas). Extiende la funcionalidad de MapServer y OpenLayerspara proporcionar servicios de serie, como la identificacin drill-down para ver y organizar muchas capas, ope-raciones 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 prove-nientes de diferentes orgenes se pueden mantener usando diferentes herramientas y con diferentes planificacionesya que cada capa del mapa tiene su propio juego de ficheros de configuracin para la publicacin, simbologa,plantillas as como datos de origen.

    La interfaz de usuario es fcilmente configurable, y gracias a su arquitectura modular se pueden agregar serviciosadicionales.

    Leaflet:

    Leaflet est diseado con la mente puesta en la simplicidad, el rendimiento y la facilidad de uso. Funciona demanera eficiente en las principales plataformas de escritorio y mviles, aprovechando las ventajas del HTML5 yCSS3 en los navegadores modernos, sin dejar de ser accesibles a los ms antiguos. Se puede ampliar su funcio-nalidad con una gran cantidad de plugins, tiene una API bonita, fcil de usar y bien documentada, as como uncdigo 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 mas-hups creados con contenido de fuentes del servidor como Google Maps, OpenStreetMap, MapQuest o servidoresespecficos proporcionados por la organizacin o cualquier otra persona. MapStore consta de dos componentesprincipales 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 deinsercin para poner un mapa en un sitio web, compartir tus propios mapas con otros usuarios. Adems lleva acabo la interaccin con GeoStore. MapManager soporta la autenticacin y la definicin de polticas de acceso paraproteger los mapas gestionados por GeoStore.

    GeoStore es una aplicacin JEE de cdigo abierto cuyo objetivo es el almacenamiento, la bsqueda y la recu-peracin de datos sobre la marcha. GeoStore implementa una infraestructura flexible y modular desarrollado porencima de la tecnologa de Java Enterprise con el fin de crear, gestionar, navegar y buscar las definiciones delmapa. GeoStore integra la autenticacin y gestin de autorizaciones segn el paradigma de Role Based AccessControl (RBAC). Esto protege a los mapas de accesos no autorizados. El mecanismo de almacenamiento estndarde 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 cdigoabierto en un sistema de gestin de contenidos. Con Cartaro usted es capaz de instalar y ejecutar su propio sitioweb geogrfico y compatible con los estndares de la OGC, con no ms de unos pocos clics. Los componentesgeoespaciales utilizados en Cartaro son PostGIS, GeoServer, GeoWebCache y OpenLayers. Todos los que segestionan 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 configuraciones y mucha programacin individual.

    Cartaro sirve tambin para montar un sitio web con los beneficios de cualquier CMS pero con la ventaja de podertratar la informacin espacial.

    5.4 Puntos calientes

    ltimamente todo lo relacionado con Leaflet se convierte en tendencia, ya que estn apareciendo distintas tec-nologas que hacen uso de esta librera en sus desarrollos, como por ejemplo Mapbox o CartoDB, cuyo aspectovisual 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 basadosen WebGL tales como WebGL Earth o F4 Map, que le dan otra dimensin a la forma de representar los datosespaciales en la web.

    El futuro de los mapas podra pasar por mejorar las versiones mviles que hagan que su interaccin con el entornolos enriquezca, de forma que pasen de ser consultores o indicadores de direcciones a compaeros imprescindiblesen la vida cotidiana, ya que pueden convertirse en planificadores de jornadas, de escapadas de fin de semana eincluso 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 enJavascript, ya que la mayora de stas estn desarrolladas bajo este lenguaje de programacin. Aunque hay algunoscomo 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 losprincipales protocolos de transferencia de informacin geogrfica usan ste lenguaje de respuesta. Tambin hayque tener conocimientos de los estndares OGC que consumiran la parte cliente.

    Hay libreras como OpenLayers o Leaflet donde esta curva de aprendizaje es muy poco pronunciada ya quesu facilidad de comprensin y de uso, as como la documentacin que poseen, hacen que la experiencia deldesarrollador no sea determinante a la hora de elegirlas como posible base para el desarrollo de cliente webgeogrficos. De hecho otras libreras que aqu se mencionan usan OpenLayers como base cartogrfica con la queinteractuar y a la que integrarse.

    5.6 Documentacin

    Toda la documentacin necesaria para comenzar a usar cualquiera de las tecnologas que aqu se encuentran, lapuedes encontrar en las guas de inicio rpido que se adjuntan:

    Cuadro 5.1: Documentacin de proyectos

    Proyecto Documentacin OSGeo Live OtrosMapbender Mapbender user doc Mapbender qs MapBender tutorialsOpenLayers OpenLayers library doc OpenLayers qs OpenLayers API doc, OpenLayers ExamplesGeoExt GXP GeoExt doc, GXP doc GeoExt qs, OpenGeo Suite wsGeoMoose GeoMoose doc GeoMoose qsLeaflet Leaflet reference Leaflet qsMapStore MapStore docs MapStore qs, MapStore training docs, MapStore demoCartaro Cartaro docs Cartaro qs

    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 im-plementan herramientas para llevar a cabo las tareas bsicas del trabajo con datos geogrficos: creacin o edicin,manejo y anlisis. Con esta filosofa fueron desarrollados los primeros programas SIG, especialmente para el tra-tamiento y anlisis de datos geogrficos, y posteriormente, para dotar a estos de mayor versatilidad, incorporandootras funciones adicionales que facilitaran el trabajo con esos mismos datos.

    Los SIG de escritorio siguen manteniendo su posicin como aplicaciones fundamentales, y hablar genricamentede 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 nece-sidades que se presentan en el desarrollo de proyectos SIG, y por ello constituyen las herramientas primordialespara llevar estos a cabo. Ofrecen un gran numero de herramientas para gran diversidad de usuarios en diversidadde 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 implmentarcapacidades para leer datos y, opcionalmente, guardarlos. Pese a ser de tal importancia, la implementacinde las capacidades de entrada y salida es muy variable en unos u otros SIG. Una razn por la que esto sucedees el gran nmero de formatos de fichero distintos. As, cada SIG de escritorio es capaz de abrir unos u otrosformatos de archivo, y mientras que algunas tratan a todos ellos por igual, ciertas aplicaciones trabajanen un formato propio con carcter nativo y son capaces de incorporar datos en otros formatos a travsde extensiones o funciones de conversin entre estos y el formato particular del programa. Cabe destacartambin la capacidad de conexin a bases de datos o servicios remotos que ofrecen algunos softwares (ahorala mayora).

    Visualizacin: La visualizacin es una funcin fundamental dentro de los SIG y del trabajo con cartogra-fa en general. La gran mayora de las herramientas de escritorio incluyen un gran nmero de elementospara representar los datos geogrficos con los que se trabaja. En ocasiones, interesa nicamente crear unarepresentacin de los datos, pero incluso cuando el trabajo con una herramienta SIG est enfocado a la rea-lizacin de un anlisis, la visualizacin y exploracin visual de los datos de partida es un paso previo. Engeneral, la forma de operar con los elementos de visualizacin es muy similar entre soluciones SIG distintasy, a diferencia de lo que sucede con la implementacin de otras funcionalidades, el manejo es prcticamenteigual.

    Anlisis: Posiblemente, una de las funcionalidades ms destacadas y significativas 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 enconjunto para alcanzar un resultado concreto.

    Edicin: Funcionalidades que permiten modificar y corregir los datos geogrficos con los que se trabaja enun SIG. Las operaciones de edicin pueden emplearse para la actualizacin de cartografa, pero tambinpara la creacin de nuevas capas, que pueden crearse a partir de la digitalizacin de imgenes o a partirde cualquier otra capa de la que se disponga. Puede distinguirse entre diversas formas de edicin: Edicinde geometras de una capa vectorial, edicin de atribuos en una capa vectorial, edicin de valores en unacapa raster. Fundamentalmente, estas capacidades permiten la composicin de documentos cartogrficosde acuerdo con un diseo dado. En la elaboracin del diseo, pueden emplearse todos los elementos quehabitualmente 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 quepuedan posteriormente imprimirse y emplearse como una mapa csico. Las razones para la existencia detales funcionalidades son muchas, pero la principal sigue siendo la necesidad que an existe de apoyarse eneste tipo de documentos cartogrficos para poder incorporarlos a proyectos o estudios como parte de anexoscartogrficos.

    (Fuente: Olaya, V. 2012. Libro Libre SIG.)

    Los clientes de escritorio ofrecen un amplio rango de aplicaciones, desde simples visualizadores a software decreacin 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 estetrabajo.

    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 Geogrfica en software libre, que incluye prin-cipalmente las aplicaciones gvSIG Desktop y gvSIG Mobile. La aplicacin gvSIG Desktop fue la primera que sedesarroll dentro del proyecto gvSIG, por lo que tambin se conoce abreviadamente como gvSIG. Este proyectofue desarrollado por el gobierno local de la Comunidad Valenciana (Generalidad Valenciana) de Espaa, con elobjetivo inicial de realizar la gestin de datos geogrficos de esa colectividad; precisamente la sigla gvSIG abreviala denominacin Generalitat Valenciana Sistema de Informacin Geogrfica.

    QGIS

    Es un Sistema de Informacin Geogrfica que naci en mayo de 2002 y se estableci como proyecto en Sour-ceForge en junio del mismo ao. Fue adems uno de los ocho primeros proyectos de la fundacin OSGeo. Setrata de una aplicacin de escritorio que pretende ofrecer a usuarios con necesidades bsicas un entorno sencillo yagradable.

    GRASS

    Proyecto ya muy veterano, anterior al nacimiento del FOSS, que el CERL (Construction Engineering ResearchLaboratory) comenz a desarrollar ante la necesidad de gestionar la gran cantidad de recursos naturales a cargo delejrcito en los Estados Unidos. Actualmente, la infraestructura principal se gestiona entre el Instituto de Cultura deTrento y el Geselleschaft fr Datenanalyse und Fernerkundung (GDF) de Hannover. La principal caracterstica deGRASS es su gran nmero de funcionalidades, derivadas de todos los aos de desarrollo y de la estructura modulardel 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 grfica amigable.

    UDig

    Este proyecto est desarrollado por la empresa canadiense Refractions Research Inc, y tiene como principal obje-tivo 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 edicinvectorial, el proyecto JGrass aade capacidades rster adaptadas desde GRASS (con especial nfasis en las rela-cionadas con anlisis del terreno y similares).

    OpenJUMP

    JUMP (Java Unified Mapping Platform) fue uno de los primeros proyectos de cliente GIS de escritorio en el len-guaje 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 porVivid Solutions1 pero dada la poltica de aceptacin de contribuciones externas por parte de la empresa motiv laaparicin de un nuevo proyecto derivado (llamado fork en el mbito FOSS) conocido como The JUMP Pilot Pro-ject (JPP) que pretende coordinar de forma ms democrtica las contribuciones de diferentes equipos de desarrollopara evitar duplicidad de esfuerzos. Esto ltimo es especialmente importante, ya que es destacable la cantidad deproyectos 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 plata-forma 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 formatosraster. Adems, cumple los estndares OGC y proporciona una excelente integridad topolgica. Su arquitectura deextensiones permite personalizarlo fcilmente para fines especficos.

    SAGA GIS:

    Esta herramienta se ha desarrollado sobre todo en Gottingen, Alemania. Se trata de un GIS de escritorio paraWindows con una clara separacin entre su interfaz de programacin (API) y su interfaz de usuario. De hechola primera tiene una licencia LGPL y la segunda es GPL. Esto permite realizar mdulos cerrados sin incumplirninguna licencia. Este software destaca especialmente por su orientacin a la realizacin de anlisis de imgenesy modelos digitales del terreno.

    OPTICKS: Opticks es una herramienta para el anlisis de imgenes y datos provenientes de la teledeteccin. Esmuy similar en funcionalidad y propsito a las herramientas comerciales ERDAS Imagine, RemoteView, ENVI oSOCET GXP. Opticks tiene funcionalidades del tipo GIS (como la utilizacin de shapefiles), pero principalmenteest 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 tcnicaspara el anlisis exploratorio de datos espaciales. Proporciona una interfaz grfica amigable para el uso de mtodosde anlisis de datos espaciales descriptivos, realizacin de estadsticas de autocorrelacin espacial y regresionesespaciales 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 deuna manera rpida y fcil. Est construido sobre la biblioteca de renderizado, Mapnik, la misma que utilizan tantoOpenStreetMap como MapQuest. TileMill no pretende ser una herramienta de cartografa de uso general, sinoque se centra en la racionalizacin y simplificacin 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 haalcanzado un buen nivel tanto en relacin a la diversidad de productos disponibles, com en las prestaciones deestos, 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 visualiza-cin de datos en 3D. Algunos paquetes contienen estructuras hbridas para la visualizacin en 2.5D, en las quese representan los datos como una falsa tridimensionalidad mediante proyecciones grficas en 2D. Sin embargo,se requiere funcionalidades ms avanzadas para el manejo de estos datos ms complejos con ms de dos dimen-siones. Este paradigma se repite con los datos temporales. Aadir la tercera componente espacial, es decir tenerpuntos (X,Y,Z), ms una componente tiempo asociada, se asemejara ms a la realidad, pudiendo adems, analizarprocesos 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 LiDARse est extendiendo cada vez ms dentro de los usuarios de herramientas SIG. Ya existen libreras capaces deno 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 capazde 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 dentrode sus funcionalidades. La principal ventaja que representa esto es la automatizacin de procesos, que de otramanera se tendran que ejecutar una a una de manera manual, permitiendo la gestin de grandes volmenes dedatos 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 SIGde cdigo abierto. Sin embargo, muchos de los nuevos paquetes de software incluyen cada vez ms mejoras en lasherramientas disponibles para la edicin de datos, su visualizacin y representacin. Tambin en cuanto al entornopara el diseo de los mapas, aunque este aspecto resulta cada vez menos relevante al publicarse frecuentementelos 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 tambinuno de los aspectos a destacar. Ello dota de robustez y versatilidad a muchos de estos proyectos, y permite a losusuarios tener garantas en los procesos ejecutados. Asimismo, la arquitectura modular de muchos clientes SIGpermite incorporar multitud de complementos que los dotan de ms funcionalidades.

    Actualmente la interrelacin de libreras, complementos, algoritmos. . . entre diversos clientes, facilita la labor delusuario, 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 mejorade las conexiones a internet, los servidores SIG sean el producto dominante en la prxima dcada. La razn de serde los clientes de escritorio en el mundo GIS se apoya en la necesidad de realizar complejos y pesados anlisisespaciales, sin embargo, es tendencia que los servidores SIG incorporen capacidades de procesado de datos. Esms, el volumen de captura de datos espaciales est yendo en aumento debido al abaratamiento de los sensoresy su accesibilidad, lo que provoca una necesidad de equipos cada vez ms potentes. Actualmente, los servidoresweb ofrezen la posibilidad de utilizar grandes clsters de procesadores estn siendo la respuesta del mercado enese 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 deherramientas 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 grficas, su uso suele ser bastante sencillo. Todosposeen 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 grfica de GRASS noes muy intuitiva y no es fcil dnde buscar los diferentes mdulos de anlisis. La situacin se agrava cuando setrabaja a travs de la consola, aunque realmente aqu es donde radica su potencial debido a su versatilidad. Portanto, 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 paraprincipiantes.

    Los conocimientos previos necesarios para trabajar con este tipo de software coinciden con los conocimientos entecnologas geoespaciales. Esto incluye compresin de los distintos formatos raster y vectorial, y el modo de con-versin entre ellos, conocimiento de distintos algortmos de anlisis y gestin de datos geoespaciales, manejo debases de datos, compresin de proyecciones cartogrficas y sistemas de referencia. Adems, existen conocimientosespecficos 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 deGRASS o QGIS, respectivamente.

    6.6 Documentacin

    Empezar a trabajar con cualquier software siempre es un reto y, como hemos visto, en algunas ocasiones puederesultar incluso una tarea rdua. En algunas ocasiones esto se debe porque tampoco sabemos dnde encontrar unagua de inicio amena o tan siquiera la documentacin. Este apartado intenta cubrir este hueco, pretende ser unconjunto de enlaces tanto a la documentacin oficial como a una serie de tutoriales y ejemplos de los distintosproyectos.

    6.5. Curva de aprendizaje y conocimientos previos 25

  • Panorama SIG Libre Documentation, Publicacin 1.0

    Cuadro 6.1: Documentacin de proyectos

    Proyecto Documentacin OSGeo Live OtrosGRASS GIS GRASS docs GRASS qs Tutoriales; Primera vez con GRASSuDig uDig docs MapServer qs Canal de vdeos en YouTubeOPTIKS Notas de instalacin y usoopenJUMP openJUMP docs openJUMP qsQGIS QGIS docs QGIS qs Tutorial (espaol); Tutorial oficial (ingls)GeoDa GeoDa docs Tutoriales y vdeos demostrativosgvSIG gvSIG docs gvSIG qs VideotutorialesSAGA GIS SAGA GIS docs SAGA GIS qs TutorialesTileMill TileMill docs TileMill qs 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 disposi-tivos mviles del tipo de los smartphones y tabletas.

    La posibilidad de disponer de GPS en los dispositivos mviles, ha convertido a estos aparatos en herramientasmuy valiosas para su utilizacin como navegadores, plataformas de geomarketing, sensores mviles, y en generalcomo 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 disposi-tivos funcionando: Android e iOS. El primero, Android, es el ms abierto de los dos, y dispone de un buen nmerode aplicaciones y libreras que s se ofrecen en modalidad Open Source permitiendo su utilizacin en desarrollosulteriores.

    En ambos casos el sistema operativo subyacente es Linux. En los dispositivos iOS se utiliza una variante dellenguaje C para programarlos: el Objective C. En los dispositivos Android se utiliza una variante del lenguaje Javapara programarlos.

    Vamos a centrar este artculo en el software y libreras disponible para dispositivos basados en Android, por sera da de hoy el que dispone de suficientes herramientas con licencias libres para ser utilizadas en el desarrollo deaplicaciones para mviles.

    7.3 Software

    El sistema operativo Android permite utilizar una variante del lenguaje Java para programar los dispositivos m-viles. En este sentido, muchas de las libreras Java disponibles para ordenadores de escritorio se pueden utilizarbajo condiciones de operacin Android. Sera el caso, por ejemplo, de la librera Java Topology Suite (JTS), queha sido tratada en la seccin correspondiente a libreras.

    Existen por otra parte libreras especficas desarrolladas para Android, como es el caso de Mapsforge, pensadapara visualizar informacin cartogrfica en dispositivos Android.

    La utilizacin de Java permite tambin que libreras inicialmente pensadas para ser utilizadas en dispositivosmviles puedan ser reutilizadas en ordenadores de escritorio bajo entorno Java. En general la diferencia est enla parte grfica de Java: En el caso de ordenadores de escritorio es usual utilizar el entorno Swing que no escompatible 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 cartogrfica enentornos de Web-mapping. Los dispositivos mviles disponen de navegadores que interpretan el Javascript, porlo que, en general, es posible utilizar las libreras Javascript para visualizaciones desde dispositivos mviles, seanestos Android, iOS u otros. Las pginas web basadas en OpenLayers o Leaflet permiten su visualizacin en dispo-sitivos mviles a travs del navegador. En el caso de OpenLayers versin 2 hay que tener algunas precauciones alprogramar las pginas. La futura versin 3 de OpenLayers superar estas limitaciones. El funcionamiento de estaslibreras 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 An-droid. Ofrece una clase MapView para sustituir a la que viene de serie en Android que permite la visualizacinde tiles de OpenStreetMap. Se pueden visualizar tiles en modo on-line y en modo off-line. Tambin proporcionaclases 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 enlos dispositivos Android. Es ligera, ocupa unos 300 Kb. Los mapas tienen un formato vectorial binario que loshace tambin ligeros. Utiliza un elemento MapView similar al del API de Google. Tiene una buena API paraoverlays (capas vectoriales superpuestas). Se pueden personalizar los estilos de renderizacin de los mapas. Tieneuna herramienta para crear mapas a medida a travs de Osmosis. Algunos puntos dbiles seran que no dispone deAPI para Bubbles y no limita la extensin del mapa.

    OsmAnd:

    Es una herramienta de navegacin y routing para trabajar desde dispositivos Android con cartografa procedentede OpenStreetMap. Puede trabajar online y offline, previa descarga de los mapas. Proporciona instrucciones denavegacin de forma visual y mediante voz sintetizada. La navegacin y el routing es adaptable a vehculosautomviles, bicicletas o peatones. Permite mostrar la posicin GPS del dispositivo y su orientacin sobre lacartografa. 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 poste-riormente 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 bsquedade 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 StreetView.

    Graphhopper:

    Es una herramienta de routing que trabaja con datos de OpenStreetMap. Se puede utilizar desde dispositivos An-droid, a travs de su integracin con MapsForge. Tambin es posible utilizarlo desde pginas web como un serviciomediante llamadas HTTP desde Java o Javascript. Desde aplicaciones Java de escritorio es posible trabajar conGraphhopper en modo off-line. Se pueden calcular rutas para automviles, bicicletas o paseos andando. Tambinse pueden crear vehculos personalizados.

    OsmSharp:

    Es una herramienta para trabajar con cartografa de OpenStreetMap. Permite la visualizacin de informacinvectorial y el clculo de rutas. Se puede utilizar en Android, iOS y WindowsPhone, as como en Linux, Windowsy OSX.

    Glob3Mobile:

    El proyecto Glob3 Mobile, desarrollado por IGO SOFTWARE y ULPGC con el respaldo de organismos pblicosy privados espaoles. Se trata de un componente para desarrollar mapas en dispositivos mviles, nativo y multi-plataforma; permite aplicaciones 2D, 2.5D y 3D, tanto Android como iPhone y en general en cualquier entornoHTML5.

    7.4 Puntos calientes

    Actualmente hay dos sistemas operativos para mviles que acaparan la mayora de los dispositivos utilizados. Setrata 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 enla red, la distincin entre dispositivos mviles y ordenadores de escritorio se hace ms difusa, pues las mismasherramientas y libreras nos sirven para visualizar informacin en un dispositivo mvil u otro tipo de elementode computacin. Es el caso de las libreras OpenLayers o LeafLet, que nos permiten, con pequeas diferencias,acceder a la visualizacin de informacin cartogrfica desde cualquier navegador, sea este basado en mviles o enordenadores de escritorio.

    Otro frente actual es el de los sistemas operativos que tratan de ser funcionales tanto en dispositivos mvilescomo en ordenadores de escritorio. En esta categora se incuyen el sistema operativo Ubuntu mvil o el Windows8 que permiten ser ejecutados en todo tipo de ordenadores. Es previsible que el aumento de potencia de losdispositivos mviles unido a la conveniencia de compatibilidad entre dispositivos, permita en un futuro cercanoque la distincin entre sistemas operativos para dispositivos mviles y para ordenadores de escritorio se haga cadavez 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. Muchasde las libreras disponibles para Java funcionan tambin en dispositivos Android. Es necesario conocer los fun-damentos bsicos de la programacin Java y, adems, conocer la forma de utilizar Java en Android. No es unlenguaje sencillo y adems la variedad de dispositivos y de tamaos de pantallas hace un poco ms complicada laprogramacin.

    Conocidos los fundamentos de la programacin en Android, es posible utilizar las herramientas descritas anterior-mente 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 Home Documentacin OtrosOpenLayers OpenLayers Home Documentation OL OSGeoLive QuickstartLeafLet Leaflet Home Tutorials OSGeoLive QuickstartOSMDroid Repository How to get... [Article: AndroCode]MapsForge Mapsforge Home Mapsforge 0.3.0 Javadoc Taller Mapsforge Sigte 2013OsmAnd OsmAnd Home OsmAnd repository ...Geopaparazzi Geopaparazzi Home Geopaparazzi Documentation ...gvSIG-Mini gvSIG-Mini Home gvSIG-Mini Documentation ...Graphhopper Graphhopper Home Quickstart users Quickstart developpersOsmSharp OsmSharp Home OsmSharp documentation ...Glob3 Mobile Glob3 Home Glob3 documentation 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 da-tos 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 yofrecen una muy alta calidad de productos capaces de competir y superar conocidos paquetes comerciales. Sinembargo, en el caso de los clientes de escritorio se observa que van perdiendo relevancia en favor de proyectos de-dicados 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 proyectosenfocados a la manipulacin de datos LiDAR.

    Python se est convirtiendo en el lenguaje ms extendido en el mundo SIG libre. De hecho, existe una tendenciaen casi todas las categoras a la utilizacin de Python, bien sea para el propio desarrollo de los proyectos o bienpara dotarlos de una herramienta de scripting.

    A continuacin se incorporan unas conclusiones ms detalladas de cada una de las categoras de proyectos tratadosen este escrito.

    8.1 Servidores

    Tras revisar el estado de los principales proyectos encargados de ofrecer servicios geoespaciales, se aprecia unaelevada madurez de la mayora de productos: no han aparecido proyectos nuevos relevantes en los ltimos dosaos y los proyectos ms veteranos siguen en pleno desarrollo, sin dejar de ofrecer nuevas funcionalidades ymejoras. Cabe destacar tambin la relevancia que van adquiriendo proyectos desarrollados en Python, unindosecomo 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 nave-gador, se aprecia una elevada aparicin de distintos proyectos que ofrecen la integracin de componentes variadosintegrndolos en una aplicacin mucho ms completa y robusta. Adems hay que destacar la aparicin de frame-works que hacen que la interaccin con el usuario sea ms interactiva, aprovechando los beneficios de HTML5 yCSS3.

    PD: Opinin personal Para m creo que la evolucin de las libreras destinadas al webmapping han avanzadogracias a la integracin de componentes externos hacindolas evolucionar a portales muchos ms completos yaadindole funcionalidades que a primera instancia no se incluan, dndole a las herramientas otra dimensinms.

    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 lenguajesde programacin, es lo ms destacable en los ltimos tiempos. En ese mbito estaran Shapely o GeoScript. Cadavez ms son las libreras que intentan ofrecer soluciones para trabajar con datos LiDAR y, aunque todas ellasofrecen lectura y escritura de datos, slo algunas aportan capacidad de procesado y anlisis. La librera Geotoolses una librera Java consolidada y con un desarrollo muy activo que sigue aadiendo componentes, tanto paraprocesamiento geoespacial como para visualizacin. Las libreras para el clculo de rutas estn congiendo msrelevancia 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 susaspectos. De hecho no ha aparecido ningn nuevo proyecto en los ltimos aos y todos han seguido un desarrolloconstante. Cabe destacar, quizs, el caso de QGIS cuya popularidad ha ido en aumento convirtindose en el SIGde Escritorio libre ms popular. En gran parte, esto se ha sido debido a la integracin de Python tanto para lacreacin de script como para la implementacin de nuevos mdulos, que le confieren una gran versatilidad.

    8.5 Mviles

    La disponibilidad del GPS en los dispositivos mviles, hace que se prevea un crecimiento del mercado de apli-caciones mviles basadas en la geolocalizacin. La utilizacin de aplicaciones Web a travs del navegador deldispositivo mvil se convierte en una solucin muy eficaz al problema de la multiplataforma. En cuanto a solucio-nes nativas en Java-Android para aplicaciones de visualizacin cartogrfica 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 darun impulso a ambos proyectos.

    8.6 Bases de Datos

    El ecosistema de bases de datos geogrficas est bastante maduro, ofreciendo tanto una gran calidad como unavariedad de tipos; casi todos ellos muy alineados con la compatibilidad OGC, haciendo que el cambio de una basede datos a otra sea prcticamente transparente. En cuanto a las bases de datos NoSQL, estn experimentando unainteresante 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 comuni-cacin titulada Panorama actual del ecosistema de software libre para SIG [Panorama07]. En esta presentacinse haca una rpida revisin a los principales proyectos adems de presentar la fundacin OSGeo, la distribu-cin geogrfica de los principales grupos de desarrollo y unas ichas que resuman los datos ms relevantes de losproyectos evaluados. Un ao ms tarde esta misma comunicacin se volvi a realizar (actualizada) como sesinplenaria [Panorama08]. El trabaj sigui actualizndose durante un tiempo en forma de artculo que se public enun par de revistas (como [Novatica09]) y como una web en el wiki de Prodevelop. Han pasado algunos aos y elpanorama ha cambiado, hay nuevos proyectos, otros han ido desapareciendo y la mayora se han ido actualizandoy madurando. Es momento por tanto de retomar aquel trabajo y darle un enfoque un poco ms colaborativo, pa-sando de un esfuerzo de dos personas que trabajan n la misma organizacin a un grupo ms amplio, con perfilesms 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 artculoy una charla durante el evento para intentar tener un mayor recorrido, intentando ser un verdadero proyecto dedocumentacin, 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 quherramientas 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 finalmente acabar conunas conclusiones.

    Este documento estar siempre accesible va web en http://panorama-sig-libre.rtfd.org/, y gracias al soporte deRead the Docs est disponible tambin en otros formatos para su descarga (PDF y EPUB entro otros). Nuestraintencin es mantenerlo vivo, mejorarlo y completarlo en la medida de nuestras posibilidades y hacer de l unpunto de entrada para cualquier persona que se quiera iniciar en el mbito de las tecnologas geoespaciales, aveces complejo por la variedad de productos, estndares y formatos. Por supuesto el proyecto est abierto a nuevascolaboraciones 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, CEOen MercatorLab S.L.

    9.2 Licencia

    Excepto donde quede reflejado de otra manera, la presente documentacin se halla bajo licencia Creative Com-mons 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