geografías, sistemas y más

Categoría: GIS

Basemap Checker

Basemap checker es un mini desarrollo que hice con el objetivo principal de practicar Javascript y de paso cañaso, armar una herramienta que sirva al momento de ir actualizando los estilos de los diferentes mapas base que desarrollamos en el Instituto Geográfico Nacional.

El desarrollo es un mapa en Leaflet utilizando el plugin side by side. El funcionamiento de éste se basa en tener dos layer o arrays de layers y dividir la pantalla en dos para visualizar uno u otro. Muy simple todo.

El plugin ya lo veniamos usando, pero los mapas base los cambiabamos directamente desde el archivo js. hardcodeando.

La mejora que le hicimos fue:

  • Agregar botones con los mapas base del IGN ( los que están en producción)
  • Agregar un menú desplegable para poder usar mapas base de otras empresas o instituciones (OSM, Google, Stamen, etc)
  • Agregar un input para poder usar otros mapas base. Ésto puede ser útil tanto para poner mapas que ignoramos cómo también para agregar los mapas de producción.

Algunas mejoras que se quedaron en el tintero para hacer:

  • mejorar toda la usabilidad, el css, etc
  • agregar algo que te diga cual es el mapa utilizado
  • guardar las url customizadas
  • agregar bookmarks

Por último, el código está publicado acá: https://github.com/martinfernandoortiz/basemaps_checker/

Mapas Base Argenmap

Este post tiene cómo objetivo describir una parte del trabajo que venimos haciendo dentro del Instituto Geográfico Nacional en relación a los diferentes geoservicios que producimos y en particular a los mapas base.

Lo primero para mencionar es que la producción de cartografía es una tarea compleja que implica la articulación de muchos actores y poner el ojo en una cantidad inigualable de detalles. Si a esto le sumamos el soporte digital, la complejidad se multiplica por cada nivel de zoom que tiene éste. Y acá es que entra en juego lo más importante en esta experiencia: tener un equipo de profesionales que le hacen frente a las distintas dificultades que se van presentando. Sin este equipo, hoy en día no tendríamos la calidad que tenemos en los diferentes mapas bases del IGN y esto no implica que el trabajo éste terminado si no que planteamos procesos de mejoras continua.

4 argenmaps

Argenmap

Argenmap es el proyecto que engloba a los diferentes mapas base que desarrolla el Instituto Geográfico Nacional. Éstos se pueden utilizar tanto en el visor de mapas del IGN, cómo también como mapas base para software GIS o embeberlos en aplicaciones. Además, cada uno de éstos mapas son parte de la cartografía digital oficial de la Administración Publica Nacional.

Actualmente llevamos desarrollados 5 mapas base: Argenmap, Argenmap Gris, Argenmap Oscuro, Argenmap Topográfico y Argenmap Híbrido. Los dos primeros ya se encontraban en producción al inicio de mi gestión cómo coordinador en el Departamento de Aplicaciones Geoespaciales. En éstos 3 años se le fueron haciendo mejoras en cuanto al etiquetado, simbología y a los estilos en general.

Cada uno de los mapas base que desarrollamos está pensado para diferentes tipos de usos y usuarios. Siendo el «argenmap común» un mapa base generalista, de todos los mapas base éste es el que contiene mayor cantidad de capas y etiquetas. Hasta éste momento (01/02/2024) está pensando para ser utilizados en contextos en donde no se necesita agregar muchas más capas.

Argenmap comun

Tanto Argenmap Gris cómo el Oscuro fueron desarrollados pensando en proyectos que necesitan agregar capas sin que ésto implique un «empaste» en la pantalla. Ambos son monocromáticos lo cual facilita el contraste de información. Nobleza obliga, antes de entrar al Instituto uno de los mapas base que más utilizaba en mis proyectos era el Carto Dark, desarrollado por la empresa española Carto. Nuestro mapa oscuro replica mucho algunos de los lineamientos que dicho mapa tiene.

Argenmap gris Argenmap Oscuro

El Argenmap Topográfico nació con el objetivo de combinar tanto topografía cómo también cobertura de suelo. La base de éste se basa en modelos digital de elevación, hillshades y una paleta de colores basada en la cobertura. Inicialmente se desarrollo solo para el Territorio Nacional (excluyendo el Sector Antártico Argentino) pero en la segunda versión se pudo trabajar la topografía de dicho sector cómo también la del resto de América Latina

Argenmap Topo

El último desarrollo hecho es el Argenmap Híbrido. Éste mapa base está pensado para ser utilizado arriba de imágenes satelitales. Es el que menos capas y etiquetas contiene, teniendo solamente información básica de límites y red vial.

Argenmap Topo

Desafíos y Dificultades

Actualmente el stack que se utiliza para éstos desarrollos es postgreSQL (con PostGIS) y Geoserver. Cada una de las capas, se sirven en Geoserver y los estilos están creados a través de archivos SLD. El código de ésto se encuentra publicado en el repositorio oficial del IGN.

Puede parecer redundante, pero los principales desafíos en este tipo de trabajos no tienen que ver con el diseño cartográfico y el desarrollo de código sino más bien con la definición de territorio y la discusión teórica acerca de que mensaje queremos transmitir con la cartografía digital. Esto conlleva, un proceso de documentación de las diferentes discusiones en torno al porque representamos lo que representamos.

Una de las dificultades que se presentan al momento de trabajar los estilos del mapa tiene que ver con la estructura de las tablas alojadas en la base de datos que siguen lineamientos relacionados a la tradición cartográfica del Instituto. Esto implica, que muchas capas están pensadas para la producción cartográfica impresa, y las necesidades al momento de generar geoservicios y cartografía digital puede diferir. El impacto de éste es que muchos estilos SLD terminan siendo códigos de proporciones bíblicas dada la cantidad de filtros que se le aplican

Otra de las tareas de gran dificultad es el etiquetado toponímico. La generación de etiquetas para diferentes niveles de zoom en un territorio tan extenso implica la creación de múltiples reglas y filtros para considerar todas las excepciones para tener un etiquetado consistente.

Por otro lado, es importante poder reproducir los mapas base en otras tecnologías analizando que potencialidades puede tener la utilización de éstas. Ésto puede impactar en el desarrollo de mapas en 3D o en las mejoras en las texturas y efectos de iluminación en las teselas.

Para poder visualizar los mapas podes ingresar al visor institucional del IGN o también a la sección de geoservicios para embeberlos en otros proyectos

Lee la nota que escribimos en la Revista Ojo del Condor sobre Mapas Base

Proba los mapas desde aquí:

Instalación de Geoserver

En el mes de junio 2023 se celebraron las jornadas de IDERA en Santa Rosa – La Pampa – Argentina. Para esta ocasión, junto al equipo de la Dirección de Información Geoespacial del Instituto Geográfico Nacional preparamos un taller de estilos aplicados a Geoserver.

A continuación quiero compartir la documentación que fuimos generando para la instalación de Geoserver. Si quieren ver el repositorio, éste es el link

¿Qué es Geoserver?

Geoserver es un servidor web de código abierto desarrollado en Java, multiplataforma, que permite a los usuarios compartir y editar datos geoespaciales. Diseñado para la interoperabilidad y publicación de datos de cualquier fuente de datos espaciales con estándares abiertos.

¿Es el único Servidor de datos geográficos open source?

No, no es el único. Existen otras alternativas cómo mapserver

Guía de instalación

Hay múltiples formas de instalar geoserver: con los instaladores, a través de docker, a través de una máquina virtual, usando OSGeo Live, etc. Los pasos acá sugeridos están pensados para hacer pruebas y no para un entorno de producción. Para esto último, no dudes en consultar a tu informático amigo 😉 . Por otro lado, también es importante señalar que el mejor camino es vía docker (estes en el Sistema Operativo que estes). Puede parecer un poco intimidante usar docker para aquellos que no venimos de las Ciencias de la Computación pero la instalación es más rápida y evita problemas de dependencia y errores.

Algunas ventajas de usar docker:

  • con docker ya instalado en tu PC, cuando pruebes geoserver va a andar o andar
  • no vas a tener que instalar nada extra para que funcione. En el caso del instalador de Windows necesitas hacer varios pasos extras y todo depende de cada compu
  • tanto la instalación cómo la desistalación no te va a generar ningún inconveniente de dependencias
  • vas a poder usar docker para probar otras herramientas. En el caso del software dedicado a la generación y procesamiento de información geoespacial es muy útil. Ejemplos: si vas a usar R o Python…

Instalación de Geoserver en Windows

  • Antes de instalar geoserver vas a necesitar tener instalado Java 64 bits JRE o JDK. Podes descargarlo desde acá
  • Luego tenes que descargar Geoserver desde acá

Instalación en Windows vía docker

La documentación oficial está aquí

Si ya tenemos docker instalado, en una terminal ( pone en inicio «cmd» y abrila) escribir:

docker pull docker.osgeo.org/geoserver:2.24.x

Lo que hace este comando es descargar la imagen oficial de geoserver para Docker

Para correr el contenedor:

docker run -it -p8080:8080 docker.osgeo.org/geoserver:2.24.x

Si queremos utilizar el contenedor con una carpeta para poner data (shapes, etc) debemos correr

docker run -v C:\Users\martin\Documents\docker:/opt/geoserver_data -it -p8080:8080 docker.osgeo.org/geoserver:2.24.x

en donde C:\Users\martin\Documents\docker es la carpeta donde irán los shapes o capas a subir

Instalación en GNU-Linux vía docker

Si usas alguna distribución GNU-Linux te sugerimos que optes por la instalación vía docker; de esta forma no vas a tener problemas de dependencias ni nada de eso. Solo necesitas tener instalado docker, docker compose y permisos de administrador.

La documentación oficial está aquí

En una terminal (ctrl+ alt + t) escribir:

docker pull docker.osgeo.org/geoserver:2.24.x

alt_text

En la imagen se ve que se agregó sudo para tener los permisos de administrador

Para correr el contenedor:

docker run -it -p8080:8080 docker.osgeo.org/geoserver:2.24.x

Si queremos utilizar el contenedor con una carpeta para poner data (shapes, etc) debemos correr

docker run --mount type=bind,src=/home/martin/Documents/docker,target=/opt/geoserver_data -it -p8080:8080 docker.osgeo.org/geoserver:2.24.x

o sino

docker run -v /home/martin/Documents/docker:/opt/geoserver_data -it -p8080:8080 docker.osgeo.org/geoserver:2.24.x

en donde /home/martin/Documents/docker es la carpeta donde irán los shapes

Geoserver vía OSGeo Live

OSGeoLive es un DVD de arranque autónomo, unidad USB o máquina Virtual basada en Lubuntu, que permite probar una gran variedad de software geoespacial de código abierto sin necesidad de instalar algo particular. Se compone enteramente de software libre, lo que le permite ser libremente distribuido, duplicado y compartido. Para conocer más acerca de éste proyecto ingresa aquí: https://live.osgeo.org/es/

Dentro de todos los programas que componen a OSGeoLive se encuentra Geoserver. Podemos utilizar esta distribución tanto desde una maquina virtual como tambien desde un usb de arranque. Para cualquiera de las dos opciones vamos a descargar el archivo desde https://live.osgeo.org/es/download.html.

Podes consultar la documentación oficial


Desde una máquina virtual

Para este ejemplo, necesitamos instalar una máquina virtual descarga Oracle Virtual Box desde acá y descargar el archivo de OsGeoLive en formato vm ( consulta acá )


Desde un USB de arranque

Necesitas cualquier programa para generar un usb de arranca (booteable).

Etcher Balena es un programa multiplataforma (tanto para Windows cómo para GNU Linux )

  1. Seleccionas el archivo .*iso descargado de https://live.osgeo.org/es/
  2. Seleccionas el Pendrive
  3. Tocas flash
  4. Reinicias y tenes que seleccionar desde el BIOS que bootee primero el USB

Si en algún momento necesitas volver a restaurar tu usb, seguí éstos pasos : https://www.pendrivelinux.com/restoring-your-usb-key-partition/#DiskPart_Has_Encountered_an_Error

¿Cómo arrancar Geoserver?

Si éstos métodos no te sirven podes guiarte por la documentación oficial en este link

FOSS4G 2021 + Ruteo en R

Que es la FOSS4G?

La FOSS4G es el evento de software open source y software libre geoespacial más grande del mundo. Es un encuentro organizado por la fundación OSGEO (Open Source Geospatial Foundation) y las comunidades locales de cada parte del planeta en la que participan desde programadores, investigadores, estudiantes, organismos no gubernamentales, empresas, docentes, etc. Dentro de la conferencia hay talleres, charlas, mapatones, stands y lo más importante el encuentro con personas.

Ésta vez fue la primera vez que participé y si bien no tenía mucha expectativa dado el formato virtual el nivel de la conferencia es INCREIBLE en cuanto a la calidad de las ponencias, talleres y también de la organización (desde la plataforma hasta la comunicación). En este sentido, hay que remarcar el trabajo que hicieron los Geoinquietos Argentina y la Asociación GeoLibres para poder llevar a cabo menuda conferencia poniendole el cuerpo a situaciones realmente dificiles y dolorosas.

De las cosas que más rescato de mi experiencia en la FOSS es la posibilidad de escuchar en primera persona las experiencias y trabajos de gente que uno admira. En mi caso, participe de un taller de Vector Tiles llevado a cabo por Map Tiler. Además de escuchar a los “viejos conocidos” el encuentro da la posibilidad de escuchar otras voces que son parte de la comunidad pero no son tan conocidas o activas en las redes y llevan a cabo un trabajo espectacular.

Otra de las cosas que más me gusto del encuentro – y pese a que el formato fue virtual – fue la posibilidad de poder hablar con gente. La plataforma tenía una interfaz en donde cada participante podía ser un personaje y a través de diferentes representaciones de la Ciudad uno se podía cruzar con gente y generar una video llamada. Ésto hizo que uno pueda seguir intercambiando data o conociendo gente más allá de las charlas o talleres.

 

Mi primer FOSS

Cómo suele pasar en la mayoría de los eventos en los que participo, primero me anoto y a partir de eso me obligo a presentar algún trabajo. En esta ocasión la charla que dí se basó en un indicador que construimos para el Ministerio de Cultura sobre accesibilidad física a espacios y actividades culturales en la Ciudad de Buenos Aires.

El trabajo se basa en calcular para cada una de las esquinas de la Ciudad la distancia peatonal a una serie de espacios culturales (Cines, Teatros, Clubes de Música, Bibliotecas, Museos, Espacios de Formación). Ésto implico, por un lado utilizar alguna herramienta de ruteo – en este caso fue OSRM – y poder programar un script que lupee las esquinas y además que disminuya el tiempo de procesamiento lo máximo posible.

Más allá del contexto del trabajo, éste fue una buena oportunidad para poner en práctica algunas cosas que vengo haciendo en R. Empece a estudiar éste lenguaje en diciembre 2019 y en estos dos años me obligue a usarlo literalmente casi todos los días ya sea para manejo de tablas, escrapeo, data wrangling, geoprocesos, desarrollo de dashboards etc.

Otro dato no menor es que la charla la hice 100% en ingles. Si bien estaba la posibilidad de hablar en castellano, la mayoría del público hablaba ingles (y las relaciones sur-sur no se van hacer solas) y eso también implicó un lindo desafio.

 

 

Para terminar el posteo, ojala que la FOSS4G2021 sea la primera de muchas otras (la próxima se hace en Florencia, Italia) . Y a modo personal, queda pendiente empezar a ver algunos videos de lo que fueron las presentaciones. Realmente hay material de estudio muy interesante para indagar.

Descarga de diapositivas

Descarga del código