Hace 8 años, (sí, en el año 2012) escribimos unos de los primeros artículos del blog: ArcGIS for Server vs Open Source, en el que se ofrecía una alternativa al software privativo de ESRI. Por aquel entonces la alternativa consistía en QGIS, PostGIS, MapServer o GeoServer y OpenLayers como cliente de mapas web.
¿Seguirán siendo válidas estas recomendaciones 8 años después? En general podemos decir que sí, lo que nos da idea de la madurez alcanzada por la mayoría de las herramientas open source.
Hemos preparado un listado de aplicaciones que logran abarcar todos los ámbitos de un flujo de trabajo habitual para realizar la migración desde el SIG propietario hacia el SIG libre y de código abierto:
Vamos a ver de forma resumida en qué consiste cada una de estas herramientas:
Índice
Toma de datos en campo
- QField. QGIS en Android. Herramienta que nos proporciona una interfaz para recopilar datos en campo y después sincronizar nuevamente con un proyecto QGIS cuando regresamos a la oficina. Solo funciona en Android.
Aplicación alternativa:
Mergin Maps. Es una herramienta más reciente para recolectar datos, pero en este caso usa la nube para administrar el proceso de sincronización. Funciona tanto en Android como en iOS.
La base de datos
PostGIS. Hemos hablado mucho en este blog sobre PostGIS y es que PostGIS es el componente espacial de la base de datos PostgreSQL. Debido a que está construido sobre PostgreSQL, PostGIS hereda automáticamente sus características, así como los estándares abiertos.
Aquí te dejamos 10 motivos para trabajar con PostGIS.
Herramientas de escritorio
- QGIS. QGIS se ha convertido el Sistema de información Geográfica abierto más potente, además es el más utilizado y gracias a sus actualizaciones frecuentes, el que tiene más futuro. QGIS debería ser el elemento fundamental sobre el que pivote el resto de componentes de tu plataforma GIS. ¿Sabías que nació como un visor de geometrías de PostGIS? Pues ahora ya sabes por qué QGIS funciona a la perfección con la base de datos PostGIS.
- R. La relación entre R y los Sistemas de Información Geográfica es larga. R se ha utilizado para el análisis de datos espaciales desde los primeros días de R, geoestadística, regresión espacial, procesamiento ráster o detección remota.
- Python. Python es el principal lenguaje de programación y además el de mayor crecimiento. Python no es un reemplazo de un SIG, sino una forma de extender un SIG. Mediante Python podemos crear secuencias de comandos simples para ahorrar tiempo y mejorar la precisión de nuestros resultados. Además es muy empleado en aprendizaje automático (machine learning) y deep learning como ya vimos en esta entrada. Los principales SIG de escritorio utilizan Python. Aquí te dejamos 7 razones para aprender Python si trabajas con GIS.
Aplicación alternativa: gvSIG. Lamentablemente esta aplicación de escritorio de origen español tuvo mucho éxito hace años, pero actualmente QGIS es más potente y gracias a sus complementos tiene más funcionalidades.
Servidor web
- GeoServer. Es un servidor web que implementa los protocolos estándares open web que establece el Open Geospatial Consortium (OGC). Se trata de es un servidor de alto rendimiento compatible con la certificación Web Map Service (WMS), y de hecho es la implementación de referencia de las normas OGC Web Feature Service (WFS) y Web Coverage Service (WCS). GeoServer es un proyecto ejemplar por su activa comunidad y sus frecuentes actualizaciones. Aquí puedes leer más sobre GeoServer.
Aplicación alternativa: QGIS Server o MapServer son alternativas, sin embargo, si las comparamos con GeoServer, la instalación y configuración de aquellas es más tediosa.
IDE
- GeoNode. Es un completo gestor de contenidos geoespaciales para gestionar y publicar datos espaciales. Contiene los siguientes componentes: Django, PostgreSQL and PostGIS, GeoServer, pycsw y MapStore. Es difícil encontrar una solución más completa y con mejores componentes, ya que tenemos la base de datos, el servidor, el gestor de metadatos y un visor de mapas moderno. Aquí puedes leer más sobre GeoNode.
- MapStore. Es una herramienta WebGIS de código abierto desarrollada por GeoSolutions para crear, gestionar y compartir mapas. Varios aspectos se pueden destacar de esta aplicación, pero desde nuestro punto de vista los puntos fuertes de MapStore son tres:
- La excelente gestión de los servicios OGC (CSW, WFS, WMS y WMTS).
- La administración de usuarios, permitiendo la creación se usuarios, grupos de usuarios y roles.
- La posibilidad de crear paneles de control (dashboards) con un Look & Feel moderno.
Aplicación alternativa: En este artículo te ofrecemos algunos paquetes para crear una IDE como por ejemplo Lizmap o geOrchestra.
Visores de mapas web 2D y 3D
- Leaflet. Nosotros elegimos Leaflet para la creación de mapas web porque es una librería moderna, ha alcanzado la madurez suficiente y dispone de muchos plugins que lo enriquecen con muchas funcionalidades extra. Además es más sencillo de aprender que OpenLayers.
- Cesium: es una aplicación JavaScript para crear globos en 3D y mapas 2D en un navegador web sin necesidad de plugins.
Herramienta alternativa: OpenLayers, Esta librería JavaScript para crear mapas es la más madura. Sin embargo es más compleja de aprender que Leaflet. Lo ideal es utilizar las dos y en función del proyecto utilizar una u otra.
Librerías
- GDAL /OGR es una librería para convertir entre formatos raster y vectorial respectivamente. Artículo completo en en nuestro blog aquí.
- Proj. La librería para trabajar con proyecciones y transformar coordenadas.
- GEOS (Geometry Engine Open Source) Esta librería proporciona la funcionalidad espacial en muchos proyectos y productos.
Estas tres librerías se incluyen en las herramientas que acabamos de ver o se pueden implementar fácilmente.
¿Qué podemos hacer con todas estas aplicaciones?
- Almacenamiento y gestión de datos → PostGIS
- Producción de mapas y visualizaciones de datos 2D y 3D → QGIS
- Análisis espacial raster y vectorial → QGIS / R / PostGIS / Python
- Análisis de redes → QGIS / PostGIS
- Análisis geoestadístico → R
- Análisis 3D → PostGIS
- Análisis de imágenes de satélite → R / QGIS / Python
- Automatización de tareas → Python
- Captura de datos en campo → QField / Mergin Maps
- Desarrollo de aplicaciones de escritorio → Python + QGIS
- Crear servicios web → GeoServer
- Crear aplicaciones web → Leaflet / OpenLayers
- Visores web 3D → Cesium
- Crear una IDE (Infraestructura de Datos Espaciales) → GeoNode
- Interoperabilidad → GDAL
¿Por qué migrar del software SIG propietario hacia el SIG libre?
- El software libre suele funcionar con los principales sistemas operativos (Windows, Linux, Mac OS).
- Ahorro en desarrollo y licencias.
- Las condiciones de uso no cambiarán.
- Libertad de uso y distribución.
- Un rendimiento satisfactorio y alcance funcional significativo.
- El software libre propuesto es fiable.
- Posibilidad de adaptar las herramientas a nuestras necesidades y de compartir las herramientas y crear comunidad.
Existe una tendencia consolidada en la industria a realizar migraciones desde el software privativo hacia soluciones open source y no al revés.
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.
Muchas gracias por el artículo, aprecio mucho este tipo de artículos.
Sisi, las solución que comentas ya la conozco, de hecho estoy trabajando en una prueba con PostGIS-Mapserver-Geonetwork-mapcache, pero me complicaba el tener que subirlo a un servidor de pago y etc. Y queremos en el centro queremos algo gratuito. Antes teníamos Geonode pero no me llegó a convencer. Hasta que habéis puesto la nueva entrada de GC2/Vidi, me interesa! ¿Qué opinión te merece Aurelio? No veo en la descripción, o no he sabido ver, con que se manejan los Metadatos. Gracias!!!
Hola Isidro, Pues GC2/Vidi tiene la ventaja de utilizar QGIS Server y un visor muy atractivo gracias a VIDI, pero es cierto que no existe una aplicación de gestión de metadados. Sin embargo, puedes instalar GeoNetwork aparte y ya tendrías la arquitectura completa. Es cuestión de probar y valorar cual se adapta mejor al proyecto. Saludos!
Hola de nuevo,
Perfecto, muchas gracias Aurelio. Veré como se me da. De todas formas si instalo Geonetwork en Apache Tomcat que es un espacio distinto al stack de software en el cual se instala GC2, no hay problema ni incompatibilidades??
Nota: nada sencillo de instalar! he pedido ayuda al típico colega informático
Saludos y gracias nuevamente…disculpa la insistencia.
Isidro
Gracias por el post, trabajo en el sector de la ingeniería civil, utilizaba normalmente Arcgis, pero ahora con la implementación de la metodología BIM (ojalá pudierais dedicarle un reportaje a esta metodología) hemos apostado por el qgis, y me ha sorprendido bastante. Sólo unas cuestiones que creo que hay que señalar y veo como inconvenientes.
1. La imposibilidad de añadir la proyecto archivos dwg, propiedad de autodesk, no hablo de transformarlo, hablo de vincularlo directamente como hace arcgis, hay que tener en cuenta que el formato dwg es de los mas extendidos en el sector de la ingeniería y arquitectura. No se puede trabajar haciendo transformaciones constantemente de los dwg.
2. Qgis esta constantemente actualizandose, cosa que puede volverte loco, porque igual hay mejoras que interesa, pero a su vez puede haber el caso que comolementos que utilizas y depende tu trabajo no sea compatible o desaparezcan en la nueva versión, arcgis en este sentido es mas estable. Hay veces que las nuevas versiones fallan en algun proceso, tampoco es plan de ir teniendo distintas versiones de qgis en la computadora.
3. Por último, no sé si me pasa a mi, pero tengo que realizar procesos y medir areas para mís cálculos, he descubierto que el mismo shp en arcgis me calcula unas areas, muy semejante a las de autocad, pero qgis me calcula otras que puede variar unos m2, y no coincide con las del archivo dwg que se envía para revisión por lo que me trae problemas ya que algunos clientes siguen midiendo en autocad.
El software libre es cada vez más preferido por sus resultados eficientes sin tanto adorno.
Hola Aurelio,
Muchas gracias por tus post, son muy útiles y nos mantienes al día del mundo TIG.
Un comentario a lo GVSIG, estoy de acuerdo contigo que tuvo su auge y que ahora QGIS es más usado, potente y con una gran comunidad, pero me sorprendió que el proyecto de la Asociación GVSIG siguiera vivo y dinámico (https://blog.gvsig.org/2019/11/06/gvsig-desktop-2-5-esta-aqui-descargas-ya-disponibles/) quizá no habría que «matarlo» todavía.
Y unas cosillas más en referencia al penúltimo apartado, ¿Qué podemos hacer con todas estas aplicaciones?:
– Creo que Python también puede aportar en Análisis de imágenes de satélite (posiblemente en otros también, pero me llamó la atención éste que he podido ver algo). Desde conectarte a Google Earth Engine hasta trabajar Deep Learning con librerías como keras, tensorflow o sklearn.
Reiterarte las gracias por tu trabajo y mi enhorabuena.
Saludos
Buenos días Juan Pablo, Muchas gracias por tu comentario.
gvSIG no está muerto ni queremos enterrarlo ni mucho menos. Pero en esta entrada hemos querido mostrar una sola opción para no hacer un artículo muy extenso, y la opción a día de hoy no puede ser otra que QGIS, realmente me hubiera gustado que haya por 2010 fuese gvSIG el que tomase la delantera, pero no ha sido así. Es verdad que sigue recibiendo actualizaciones, pero lamentablemente muchas de las novedades de gvSIG están incorporadas en QGIS desde hace mucho tiempo. Y algo que tampoco ayuda es su interfaz, se mantiene prácticamente igual desde sus inicios, es solo algo estético, pero todo suma.
En cuanto a python tienes razón, es buena herramienta para analizar imágenes satélite. Tenemos algunos artículos sobre ello: https://mappinggis.com/2020/01/google-earth-engine-y-como-acceder-a-sus-algoritmos-desde-qgis/
y https://mappinggis.com/2020/04/earthpy-un-paquete-de-python-para-plotear-y-trabajar-con-datos-espaciales/
E incluso, aunque no se menciona en este artículo, también es posible crear mapas web con python.
Un saludo!
Aurelio
Muchas gracias por el post muy útil.
Quería preguntar acerca de las IDE’s. Existe alguna alternativa a Geonode, aunque no incorpore la solución completa en un paquete o suite y haya que instalarlos individualmente, sobre todo para la parte del servidor web?
Mil gracias de antemano
Hola Isidro, gracias por el comentario. Siempre puedes utilizar PostGIS + GeoServer + OpenLayers o Leaflet. De hecho es la arquitectura utilizada en nuestro curso desarrollo de aplicaciones webmapping. Hemos completado el post con este otro artículo: https://mappinggis.com/2013/09/paquetes-de-software-gis-web/ Saludos!