Y a-t-il des bibliothèques Java pour analyser les fichiers GPX? J'ai besoin d'analyser de nombreux fichiers GPX dans notre propre structure de données (notre propre base de données). P>
5 Réponses :
Je ne suis pas au courant d'une bibliothèque spécialisée dans l'analyse de fichiers GPX, mais que GPX est XML, vous pouvez utiliser votre analyseur préféré Java XML pour le lire.
Le format GPX est documenté ici (comprend le schéma XSD):
http://www.topografix.com/gpx.asp p>
Depuis que GPX est très étendu, je pensais qu'il devrait y avoir des API lib / API. Parce que je ne voulais pas commencer à partir de zéro surtout si quelqu'un aurait déjà fait cela.
Après quelques recherches, il n'y a vraiment pas d'API Java / LIF pour analyse de fichiers GPX, mais j'ai trouvé une bonne approche pour l'analyser en utilisant Jaxb
Utilisation de ce tutoriel: http: / /wwww.oracle.com/techNetwork/Articles/javase/index-140168.html P>
Étapes:
1. Téléchargez GPX 1.0 et 1.1 Schema File (XSD)
2. Générez un fichier Java à partir de celui-ci en utilisant Plugin Eclipse
3. Init JaxbContext avec le nom du package des fichiers Java GPX générés (la mine était "topografix.gpx.schema10")
4. Parse Fichier GPX P>
JAXBContext jc = JAXBContext.newInstance("topografix.gpx.schema10"); Unmarshaller unmarshaller = jc.createUnmarshaller(); Gpx root = (Gpx) unmarshaller.unmarshal(new File("sample.gpx")); List<Trk> tracks = root.getTrk(); ....
Eclipse Plugin: Lien brisé :( sourceforge.net/projects/jaxb-builder peut-être peut-être?
C'est un bon endroit pour commencer plus vite: YouTube.com/watch?v=ip0t91q70pa
très gentil. Cependant, je devais faire: btw j'ai utilisé http : //www.topografix.com/gpx/1/1 . p> -ken p> p>
Oui, je sais que, pour la simplicité, j'ai laissé tomber le bloc d'essai et pour le code de production, vous devez prendre en charge les deux et 1.1 (donc votre code de mines combinés). Ce que j'ai fait a été d'abord essayé de skajall à l'aide de Schema10, si cela jette une exception, j'ai essayé d'utiliser Schema11 (pour 1.1). Si cela échoue à nouveau, ce fichier n'est pas un fichier GPX pris en charge.
Cette question est trop ancienne et aussi les réponses. Grâce au monde open source, nous avons maintenant JGPX, sur Google Code ( Forked plusieurs fois sur GitHub ) et GPXParser, sur Sourceforge.net . Il y a aussi beaucoup de résultats pour une recherche sur GitHub .
Je ne suis pas sûr que l'on est plus mature (l'un d'entre eux est marqué comme alpha) mais vous pouvez les essayer et laissez-nous savoir ici. P>
regarder Traitement-GPX , il semble prometteur. P>
Voici un exemple rapide P>
import tomc.gpx.*; // outside setup() GPX gpx; // inside setup() gpx = new GPX(this); // when you want to load data gpx.parse("test.gpx"); // or a URL // inside draw() for (int i = 0; i < gpx.getTrackCount(); i++) { GPXTrack trk = gpx.getTrack(i); // do something with trk.name for (int j = 0; j < trk.size(); j++) { GPXTrackSeg trkseg = trk.getTrackSeg(j); for (int k = 0; k < trkseg.size(); k++) { GPXPoint pt = trkseg.getPoint(k); // do something with pt.lat or pt.lon } } } for (int i = 0; i < gpx.getWayPointCount(); i++) { GPXWayPoint wpt = gpx.getWayPoint(i); // do something with wpt.lat or wpt.lon or wpt.name or wpt.type }
Il est lié au système d'exploitation Android.
prêt à utiliser, open source et entièrement fonctionnel Java GPXParser (et bien plus encore) ici https://sourceforge.net/projects/geokarambola/
Détails ici https://plus.google.com/u/0/communités/110606810455751902142 p>
Avec la bibliothèque ci-dessus, l'analyse d'un fichier GPX est une doublure: p> obtenir ses points, ses itinéraires ou ses pistes trivial aussi: p> < Pré> xxx pré> p>
Je vais essayer. Serait bien de l'avoir sur GitHub et / ou comme référentiel Maven