8
votes

Parser GPX pour Java?

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).


0 commentaires

5 Réponses :


0
votes

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


1 commentaires

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.



7
votes

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();
....


2 commentaires

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



3
votes

très gentil. Cependant, je devais faire: xxx

btw j'ai utilisé http : //www.topografix.com/gpx/1/1 .

-ken


1 commentaires

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.



10
votes

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>

Edit h3 >

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
  }


1 commentaires

Il est lié au système d'exploitation Android.



3
votes

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

Avec la bibliothèque ci-dessus, l'analyse d'un fichier GPX est une doublure: xxx

obtenir ses points, ses itinéraires ou ses pistes trivial aussi: < Pré> xxx


1 commentaires

Je vais essayer. Serait bien de l'avoir sur GitHub et / ou comme référentiel Maven