Je continue d'écrire du code personnalisé pour travailler avec les pistes GPS: fichiers GPX et journaux NMEA de mon téléphone, enregistreur GPS dédié, etc. J'ai l'impression de réinventer la roue et je me demande s'il existe une bibliothèque / un outil standard que je peux utiliser pour travailler. avec des pistes GPS. Certaines des choses que j'aime faire:
- Calculer la distance parcourue sur la piste
- Calculer la vitesse moyenne et les vitesses instantanées sur la piste
- Calculer le temps en mouvement par rapport au temps stationnaire
- Simplifier la piste, éliminer les segments immobiles
- Segmenter une piste en pistes séparées, une par voyage
- Lisser l'erreur d'échantillonnage GPS
- Créer un profil d'altitude en recherchant des points dans un DEM
- Convertir les pistes en GPX, KML, etc. pour la visualisation
Il existe de nombreuses applications pour analyser les traces GPS. Je recherche une bibliothèque de logiciels ou un ensemble d’outils pouvant être écrit pour pouvoir écrire mes propres applications. Je me moque bien des formats d’entrée; N'importe quel type de points lat / long estampillés. Je travaille principalement en Python sous Unix, mais à peu près n'importe quel langage fera l'affaire.
Les outils existants que j'utilise comprennent GPSBabel et GDAL / OGR pour la conversion et PostGIS pour utiliser la géométrie de la piste sous forme de chaîne de caractères. Mais je finis surtout par écrire mon propre code Python qui fonctionne sur des tableaux de paires de lat / lon et qui semble trop bas. De plus, certaines des tâches ci-dessus (comme l'élimination de l'erreur GPS) sont assez subtiles. Existe-t-il une bibliothèque que je devrais utiliser?
la source
Réponses:
Cela dépend un peu du langage de programmation de votre choix, mais j’ai développé mineturer.org en Java (le site est essentiellement un site de téléchargement, d’analyse et d’affichage des données GPX).
J'ai utilisé JAX-B (http://jaxb.java.net/) pour lire les fichiers GPX (basés sur le schéma GPX) et JTS (http://www.vividsolutions.com/jts/) + leur propre code pour en cours d'analyse.
Le code source de mineturer.org est disponible sous une licence MIT à l' adresse https://bitbucket.org/atlefren/gpsorganizer/.
Je suppose que le code pourrait vous donner des indications au moins?
la source
J'ai écrit une bibliothèque mathématique en C # pour le traitement mathématique 2D / 3D: lecture de GPX et TCX, filtrage et simplification de pistes, regroupement de pistes / segments et transformation en plan 2D.
https://www.nuget.org/packages/Math.Matthey/
https://www.nuget.org/packages/Math.Matthey.Tools.TrackReaders/
la source
<rte>
et des<rtept>
éléments, en plus des<trk>
éléments?La trousse à outils GPS devrait aider. Il s'agit d'une bibliothèque open source et d'une suite d'applications visant à libérer les chercheurs du codage de niveau inférieur.
Il fournit les fonctionnalités suivantes:
la source
Il existe une librairie open source que je viens de terminer (pour stable) et une interface utilisateur pour analyser les fichiers GPX, TCX et les fichiers d’ajustement.
La lib est https://github.com/jimmykane/quantified-self-lib L'interface utilisateur basée sur Angular https://github.com/jimmykane/quantified-self
Démo en direct https://www.quantified-self.io
Ce qu'il peut faire, c'est analyser un fichier GPX, TCX ou Fit, générer des statistiques telles que l'ascension, la descente, la distance, etc.
la source
Excellente question! J'ai récemment pas mal travaillé avec les données GPX et la solution la plus simple que j'ai trouvée consiste à convertir vos points de trace en un format de base de données spatiale, puis à créer des vues (spatiale et tabulaire) résumant les données si nécessaire. Comme je ne pouvais pas obtenir les résultats nécessaires en utilisant OGR pour importer mes données GPX, j'ai fini par utiliser un simple script python pour parcourir l'arborescence XML du GPX et la charger dans la base de données (SpatiaLite dans mon cas). Cela ne vous aide certainement pas à éviter de réinventer la roue, mais j’ai constaté que j’ai pu obtenir les résultats souhaités en résumant les pistes par trajet en utilisant les fonctions SQL existantes et SQL.
la source
Je développe ce petit logiciel pour mon propre usage. C'est principalement pour la visualisation et ne répond pas à tous vos besoins, mais peut-être que ça peut aider!
la source
au risque de ne pas répondre à votre question actuelle :-), permettez-moi de vous suggérer une excellente application dont vous n'avez peut-être pas entendu parler, qui fait tout ce que vous avez indiqué -
c'est mon guichet unique pour la visualisation, l'édition et le transfert de GPX, entre autres choses.
Et peut-être plus sur le sujet, peut-être vérifier l'espace de noms de positionnement de dotSpatial (.NET): http://dotspatial.codeplex.com/wikipage?title=DotSpatial.Positioning
Cordialement.
la source
Si vous souhaitez une spécification abstraite pour une API indépendante de la langue, il existe GeoAPI:
"La communauté de développement qui développe des solutions SIG déploie des efforts considérables. Le projet GeoAPI vise à réduire les doublons et à accroître l'interopérabilité en fournissant des API neutres, à interface uniquement, dérivés des normes OGC / ISO."
http://www.geoapi.org/
et plus spécifiquement la norme d'implémentation (PDF)
la source
Téléchargez votre piste GPX vers cette URL
La plupart des services que vous avez demandés vous seront fournis, notamment:
la source