gpsbabel - créer des POI (zones de danger) .gpi pour Garmin

Installation, configuration et utilisation des logiciels que vous souhaitez installer.
Répondre
Avatar du membre
ledudulela
Messages : 242
Enregistré le : mer. 15 juil. 2015 20:49
Localisation : France - Gironde

gpsbabel - créer des POI (zones de danger) .gpi pour Garmin

Message par ledudulela »

bonjour,
voulant mettre à jour mon GPS Garmin Nuvi 250, je l'ai branché sur mon Linux Mint Debian Edition 2.
première bonne nouvelle, il a été reconnu immédiatement par le gestionnaire de fichiers.
ensuite, j'ai voulu créer des POI (Points of interest). après de longues heures de lecture car néophyte en la matière et ayant galéré à vouloir installer le logiciel de Garmin prévu à cet effet (POILoaderforWindows) dans Wine, j'ai fini par trouver cet outil disponible dans les dépôts Linux: gpsbabel et son interface graphique gpsbabel-gui (qui se lance, comme son nom l'indique, avec la commande gpsbabelfe)

Image

petite explication:
GPSBABEL est un logiciel linux qui permet de convertir un fichier de POI (Points Of Interest)
en un fichier compatible Garmin .gpi (.gpi signifie "Garmin Points of Interest")

GPSBABEL accepte en entrée des fichiers CSV, GPX, etc, et en sortie GPI, GPX, etc
Les POI sont par exemple les "Zones de danger" remplaçant les zones de radar désomais interdites.
remarques:
- les fichiers CSV sont modifiables avec OpenOffice Calc (ou une éditeur de texte quelconque)
- désactiver les zones de radar Garmin dans le menu Config > Points de proximité > Alarmes de proximité


Le fichier CSV en entrée doit être de la forme: latitude,longitude,libellé
exemple de POI en CSV: 43.63426, 1.42101, Zones De Danger FR 90
- le séparateur de champs est la virgule (comma separated)
- latitude: en France, la latitude est environ 45° (ce qui permet de vérifier rapidement l'ordre des colonnes dans le csv)
- latitude et longitude sont de la forme: 99.99999 (le nombre de chiffres avant et après le point pouvant varier)
- libellé: ce libellé apparaîtra dans le Garmin Nuvi 250 en allant dans le menu suivant:

Accueil > Où aller > Supplém. > Points d'intérêt perso. > Liste des catégories > Liste des POI (de la catégorie choisie)

- Le nom des POI dans le Garmin est préfixé par le "libellé CSV" suivi d'un point et d'un n° incrément auto
- Leur catégorie (visible dans la liste des catégories) est celle définie dans l'option "Category" de GPSBabel

Des fichiers CSV pré-remplis de POI avec les images correspondantes se trouvent aisément et gratuitement sur le NET (merci aux auteurs), il faut cependant les modifier pour qu'ils correspondent au schéma attendu (par exemple, longitude et latitude sont parfois inversées)
Le fichier .gpi doit être copié dans le répertoire /Garmin/POI de l'appareil Garmin.
Le nom du fichier semble ne pas avoir d'importance (conseil : mettre un nom intelligible, de préférence sans espace).

résumé:

- Exemple de POI dans un CSV = 48.88646, 2.21015, ZDD FR 130
- Nom du POI dans le Garmin = libellé dans le CSV + point + n° auto. exemple: ZDD FR 130.999
- Catégorie du POI dans le Garmin = option Category dans gpsbabel (output options dans gpsbabel-gui)

astuces:
- ajouter l'année des données dans le nom de la catégorie. exemple: Zone de danger 2014 FR 130 Km
- ajouter l'année des données dans le nom du répertoire contenant les fichiers source (.csv) et cible (.gpi).


pour vérifier le contenu du .gpi :
gpsbabelfe (gpsbabel-gui)
http://www.gps-data-team.com/convert/poiedit.php (donne les coordonnées enregistrées ainsi que la position sur carte Google)


exemple de commande (gpsbabel) générée avec l'interface graphique GPSBabel-Gui (gpsbabelfe):
#!/bin/bash
gpsbabel -w -i csv -f "./ZDDFR50.csv" -o garmin_gpi,bitmap="./ZDDFR50.bmp",category="ZDD FR 50",alerts=1,proximity=0.025,sleep=1,speed=50,unique=1,units=m,hide=0,descr=0,notes=0,position=0,snwhite=0,snupper=0,snunique=0,prefer_shortnames=0 -F "./ZDDFR50.gpi"

explications de la commande:
gpsbabel -w -i csv -f "./ZDDFR50.csv" -o garmin_gpi, // -i format en entrée, -f fichier en entrée, -o format en sortie
bitmap="./panel50.bmp", // l'image à afficher sur la carte
category="ZDDFR50", // la catégorie dans laquelle sera classé chaque POI (output options dans gpsbabel-gui)
alerts=1, // active l'alerte en fonction de la vitesse ou de la proximité du POI
proximity=0.025, // distance par rapport au POI pour déclencher l'alerte en Km (25m=0,025 dans gpsbabel-gui)
speed=50, // vitesse de déclenchement de l'alerte
units=m, // unité de mesure m=metric => vitesse en Km/h, distance en Km(gpsbabel-gui: utiliser la virgule pour les décimales)
sleep=1, // spécifique garmin, voir la documentation gpsbabel à ce sujet
unique=1,
hide=0,
descr=0,
notes=0,
position=0,
snwhite=0, // option du fichier en entrée (input option): allow white space...
snupper=0, // option du fichier en entrée (input option): UPPERCASE...
snunique=0, // option du fichier en entrée (input option): unique shortnames...
prefer_shortnames=0 // option du fichier en entrée (input option): use shortname instead of description...
-F "./ZDDFR50.gpi" // chemin du fichier.gpi en sortie

exemple de script bash:

Code : Tout sélectionner

#!/bin/bash
# auteur: ledudulela
# objet: génère les fichiers .gpi (POI Garmin) à partir de fichiers CSV
# dépendances: gpsbabel
export ANNEE='2015'
export REP='./data2015'
export IMG='./images'
echo 'Conversion des CSV en GPI en cours...'
gpsbabel -w -i csv -f "${REP}/ZDD${ANNEE}FR050.csv" -o garmin_gpi,bitmap="${IMG}/panneau050.bmp",category="ZDD FR 050",alerts=1,proximity=0.025,speed=50,sleep=1,unique=1,units=m,hide=0,descr=0,notes=0,position=0,snwhite=0,snupper=0,snunique=0,prefer_shortnames=0 -F "${REP}/ZDD${ANNEE}FR050.gpi"
gpsbabel -w -i csv -f "${REP}/ZDD${ANNEE}FR090.csv" -o garmin_gpi,bitmap="${IMG}/panneau090.bmp",category="ZDD FR 090",alerts=1,proximity=0.050,speed=90,sleep=1,unique=1,units=m,hide=0,descr=0,notes=0,position=0,snwhite=0,snupper=0,snunique=0,prefer_shortnames=0 -F "${REP}/ZDD${ANNEE}FR090.gpi"
gpsbabel -w -i csv -f "${REP}/ZDD${ANNEE}FR130.csv" -o garmin_gpi,bitmap="${IMG}/panneau130.bmp",category="ZDD FR 130",alerts=1,proximity=0.050,speed=130,sleep=1,unique=1,units=m,hide=0,descr=0,notes=0,position=0,snwhite=0,snupper=0,snunique=0,prefer_shortnames=0 -F "${REP}/ZDD${ANNEE}FR130.gpi"
echo 'Fin.'
les fichiers GPX de Garmin - les FAVORIS

Le fichier current.gpx se trouvant dans le répertoire de l'appareil /Garmin/gpx n'est qu'une copie des Favoris qui sont stockés en mémoire interne.
Pour importer des favoris, on peut ajouter un fichier toto.gpx dans le répertoire de l'appareil /Garmin/gpx.
Son contenu sera automatiquement importé au démarrage de l'appareil. Le fichier peut ensuite être supprimé.
Le fichier current.gpx est également mis à jour (à chaque démarrage de l'appareil).
Un fichier.gpx est un fichier XML que l'on peut généré à partir d'un fichier CSV et d'un logiciel adéquat (gpsbabel-gui, etc).

Attention: il semblerait que les favoris soient limités au nombre de 1 000 (et l'import au démarrage peut être très très long).
leDuduLéLà - Linux Mint Debian Edition 1 Mate , 2 Mate , 3 Cinnamon , 4 Cinnamon , 5 Cinnamon / 64 bits 6 Cinnamon / 64 bits

Répondre