FR:Mkgmap
| Quick links |
|---|
| Documentation |
| Development |
| Download maps |
Ce programme permet de convertir des données OpenStreetMap en cartes qui peuvent être chargées dans un GPS Garmin. Il réalise la conversion en une seule étape sans l'aide d'aucun autre programme.
Le but de ce projet est de récupérer les données de OpenStreetMap et de les placer sur mon Garmin Legend Cx pour m'aider à déterminer ce qui a été fait du reste. De plus, c'est amusant d'utiliser la carte que vous avez créée.
Il nécessite Java, et donc devrait fonctionner partout où JOSM est accessible.
Il a été écrit par Steve Ratcliffe. Les rapports de boggues ou suggestions peuvent être envoyés par courriel à AcousticNewt (en anglais) ou ajouté à la page de discussion.
Contents |
Téléchargements
Les téléchargements sont maintenant disponibles en fichiers zip (qui sont plus pratiques sur les machines Windows), ainsi qu'en fichiers tar compressés. Le contenu des archives est identique.
- La version stable actuelle est 1188.
Les principaux changements depuis 1067 sont :
- Shields are displayed on highways
- Extended/Marine types added, providing more line types
- make-cycleways to synthesise cycle ways on roads that have a separate cycle lane
- Fichiers img plus petits
- Corrections de bugs et amélioration du routage
- Téléchargement
- Dernière version : mkgmap-latest.tar.gz (recommandée, la plus à jour)
- Version 1188 : archive zip mkgmap-r1188.zip, archive tar mkgmap-r1188.tar.gz (stable, à choisir si latest ne fonctionne pas)
- Instantanés et code source : Snapshots
Mkgmap nécessite Java 1.6 (ça marche avec 1.5, mais certainement plus lentement). Si votre système d'exploitation n'a pas déjà java installez-le.
Créer une carte
- Créez un fichier contenant des données OSM. Je fais cela en sauvant depuis JOSM. Vous pouvez nommer ce fichier comme vous voulez (ce sera data.osm dans l'exemple). Vous pouvez aussi obtenir une plus grande zone en utilisant XAPI comme cela (exemple pour les Midlands du Royaume-Uni) :
wget http://www.informationfreeway.org/api/0.6/*[bbox=-3.5,51.5,-1.0,53.5] -O data.osm
ou
curl -L "http://www.informationfreeway.org/api/0.6/map?bbox=-3.5,51.5,-1.0,53.5" -o data.osm
- Ensuite pour créer le fichier image Garmin; ouvrir une ligne de commande et naviguez vers le dossier de Mkgmap. Exécutez la commande suivante :
java -jar mkgmap.jar [options] data.osm
- Cela produit un fichier appelé 63240001.img
Il est possible que le programme plante à un moment donné, particulièrement si vous traitez une grande zone, avec des erreurs Exception in thread "main" java.lang.OutOfMemoryError: Java heap space. Si cela arrive, allouez plus de mémoire à java comme ceci :
java -Xmx512M -jar mkgmap.jar [options] data.osm
Cela alloue 512 Mo de mémoire physique à java.
Options de la ligne de commande
Pour de grande cartes, vous pouvez souhaiter modifier les détails de la carte par défaut. Voici les options que vous pouvez choisir. Si vous souhaitez modifier plusieurs options, il peut être plus facile de les mettre dans un fichier et l'appeler avec l'option -c.
Pour une liste complète, voir la liste des options.
Utilisation : mkgmap [options...] <file.osm>
Options :
- --help=topic
Affiche l'aide sur le sujet choisi. Si le sujet n'est pas indiqué,
une liste de tous les sujets est affichée.
- -c filename
Spécifie un fichier de configuration plutôt que des options en ligne de commande.
Dans le fichier, chaque ligne est une option sous la forme option=valeur, comme
en ligne de commande mais sans le '--' de tête.
- -n name
- --mapname=name
Change le nom de la carte. Les cartes Garmin sont un nom de 8 chiffres.
Le nom par défaut est 63240001. Il vaut mieux changer le nom si vous devez
créer plusieurs cartes sans que les noms interfèrent, donnez-leur un nom unique.
- NOTE : entrez seulement le nom, sans l'extension .img, cela provoquerait une exception.
- --description=text
Texte descriptif pour la carte. Cela sera affiché dans
QLandkarte, MapSource, sur un GPS etc...
- --country-name
Nom du pays de la carte. C'est "UNITED KINGDOM" par défaut.
- --country-abbr
Nom abrégé du pays de la carte. C'est "GBR" par défaut.
- --region-name
Nom de la région de la carte. Par défaut, la carte n'a pas de nom de région.
- --region-abbr
Nom abrégé de la région de la carte. Par défaut, la carte n'a pas de nom de région abrégé.
Options des noms:
- --latin1
Cette option permet l'utilisation de caractères non-ascii dans les noms de rue.
Ce qui est réellement supporté dépend de l'appareil. Certains appareils ne supportent
que les caractères ascii.
Mkgmap convertit d'une certaine manière les caractères non-affichables
par défaut (même sans cette option), en convertissant les caractères vers
des caractères ascii non-accentués quand c'est possible.
- --charset=name
Utilise le jeu de caractères spécifié.
- --code-page=number
Utilise le code page donné
- --lower-case
Permet l'utilisation de noms en minuscules. Notez que cela ne marche pas
avec de nombreux (la plupart, tous ?) appareils Garmin.
Options de style :
Voir aussi la documentation sur les styles personnalisés.
- --style=name
Spécifie un nom de style différent, plutôt que celui par défaut.
- --style-file=file
Spécifie un fichier externe duquel obtenir le style. Le "fichier" peut être
un dossier ou un fichier zip contenant le style. Cela peut aussi être une URL.
S'il y a plus d'un style dans le fichier zip, alors l'argument --style doit être
utilisé pour indiquer le style à choisir.
Pour des raisons de compatibilité ascendante, vous pouvez aussi fournir un fichier
map-features.csv. Voir l'aide des styles personnalisés.
- --list-styles
Liste les styles disponibles.
- --levels=levels code
Change la façon dont les niveaux de la carte correspondent aux niveau de zoom
sur l'appareil. Voir l'aide des styles personnalisés. Le défaut est l'équivalent de
"0=24, 1=22, 2=21, 3=19, 4=18, 5=16", mais cela peut changer.
- --name-tag-list
Spécifie le tag qui sera utilisé pour fournir les noms. C'est utile pour afficher les
noms dans une langue précise.
Vous pouvez indiquer une liste de tags, le premier trouvé sera utilisé.
(ex. ;--name-tag-list=name:en,int_name,name)
- --map-features=file
Option obsolète. Utilisez plutôt l'option --style-file.
Options de description de produit :
- --family-id
C'est un nombre qui identifie une famille de produits.
- --product-id
C'est un nombre qui identifie un produit au sein d'une famille.
C'est souvent 1.
- --series-name
- --family-name
- --area-name
- --overview-mapname
Options diverses :
- --block-size=number
Change la taille de bloc utilisée pour générer la carte.
Il n'y a pas de raison générale pour faire cela.
- --net
Crée un fichier supportant l'option lock to road.
- --gmapsupp
Écrit un fichier gmapsupp.img qui peut être envoyé sur un appareil Garmin par USB.
- --ignore-osm-bounds
À la lecture des fichiers OSM, ignore les éléments bounds.
- --road-name-pois[=GarminCode]
Génère un POI pour chaque route nommée. Par défaut, les POI ont le type code
Garmin 0x640a. Si souhaité, un code différent peut être spécifié par cette option.
- --tdbfile
Écrit un fichier .tdb
- --draw-priority=25
Quand deux cartes couvrent la même zone, cette option contrôle l'ordre
d'affichage. Les fortes priorités s'affichent au-dessus des faibles priorités.
- --transparent
Rend la carte transparente, cela permet de voir la carte du dessous à travers
la carte du dessus. Utile pour les courbes de niveau par exemple.
- --version
Affiche la version du programme.
Installation
- Charger la carte créée sur votre appareil Garmin. Les modèles tels le Legend Cx peuvent être mis en mode USB mass storage, ils apparaissent alors comme une nouvelle lettre de lecteur (sous Windows) ou système de fichiers (sur les systèmes Unix/Linux). Dans ce cas vous pouvez juste copier la carte gmapsupp.img dans le dossier Garmin, le créer s'il n'existe pas.
- User:Tms13 : Si votre GPS utilise les cartes mémoires, il peut être plus rapide de retirer la carte et de se servir d'un lecteur de carte - la plupart des GPS Garmin sont en USB 1.1, un lecteur de carte USB 2.0 écrit au moins 5 fois plus rapidement selon mon expérience.
- Si vous avez un vieil appareil Garmin cartographique à connexion série, vous pouvez charger le fichier .img en utilisant Sendmap.
- Vous pouvez aussi combiner deux ou plusieurs autres cartes en une carte avec Sendmap ou gmaptool. (NDT : mkgmap permet de faire cela aussi.)
- Le programme QLandkarte peut être utilisé pour télécharger sur le GPSmap 60CSx et la dernière version marche aussi sur mon Legend Cx.
Problèmes connus
Problèmes connus actuellement.
Recherche de rues
Actuellement nous ne savons pas comment rendre les rues disponibles dans la recherche de rues Garmin. Des méthodes comme rendre chaque rue comme POI ont été proposées (voir la page de discussion).
Ligne de côte
La ligne de côte est visible, mais la mer devrait apparaître comme polygone. (NDT : problème résolu par les différentes variantes de l'option --generate-sea)
Zone trop vaste
Si vous essayez d'utiliser mkgmap sur une zone trop vaste, il ne peut pas la traiter (erreur Area too large). Vous devez partager le fichier OSM original en fichiers plus petits. Voici comment faire :
- Divisez le fichier :
java -Xmx1000m -jar splitter.jar file.osm
- Utilisez mkgmap sur les fichiers résultants, par exemple :
java -Xmx1000m -jar mkgmap.jar -c template.args
Développement
Il y a une page wiki pour le développement, principalement basée sur l'usage OSM.
Il y a aussi une page externe mgkmap.
Licence
Le logiciel est fourni sous licence GPL version 2. Les cartes qu'il produit doivent être fournies selon la licence des données desquelles elles dérivent, dans le cas des données OSM il s'agit de Creative Commons CC-BY-SA 2.0. Il n'y a donc pas de conflit de licence qui pourrait exister avec une autre approche.
GUIs
Il y a actuellement au moins quatre projets donnant une interface graphique (GUI) à mkgmap, de sorte que les utilisateurs puissent cliquer sur des boutons plutôt que de se souvenir de lignes de commande :
- OSM Composer - une GUI construite sur mkgmap, pour simplifier le processus de création de cartes Garmin depuis les données OSM et SRTM.
- MkgmapGUI de freegeographytools - seulement sous Windows, propriétaire, permet uniquement des conversions OSM -> img.
- Mkgmapgui de activityworkshop - Java, open source, fournit un access simplifié à la conversion et à la combinaison de fichiers img.
- DoMyMaps - a été récemment suspendu selon User:Lao
Scripts
Pour les utilisateurs de bash : un Script Bash.
Liens
- http://www.parabola.me.uk/mkgmap/ - Téléchargement et actualité de mkgmap
- mkgmap/dev - Page de développement de mkgmap
- mkgmap/routing - Pour générer des cartes routables
- OSM Map On Garmin - Aperçu général sur la création de cartes pour Garmin.
- OSM Map On Garmin/Download - Téléchargement de fichiers img créés depuis des données OSM.
- Image:Putney-on-gps.jpg - Une carte de Putney sur un Venture Cx créée par User:Gravitystorm
- Image:Qlandkarte sueddeutschland.png - Une carte de l'Allemagne du sud vue avec QLandkarte
- mkgmap/i18n - La page d'internationalisation.
- User:Petrovsk - Explications didactiques en français, pour faire ses cartes, éventuellement multicouche, routable et/ou avec relief.
- User:Computerteddy - Le monde prêt à emporter sur un GPS Garmin, fait avec mkgmap (presqu'intégralement en allemand)
- OSM Map On Garmin/Cycle map - Faire une carte pour le cyclisme avec mkgmap.
- http://forum.bernard.debucquoi.com/viewtopic.php?f=85&t=5135 Tutoriel illustrer.



