GeoNode es un gestor de contenidos geoespaciales creado con software libre. Es un CMS (Content Management System) basado en node.js para gestionar y publicar datos espaciales.
También podemos decir que se trata de una aplicación web para desarrollar Sistemas de Información Geográfica y desplegar Infraestructuras de Datos Espaciales. En esta entrada ya hemos hablado brevemente de ella junto a otros paquetes de software libre para crear IDEs. GeoNode permite al usuario cargar datos vectoriales y ráster en sus proyecciones originales utilizando un formulario web.
GeoNode tiene los siguientes componentes:
- Django.
- Python.
- PostgreSQL – PostGIS.
- GeoServer.
- GeoWebCache.
- pycsw / GeoNetwork.
- MapStore como cliente de mapas.
El núcleo de GeoNode se basa en el framework web Django. En el lado izquierdo se puede ver la lista de Entidades definidas en GeoNode y gestionadas por el framework Django. A la derecha, la lista de Servicios disponibles que permite a GeoNode comunicarse con el mundo social.
Para ver cómo funciona y qué capacidades tiene, existe una versión demo con la última versión disponible aquí: https://master.demo.geonode.org/. Cualquiera puede registrar una cuenta de usuario, cargar datos y dar estilo, crear y compartir mapas y cambiar permisos.
Ventajas
- GeoNode tiene una interfaz fresca y moderna.
- GeoNode es una plataforma colaborativa.
- Es sencillo de utilizar. No es necesario meterse en la interfaz de GeoServer para importar los datos, aunque ante cualquier imprevisto será necesario entrar en GeoServer para administrar, las capas o los estilos.
- La mejor combinación posible de base de datos y servidor espacial: PostGIS + GeoServer. Productos ya probados y con la madurez suficiente.
- Gestión de metadatos. Uno de los componentes que encontramos en GeoNode es pycsw: un gestor de metadatos que implementa el estándar CSW de la OGC. Con GeoNode crear los metadatos se hace de forma sencilla utilizando la interfaz web. Los usuarios también pueden cargar un documento XML de metadatos (en formato ISO, FGDC o Dublin Core).
- Documentación bastante completa y dividida en bloques: para usuarios, para administradores y para desarrolladores. Existe una Quick Installation Guide y listas de correo: geonode-users y geonode-devel.
- Forma parte de OSGEO Live.
Desventajas
- En Windows el proceso de instalación es bastante tedioso y complicado, ya que durante el proceso de instalación se instala Tomcat, Python y Java, además de PostGIS, GeoServer y Django.
- No es posible personalizar los metadatos para añadir más campos y así cumplir los requisitos que exige INSPIRE o el Núcleo Español de Metadatos (NEM). Por lo que necesitaremos utilizar otra aplicación como CatMEDit o GeoNetWork para desarrollar una IDE completa.
¿Quién usa GeoNode?
En la galería de proyectos podemos ver una lista de nodos IDE implementados con Geonode, como por ejemplo State GeoNode, el Bolivia GeoNode o MapStory.
GeoNode tiene una interfaz fresca y moderna, realmente es un gestor de contenidos con más librerías, lo que la hace más completa, pero a su vez más compleja de configurar.
Más info: https://summit.geonode.org/presentation/2020/afabiani_StateOfGeoNode.pdf
¿Y GeoShape?
GeoShape es un gestor geoespacial basado en GeoNode. GeoShape aprovecha el software de código abierto y se basa en GeoServer, GeoNode, MapLoom, PostGIS, OpenLayers y otros componentes.
Algunas mejoras que añade:
- MapLoom: es un visualizador de mapas creado con Open Layers 3 y Bootstrap. Es visualmente más atractivo y ligero. Sustituye al obsoleto GeoExplorer (que esta creado con openLayers 2).
- Permite almacenar las capas en un repositorio de GeoGig.
- Arbiter: una aplicación para móviles con la que se pueden recolectar datos.
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.
Hoa Aurelio. Felicitaciones por tu sitio.
Te comento que debo hacer un sitio web para un proyecto de aguas. Para ello cuento con los shapes necesarios e información documental, alfanumérica, fotos y videos. Todo debe ser bajo Windows.
Estuve probando con GeoNode pero su version de POstGre esta mu atrasada y concluyo que Voy a utilizar Geoserver bajo Tomcat, PostreSQL 9.6, PostGIS y Qgis. Importo los shapes y como hago con las fotos videos y pdfs ?. Me sirve Leaflet ?. Muchas gracias y perdon por la confusion
Hola Juan Pablo,
Muchas gracias, me alegro de que nuestro blog te resulte útil. En un entorno de desarrollo es buena idea tener los componentes instalados de forma independiente. Para mostrar vídeos y PDFs puedes utilizar Leaflet, ya que dispone de muchos plugins para ello. Saludos!
Hola Aurelio,
Antes que nada muy buen artículo. Ahora bien cuál sería la diferencia entre implementar para una IDE solamente Geonetwork? En qué se diferencia con respecto a GeoNode más pycws que trae por defecto.
Slds
Hola Martin, Geonetwork es un gestor de metadatos. Además de Geonetwork necesitas, al menos, GeoServer y aún así no sería un CMS. Geonode incluye además la base de datos PostGIS y GeoExplorer. Lo ideal sería GeoNode + GeoNetwork. Saludos!
Hola mi nombre es Nicolás , estoy montando una ide usando geoshape y me duda es si se puede «personalizar»maploom agregando herramientas varias, como medir o crear un módulo de consulta por polígono. También quería saber si se puede generar consultas automáticas sobre una base de puntos para que muestre los puntos en un el mapa una ves realizada la consulta. Desde ya muchas gracias
Hola Aurelio, tengo un trabajo de master donde debo poner en una web servicios de consulta de datos sobre mapas. La idea es escoger el dato que se quiere consultar, que se cargue el mapa, que el usuario coloque el cursor sobreun punto en el mapa y que la informacion a desplegar sea las coordenadas y el dato del punto.
El detalle es que los mapas estan en fomato TIFF, como servidor de datos espaciales estoy usando geoserver, que herramienta me recomiendas para la construccion de la aplicacion.
Gracias y felicidades por esta excelente iniciativa
Hola Mariela, Gracias por tu comentario 🙂 Para crear la aplicación web puedes utilizar tanto OpenLayers como Leaflet, como ambas librerías JavaScript podrás utilizar las capas servidas con GeoServer y mostrar tanto las coordenadas del punto al hacer clic como la información del punto (sería una petición GetFeatureInfo).
Saludos!
Buenas,
Tengo que realizar un proyecto para una master, y no sé cómo abordarlo, a ver si me puedes ayudar.
Verás, el proyecto consiste en realizar una especie de atlas y para ello la fuente de datos son imágenes ráster y algún que otro archivo vectorial. (y se me está ocurriendo meter un servicio WMS externo, a ver cuál meto sin problemas de copyright) El propósito final es que se pinche en la imagen y se despliegue la información del pixel en un popup, o en una tabla (y se me ocurre también que esa tabla se pueda imprimir). Alguna sugerencia de librería para hacer esto? Geoext? Leaflet? Openlayers? Quiero decir, para que el despliegue sea bonito, vistoso.
Como el master no tiene licencias educativas para cualquier software, pues quiero usar softwares libres y es aquí donde están mis dudas.
Mi arquitectura seria un almacén de datos como postgis, un servidor de mapas como geoserver y usar openlayers o leaflet. Aquí mi primera duda, con geoserver no puedo cargar rasters que estén en postgres, ¿verdad? ¿Sería correcto usar postgres para vectoriales y los raster almacenarlos en mi ordenador? O ¿hay alguna manera de cargar raster en postgis y después servirlo con geoserver?
Espero que me ayudes y me aclares un poco esto pq estoy un poco empantanado y todavía no se cómo afrontarlo y me gustaria algo como esto:
http://www.globalforestwatch.org/map/3/15.00/27.00/ALL/grayscale/loss,forestgain?tab=analysis-tab&begin=2001-01-01&end=2016-01-01&threshold=30&dont_analyze=true
Gracias.
Hola Francis,
Gracias por tu comentario. Crear un Atlas en web aún no lo he visto, solo conozco las herramientas Data Driven Pages de ArcGIS y el Atlas de QGIS. Si lo que quieres es mostrar la información alfanumérica asociada en un popup lo más fácil es utilizar un geoJSON y un servicio WMS por detrás. Realmente lo puedes hacer tanto con OpenLayers como con Leaflet, pero es más sencillo con este último. Post.
Otra cosa es que necesites crear una arquitectura GIS completa (PostGIS + GeoServer + Leaflet) pero necesitarás un servidor GIS especifico de pago, mira AcuGIS.
Por experiencia mejor utilizar usar postgres para capas vectoriales y los raster almacenarlos en el ordenador e importarlos a GeoServer.
El visor que propones es muy completo pero te adelanto que necesitarás grandes conocimientos de JavaScript y utilizar muchas librerías.
Si no quieres complicarte utiliza CARTO, donde es todo muuuucho más fácil.
Espero haberte ayudado,
Saludos!
Hola Aurelio,muchas gracias por contestar tan rapido.
En eso consiste, en aprender dando golpes y fallando, por eso mi idea de tantas cosas. Me podrias aconsejar alguna libreria? es que ya estoy muy saturado, y no se cuales elegir.
Carto no lo conozco, pero lo mirare.
Saludos.
Hola Francis, Yo me centraría en Leaflet únicamente, es con la que vas a tener prácticamente todas las funcionalidades y es sencilla de aprender. Ánimo y suerte!
Buenisima nota cómo todas las que publican en esta página. FELICITACIONES.
Una consulta: quise instalar el programa para Windows y pude hacerlo pero el localhost me muestra el sitio de Geonode pero sin css, o sea solo veo el html. Será alguna configuracion de mi computadora?
Un aporte: se están desarrollando versiones mas actuales 2.5 y 2.6, que incorporan mejoras sustantivas en la version de geoserver, el mapa, etc. Estan muy buenas pero aun no don estables. Link: http://docs.geonode.org/en/master/tutorials/install_and_admin/win_bin_install/win_binary_installer.html
Gracias por el comentario Leo y por indicarnos que hay nuevas versiones en desarrollo. Siempre es una buena noticia, puesto que el proyecto tiene continuidad.
En cuanto a la ausencia de reglas de estilo css, quizá la instalación no se llegó a a completar y falta ese archivo o quizá la página tarda en cargar ese archivo.
Saludos