Open Street Map

Entries feed - Comments feed

Last entries

Mon 01 Jun 2009

  • David Mentré

Faire une carte pour un GPS Garmin eTrex à partir d'Open Street Map

Ce billet est sous licence Art Libre 1.3, mauvaise illustration comprise.

Carte OSM sur un Garmin eTrex Les GPS Garmin (comme par exemple le eTrex Legend HCx que possède Gulliver) utilisent un format de carte propriétaire. Mais il est néanmoins possible de charger une carte générée à partir des données d'Open Street Map alias OSM (donc libre !) sur le Garmin.

À la louche, la création d'une telle carte se fait en deux étapes : découper les données de france.osm en plusieurs morceaux grâce au programme libre splitter puis générer par mkgmap (libre aussi) la carte au format Garmin à partir de ces morceaux.

En premier lieu, on crée la structure de répertoires pour stocker les données générées :

 $ mkdir splitted-osm && mkdir garmin-maps

splitted-osm/ contiendra les morceaux de données OSM de la France et garmin-maps/ contiendra la carte générée au format Garmin.

On récupère les données OSM de la France[1] :

 $ wget http://download.geofabrik.de/osm/europe/france.osm.bz2

On découpe ce gros fichiers france.osm en plusieurs fichiers plus petits en utilisant le programme libre splitter :

 $ wget http://www.mkgmap.org.uk/splitter/splitter.jar
 $ cd splitted-osm/
 $ java -Xmx2G -jar ../splitter.jar ../france.osm.bz2
 $ cd ..

L'option -Xmx2G permet d'utiliser une taille de pile plus important (2 Go) pour la machine virtuelle Java. Vous pouvez essayer avec une taille moins importante (-Xmx1G ou -Xmx512m) et passer à une taille supérieure si vous avez une exception java.lang.OutOfMemoryError: Java heap space.

On récupère ensuite la dernière version de mkgmap et on l'utilise pour créer la carte au format Garmin :

 $ wget http://www.mkgmap.org.uk/snapshots/mkgmap-r1051.tar.gz
 $ tar zxf mkgmap-r1051.tar.gz
 $ cd garmin-maps/
 $ java -Xmx2G -jar ../mkgmap-r1051/mkgmap.jar --gmapsupp --latin1 --net ../splitted-osm/*.osm.gz

Les options utilisées :

  • --gmapsupp : on génère le fichier gmapsupp.img qui résume tous les morceaux de carte générés ;
  • --latin1 : encodage des caractères au format Latin1 pour pouvoir afficher les accents ;
  • --net : on génère une carte routable qui permette au GPS d'indiquer une route[2].

Et voilà ! Il ne reste plus qu'à transférer toutes les données du répertoire garmin-maps/ (63240001.img, gmapsupp.img, ...) dans le répertoire Garmin/ (à créer si nécessaire) du GPS Garmin monté on USB Mass Storage ou sur sa carte mémoire micro-SD mise dans un lecteur.

Mais si vous ne voulez pas vous fatiguer, des cartes toutes faites sont disponibles ici : http://fredericbonifas.free.fr/osm/....

Liens utiles utilisés pour écrire ce billet :

Dernière minute : on m'a soufflé à l'oreille que GroundTruth est un autre programme intéressant pour générer des cartes Garmin. Je suis preneur de retours. :-)

Notes

[1] Ne pas utiliser les données d'hexagone.openstreetmap.fr qui sont invalides !

[2] Mise à jour 2009-06-29 : j'ai testé et ça marche.

Mon 30 Mar 2009

  • David Mentré

Convertir une URL Google Maps en Open Street Map

Xavier a déjà fait un billet dessus mais tant pis ! J'ai fait un petit script PHP pour convertir une URL de Google Maps en URL Open Street Map (source libre).

Mais après avoir montré le code sur la liste talk-fr d'openstreetmap, on m'a suggéré de faire la même chose en bookmarlet. Grâce à l'aide de Yann Coupin, c'est maintenant chose faite et disponible sur la même page que le script, idem pour le source.

Au passage, ça m'a permis d'apprendre ce qu'est un bookmarklet : c'est un bout de JavaScript qu'on stocke dans ses Marque-pages et qui fait des transformations sur la page courante lorsque on le sélectionne. Amusant. Maintenant je pourrais presque passer pour un pro du Web 2.0, presque... :-)

Et au passage, c'est un micro-exemple du travail en logiciel libre : quelqu'un fait une proposition, quelqu'un d'autre arrive et propose une extension auquel il n'avait pas pensé au départ, voir même propose un morceau de code. On construit beaucoup mieux en coopérant !

page 2 / 2