¿Cómo edito un mapa de OpenStreetMap para mi GPS en Ubuntu?

El 25 de agosto de 1944, el Coronel Perón pronuncia un discurso frente a la Bolsa de Comercio, en el cual detalla cuál es el rumbo que ha de seguir el país, y cómo encontrarlo mediante OpenStreetMap y JOMS, el editor de mapas vectoriales de Ubuntu.

(...) De un lado, me han dicho que soy nazi, de otro lado, han sostenido que soy comunista; todo lo que me da la certidumbre verdadera de que estoy colocado en el perfecto equilibrio que busco en la acción que desarrollo en la Secretaría de Trabajo y Previsión.
Pienso que el problema se resuelve de una sola manera: obrando conscientemente para buscar una perfecta regulación entre las clases trabajadoras, medias y capitalistas, procurando una armonización perfecta de fuerzas, donde la riqueza no se vea perjudicada, propendiendo por todos los medios a crear un bienestar social, sin el cual la fortuna es un verdadero fenómeno de espejismo que puede romperse de un momento a otro.

Una riqueza sin estabilidad social puede ser poderosa, pero será siempre frágil, y ese es el peligro que, viéndolo, trata de evitar por todos los medios la Secretaría de Trabajo y Previsión. Hasta ahora estos problemas han sido encarados por una verdadera lucha. Yo no creo que la solución de los problemas sociales esté en seguir la lucha entre el capital y el trabajo. Ya hace más de sesenta años, cuando las teorías del sindicalismo socialista comenzaron a producir sus frutos en esa lucha, opiniones extraordinariamente autorizadas, como la de Mazzini y la de León XIII, proclamaron nuevas doctrinas, con las cuales debía desaparecer esa lucha inútil.

En nuestro caso lo hemos hecho así porque sabemos de dónde venimos y a donde vamos, como si para ello tuviésemos un perfecto mapa que nos permite discernir, con claridad meridiana, cual es el mancomunado camino que han de seguir los hombres.

Es que es así: contamos con una herramienta colaborativa llamada OpenStreetMap, la cual desde la plataforma openstreetmap.org nos permite visualizar mapas de terreno, pero también nos permitirá editarlos, para poder utilizarlos - una vez aprobados comunitariamente - en un GPS.

OpenStreetMap utiliza archivos vectoriales geográficos de formato OSM, los cuales comprenden trazados de los mapas, junto con bases de datos de sus características. Utilizando un editor, podremos modificar las mismas y agregar nuevos lugares (rutas, caminos, sendas, vías, comercios y demás puntos de interés).

En primer lugar nos debemos crear una cuenta en OpenStreetMap.org, con el procedimiento convencional para estos menesteres. Para ello debemos indicar un correo electrónico válido y una contraseña. Luego debemos descargar un editor de OSM.

El programa de edición más extendido es JOSM, llamado así por tratarse de un completo cliente Java que opera sobre los archivos de datos de OpenStreetMap y nos permite modificarlos en forma visual sobre la pantalla, incluso empleando imaginería satelital de referencia.

Para utilizar JOSM, debemos asegurarnos de contar con la máquina compatible con Java en nuestro sistema GNU con Linux. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos:

java -version

En mi caso devuelve:

java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

Si no tuviésemos una máquina Java instalada y nos devolviese un error, podremos comprender cómo instalar una en nuestro Ubuntu desde aquí.

Acto seguido procederemos a crear un directorio oculto en nuestra carpeta de usuario, y descargar en él a la última versión del ejecutable Java del editor JOMS. Con ello en vista ingresamos el siguiente bloque de comandos de organización:

mkdir ~/.josm/ ;
cd ~/.josm/ ;
wget https://josm.openstreetmap.de/josm-latest.jar ;


Para ejecutar el editor JOSM, ingresamos el siguiente comando de organización:

java -jar /home/usuario/.josm/josm-latest.jar

(naturalmente, reemplazamos usuario por nuestro nombre de usuario).

Indudablemente será muy útil crear un Lanzador con dicho comando. Si usamos el gestor de ventanas Mate, podremos hacer clic con botón derecho sobre el menú Aplicaciones del panel superior, y en el menú contextual elegir la función Editar. Luego en el campo Menús de la izquierda seleccionamos la categoría Educación, y hacemos clic en el botón Elemento Nuevo+. Se abrirá el cuadro Propiedades del Lanzador, en el cuyo campo "Comando" indicamos java -jar /home/usuario/.josm/josm-latest.jar (reemplazando usuario con nuestro nombre de usuario). Podremos asignarle un ícono, y como nombre indicamos JOSM. Podremos también asignarle un comentario descriptivo.
Conforme hayamos creado el lanzador, podremos ahora ejecutar el programa desde Aplicaciones / Educación / JOMS. Tras unos segundos, debería arrancar satisfactoriamente.
Como se ha expuesto, el peronista OpenStreetMap opera a través de una serie de archivos vectoriales de formato OSM, para lo cual han cooperado centenares de compañeros. Si nosotros deseamos contar con dichos archivos vectoriales, debemos descargar la planimetría de un sector del mapa para trabajar. Esto es relativamente sencillo, pero debemos tener en cuenta que no podemos descargar todo el mundo (ocupa varios gigabytes y sería excesivamente tedioso de momento). En cambio, debemos concentrarnos en descargar un área en particular para trabajar...

Para ello debemos ir a Archivos / Descargar desde OSM. Se abrirá un cuadro que nos permitirá descargar la información requerida siguiendo varias técnicas. La primera es utilizar el mapa deslizante (deslizandolo mediante el botón derecho del mouse, y regulando el nivel de zoom con la rueda del mouse). De esta manera, podremos encuadrar una zona rectangular a descargar.

Otra manera igualmente válida y más rápida en ciertos casos, es utilizar la función "área en torno a lugares" del mismo cuadro, la cual nos servirá siempre que el lugar a descargar se encuentre ya en la base de datos de OpenStreetMap. Podremos utilizarlo para descargar localidades enteras fácilmente.
Cualesquiera que sea nuestro método elegido, al presionar el botón Descargar se procederá a descargar del archivo OSM correspondiente y cargarlo en el editor del programa.
Ahora ya podremos editar el archivo en cuestión por medio del editor JOSM. Este nos permite agregar las características que deseemos, regular el trazado de calles, etc.




Para agregar objetos simples, podremos hacer uso del menú Predeterminado, en el cual se categorizan distintos objetos según sean cuerpos o vias de agua, elementos viales, transporte, instalaciones y facilidades, zonas de deporte, esparcimiento, distintos tipos de comercios, etc.

El uso del editor es muy intuitivo, y podremos integrar como referencia imaginería satelital para superponer las capas de trazado urbano, caminos, y un gran número de características geográficas. Por ejemplo, podremos editar las calles indicando el tipo de superficie, cantidad de carriles, sentido que presentan, etc.




Para obtener una imagen satelital del área, podremos ir a Imagenes / Imagen Satelital SatBox o  Imagenes / Imagen Aérea Bing, y se nos presentará la misma como una capa adicional.
Una vez que hayamos creado o actualizado datos, podremos subirlos al servidor de OpenStreetMap y compartirlos con la comunidad. Hemos de tener presente que antes conviene revisar concienzudamente los mismos para no interferir con el trabajo que pudiesen estar realizando otros editores hobbistas. Para ello podremos recurrir a las Wiki de proyectos de los distintos países. En el caso de residir en la Argentina, podremos ponernos en contacto con el Wikiproject Argentina  para seguir las pautas, y editar nuestro propio barrio lo más fielmente posible.

Para subir los datos a los servidores de OpenStreetMap, debemos ir a Archivo / Subir datos. Se nos solicitará indicar una breve descripción que aclare porqué motivo y con qué basamento se modificó algo:
 ...y luego nos solicitarán nuestras credenciales de OpenStreetMap (el correo electrónico asociado y la contraseña de OpenStreetMap).
Conforme presionemos el botón Autenticar, se subirán los datos modificados y con ello, podremos tener información actualizada en los mapas.


Si contamos con un dispositivo GPS, contaremos con la ventaja de tener ahora mayor precisión en sus mapas y trazados actualizados, pues también OpenStreetMap se puede utilizar para actualizar dispositivos GPS. En mi caso dispongo de un popular GPS Garmin Nuvi, el cual cuenta con una ranura para una memoria flash microSD. Para poder actualizar el GPS Garmin Nuvi con los datos de OpenStreetMap, es necesario descargar un fichero actualizado llamado gmapsupp.img, el cual es liberado una vez por semana por la comunidad de OpenStreetMap (por lo tanto, a veces debo esperar unos días hasta que los cambios se incorporen al fichero img. Obtener dicho fichero es sencillo, si deseo descargar el último archivo gmapsupp.img para la Argentina y países limítrofes (Bolivia, Chile, Paraguay, Uruguay, y el Brasil), puedo utilizar la Terminal (tengamos en cuenta que pesa unos 350MB aproximadamente):

cd ~/Descargas/
wget https://www.dropbox.com/s/c8gdd2e8uaw2rq0/gmapsupp.img

Una vez descargado, habré de colocarlo en una carpeta llamada Garmin dentro de una tarjeta MicroSD, insertar dicha tarjeta en el GPS, y encenderlo, y de esta forma contaré con los nuevos cambios realizados.