GPX (format de fichier)
{{#invoke:Bandeau|ébauche}}
Modèle:Infobox Format de données
GPX (GPS eXchange Format) est un format de fichier permettant l'échange de coordonnées géographiques provenant du GPS. Ce format permet de décrire une collection de points utilisables sous forme de points de cheminement (Modèle:Langs), traces (Modèle:Langs) ou itinéraires (Modèle:Langs). Ce format est ouvert. Sa version la plus utilisée est le format GPX v 1.1 mais il existe encore des logiciels comme ITN Converter qui utilisent la version 1.0.
Le format GPX
Structure
La racine du fichier (<syntaxhighlight lang="xml" inline=""><gpx></syntaxhighlight>) peut contenir :
- Des métadonnées (<syntaxhighlight lang="xml" inline=""><metadata></syntaxhighlight>), décrivant le contenu du fichier GPX par :
- un nom (<syntaxhighlight lang="xml" inline=""><name></syntaxhighlight>)
- une description (<syntaxhighlight lang="xml" inline=""><desc></syntaxhighlight>)
- l'auteur du fichier (<syntaxhighlight lang="xml" inline=""><author></syntaxhighlight>) comprenant son nom, une adresse mail et un lien vers son site web.
- un copyright (<syntaxhighlight lang="xml" inline=""><copyright></syntaxhighlight>) précisant la licence et l'année
- un ou plusieurs liens (<syntaxhighlight lang="xml" inline=""><link></syntaxhighlight>) vers des informations additionnelles (page web, photo, vidéo, etc.)
- la date et l'heure de création du fichier (<syntaxhighlight lang="xml" inline="">
- un ou plusieurs mots-clés
- les frontières couvertes par le fichiers GPX (latitudes et longitudes minimum et maximum)
- Optionnellement, des extensions (<syntaxhighlight lang="xml" inline=""><extensions></syntaxhighlight>) permettant d'ajouter librement des éléments XML définis dans un autre espace de noms (Modèle:Lang) afin d'étendre les capacités du fichier
- Une liste de points de cheminement ou Modèle:Lang (<syntaxhighlight lang="xml" inline=""><wpt></syntaxhighlight>), chacun étant décrit par :
- sa latitude en degrés (attribut <syntaxhighlight lang="xml" inline="">lat</syntaxhighlight>)
- sa longitude en degrés (attribut <syntaxhighlight lang="xml" inline="">lon</syntaxhighlight>)
- son altitude en mètres (<syntaxhighlight lang="xml" inline=""><ele></syntaxhighlight>)
- un horodatage (<syntaxhighlight lang="xml" inline="">
- la déclinaison magnétique au point, en degrés (<syntaxhighlight lang="xml" inline=""><magvar></syntaxhighlight>)
- la hauteur du géoïde ("niveau de la mer") au-dessus de l'ellipsoïde WGS 84, tel que décrit dans la spécification des messages NMEA GGA (<syntaxhighlight lang="xml" inline=""><geoidheight></syntaxhighlight>)
- un nom (<syntaxhighlight lang="xml" inline=""><name></syntaxhighlight>)
- un commentaire (<syntaxhighlight lang="xml" inline=""><cmt></syntaxhighlight>)
- une description (<syntaxhighlight lang="xml" inline=""><desc></syntaxhighlight>)
- le modèle et le fabricant de l'appareil à l'origine de la géolocalisation du point (<syntaxhighlight lang="xml" inline=""><src></syntaxhighlight>)
- le type de (Modèle:Lang) GPS ayant permis l’obtention du point ((Modèle:Lang) 2D, 3D, DGPS...)
- le nombre de satellites acquis lors du calcul des coordonnées (<syntaxhighlight lang="xml" inline=""><sat></syntaxhighlight>)
- des informations sur les mesures DGPS comme la durée depuis la dernière mise à jour (<syntaxhighlight lang="xml" inline=""><ageofdgpsdata></syntaxhighlight>) ou l'identifiant de la station (<syntaxhighlight lang="xml" inline=""><dgpsid></syntaxhighlight>)
- mais aussi un lien vers une page web d'informations additionnelles (<syntaxhighlight lang="xml" inline=""><link></syntaxhighlight>), le nom exact du symbole illustrant le point sur l'appareil GPS (<syntaxhighlight lang="xml" inline=""><sym></syntaxhighlight>), le type de point (<syntaxhighlight lang="xml" inline=""><type></syntaxhighlight>) et la précision (<syntaxhighlight lang="xml" inline=""><hdop></syntaxhighlight>, <syntaxhighlight lang="xml" inline=""><vdop></syntaxhighlight>, <syntaxhighlight lang="xml" inline=""><pdop></syntaxhighlight> voir Geometric dilution of precision)
- optionnellement, des extensions d'un autre espace de noms (<syntaxhighlight lang="xml" inline=""><extensions></syntaxhighlight>)
- Une liste d' itinéraires (<syntaxhighlight lang="xml" inline=""><rte></syntaxhighlight>) chacun décrit par :
- un nom (<syntaxhighlight lang="xml" inline=""><name></syntaxhighlight>)
- un commentaire (<syntaxhighlight lang="xml" inline=""><cmt></syntaxhighlight>)
- une description (<syntaxhighlight lang="xml" inline=""><desc></syntaxhighlight>)
- le modèle de l'appareil (<syntaxhighlight lang="xml" inline=""><src></syntaxhighlight>)
- le numéro de l'itinéraire (<syntaxhighlight lang="xml" inline=""><number></syntaxhighlight>)
- mais aussi un lien vers une page web d'informations additionnelles (<syntaxhighlight lang="xml" inline=""><link></syntaxhighlight>) et le type d'itinéraire(<syntaxhighlight lang="xml" inline=""><type></syntaxhighlight>)
- optionnellement, des extensions (<syntaxhighlight lang="xml" inline=""><extensions></syntaxhighlight>)
- L'itinéraire est décrit par une liste ordonnée de points (une balise <syntaxhighlight lang="xml" inline=""><rtept></syntaxhighlight> par point au même format que la balise <syntaxhighlight lang="xml" inline=""><wpt></syntaxhighlight> décrite précédemment) qui représentent l'emplacement des virages permettant de mener à une destination.
- Une liste de traces ou Modèle:Lang (<syntaxhighlight lang="xml" inline><trk></syntaxhighlight>) chacune décrite par :
- un nom (<syntaxhighlight lang="xml" inline=""><name></syntaxhighlight>)
- un commentaire (<syntaxhighlight lang="xml" inline=""><cmt></syntaxhighlight>)
- une description (<syntaxhighlight lang="xml" inline=""><desc></syntaxhighlight>)
- le modèle de l'appareil (<syntaxhighlight lang="xml" inline=""><src></syntaxhighlight>)
- le numéro de la trace (<syntaxhighlight lang="xml" inline=""><number></syntaxhighlight>)
- mais aussi un lien vers une page web d'informations additionnelles (<syntaxhighlight lang="xml" inline=""><link></syntaxhighlight>), le type d'itinéraire (<syntaxhighlight lang="xml" inline=""><type></syntaxhighlight>)
- optionnellement, des extensions (<syntaxhighlight lang="xml" inline=""><extensions></syntaxhighlight>)
- La trace est décrite par des segments de trace (<syntaxhighlight lang="xml" inline><trkseg></syntaxhighlight>), le passage d'un segment à un autre indique une extinction du récepteur GPS ou une perte de réception. Un segment de trace est constitué :
- d'une liste ordonnée de points de trace (<syntaxhighlight lang="xml" inline><trkpt></syntaxhighlight>) dont le format est identique à la balise <syntaxhighlight lang="xml" inline=""><wpt></syntaxhighlight> décrite précédemment
- optionnellement d'extensions (<syntaxhighlight lang="xml" inline=""><extensions></syntaxhighlight>)
Représentation
<syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx …>
<metadata> … </metadata> <wpt lat="--.------" lon="--.------"> <ele> -.- </ele> <name> … </name> </wpt> <wpt …> … </wpt> <rte> <name> … </name> <extensions> … </extensions> <rtept lat="--.------" lon="--.------"> <name> … </name> </rtept> <rtept …> … </rtept> </rte> <trk> <trkseg> <trkpt lat="--.------" lon="--.------"> <ele> -.- </ele> <name> … </name> </trkpt> <trkpt …> … </trkpt> </trkseg> <trkseg> <trkpt …> … </trkpt> </trkseg> … </trk>
</gpx> </syntaxhighlight>
Exemple
<syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="byHand" version="1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"> <wpt lat="39.921055008" lon="3.054223107"> <ele>12.863281</ele> <name>Cala Sant Vicenç - Mallorca</name> <sym>City</sym> </wpt>
</gpx> </syntaxhighlight>
Les formats concurrents de GPX
À l'exception de GPX et de KML, devenu standard de l'Open Geospatial Consortium, ces formats sont propriétaires et spécifiques à une marque et aux logiciels associés (Navteq, Tele Atlas, ViaMichelin) :
- CSV : Garmin, Navman, Navigon (il n'y a pas de norme geo-csv, le CSV n'est donc pas très structurant et chaque logiciel l'utilise différemment)
- OV2 : TomTom, CoPilot Live
- ASC : ViaMichelin
- KML, KMZ : Google Earth, OziExplorer
- TRK : CompeGPS
- GeoJSON : OpenStreetMap
Utilisation du format GPX
La plupart des applications ou les appareils GPS utilisent le format GPX comme le ou l'un des formats d'échange avec d'autres applications ou appareils GPS, en import ou en export. Le protocole de communication à l'appareil GPS peut être standard (NMEA), de type RMC, ou propriétaire.
Le format GPX étant un format XML, il est possible de visualiser et de modifier le fichier avec un éditeur de texte. L'utilisation d'un éditeur syntaxique compatible XML (comme Notepad++ avec le plugin XML Tools) permet de s'assurer que le fichier GPX reste valide sur le plan de la syntaxe et réduit le risque de produire un fichier illisible par les applications/appareils.