x

Programm zum Durchsuchen mehrerer GPX-Dateien


  1. Programm zum Durchsuchen mehrerer GPX-Dateien · MetiorErgoSum (Gast) · 13.07.2013 11:42 · [flux]

    Kennt jemand ein Programm, mit dem ich meine Sammlung von GPX-Dateien durchsuchen und diejenigen finden kann, die einen Trackpoint aus einem bestimmten Bereich enthalten? Also eine Art grep, dem ich eine Koordinate und einen Radius übergebe und das dann alle GPX-Dateien auflistet, die mindestens einen Trackpoint enthalten, der innerhalb des angegebenen Kreises liegt. (Es muss nicht unbedingt ein Kreis sein, wahrscheinlich sind die Abmessungen eines Rechtecks einfacher zu implementieren.)

    Hintergrund ist, dass sich bei mir eine ganze Menge an GPX-Tracks angesammelt haben und ich manchmal herausfinden will, wann ich an einem bestimmten Punkt vorbeigekommen bin. Dann würde ich gern ein solches Programm aufrufen und ihm sagen: Welche GPX-Dateien enthalten Trackpoints, die ca. 30 Meter rund um diese Straßenecke aufgezeichnet wurden?

    Ideal wäre ein Programm, das unter Linux läuft. Gern auch nur auf Kommandozeile.

    Ist wahrscheinlich nicht schwierig zu programmieren, aber bevor ich mich ans Werk mache, wollte ich nachfragen, ob jemand etwas fertiges in der Art kennt.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · toc-rox (Gast) · 13.07.2013 13:25 · [flux]

      Lade dir doch alle Tracks z.B. nach QLandkarte ... oder sind das zuviele?

      Gruß Klaus


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · MetiorErgoSum (Gast) · 13.07.2013 13:46 · [flux]

      toc-rox wrote:

      Lade dir doch alle Tracks z.B. nach QLandkarte ... oder sind das zuviele?

      Es sind einige Hundert, die jeweils in separaten Unterverzeichnissen liegen; ich erstelle für jede Wanderung, Radtour usw. ein eigenes Verzeichnis, in das dann die GPX-Dateien, Fotos und evtl. eine Videodatei kommen.

      QLandkarte habe ich bisher nicht benutzt. Laut der Beschreibung scheint es ähnlich zu funktionieren wie GpsPrune oder Viking, d.h. dass ich jeweils eine GPX-Datei laden muss. Das ginge zwar im Prinzip, aber weil ich die Dateien gern in ihren Unterverzeichnissen belassen würde, suche ich eine simple Lösung, die automatisch all meine Dateien durchnudelt, ohne dass ich jedes Mal die gewünschten Dateien auswählen muss.

      Trotzdem Danke für den Hinweis, ich sehe mir das Programm gelegentlich genauer an.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · EvanE (Gast) · 13.07.2013 18:56 · [flux]

      MetiorErgoSum wrote:

      toc-rox wrote:

      Lade dir doch alle Tracks z.B. nach QLandkarte ... oder sind das zuviele?

      Es sind einige Hundert, die jeweils in separaten Unterverzeichnissen liegen; ich erstelle für jede Wanderung, Radtour usw. ein eigenes Verzeichnis, in das dann die GPX-Dateien, Fotos und evtl. eine Videodatei kommen.

      QLandkarte habe ich bisher nicht benutzt. Laut der Beschreibung scheint es ähnlich zu funktionieren wie GpsPrune oder Viking, d.h. dass ich jeweils eine GPX-Datei laden muss. Das ginge zwar im Prinzip, aber weil ich die Dateien gern in ihren Unterverzeichnissen belassen würde, suche ich eine simple Lösung, die automatisch all meine Dateien durchnudelt, ohne dass ich jedes Mal die gewünschten Dateien auswählen muss.

      Trotzdem Danke für den Hinweis, ich sehe mir das Programm gelegentlich genauer an.

      JOSM kann viele GPX-Spuren gleichzeitig anzeigen.
      Du kannst einen ganzen Schwung GPX-Dateien auf einmal laden. Leider kannst du keine Ordner laden, da JOSM nicht weis, wie die darin enthaltenen Dateien zu behandeln sind.

      Eventuell kannst du ja eine Liste mit den Pfadnamen erstellen, und die an JOSM übergeben.

      Edbert (EvanE)


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Weide (Gast) · 14.07.2013 06:17 · [flux]

      Hi,

      für JOSM gibt es ein "openvisible" plugin. Das geht in die Richtung. Es wird allerdings augenscheinlich die bounding box der Tracks benutzt, so dass man einige Tracks mehr angezeigt bekommt als bei Deinen Bedingungen.

      Ich habe auch noch ein Programm rumliegen, dass so ziemlich das gewünschte tut:

      bin/find_tracks 51.183388 51.184419 6.933639 6.935424 ~/gps/data/tracks/tours/*.gpx
      .../data/tracks/tours/20100427_2_sw_sv-obi.gpx
      .../data/tracks/tours/20100507_1_s_gps12_reh.gpx
      .../data/tracks/tours/20111226_1_sw_monitor.gpx
      ...

      Linien, die das Gebiet durchlaufen, reichen auch aus (also ohne dass Punkte im Gebiet liegen) ... wenn ich mich recht erinnere. Falls Du das Programm haben willst, kann ich Dir die Quellen schicken (Ada).

      frohes Mappen
      Wilhelm


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · MetiorErgoSum (Gast) · 14.07.2013 09:38 · [flux]

      Weide wrote:

      Ich habe auch noch ein Programm rumliegen, dass so ziemlich das gewünschte tut:

      bin/find_tracks 51.183388 51.184419 6.933639 6.935424 ~/gps/data/tracks/tours/*.gpx
      .../data/tracks/tours/20100427_2_sw_sv-obi.gpx
      .../data/tracks/tours/20100507_1_s_gps12_reh.gpx
      .../data/tracks/tours/20111226_1_sw_monitor.gpx
      ...

      Danke, das klingt ziemlich perfekt. Selbst falls ich es nicht direkt verwenden kann, wäre es bestimmt eine nützliche Vorlage. Ich habe dich über das OSM-Nachrichtensystem mit einer Kontaktadresse angemailt.

      Die JOSM-Lösungen und andere GUI-Programme, bei denen ich Hunderte von Dateien laden müsste, sind zwar mögliche Wege, scheinen mir aber letztlich zu aufwendig. Ein simples Befehlszeilenprogrämmchen wäre mir am sympathischsten.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Weide (Gast) · 14.07.2013 10:18 · [flux]

      MetiorErgoSum wrote:

      Ich habe dich über das OSM-Nachrichtensystem mit einer Kontaktadresse angemailt.

      Ist unterwegs.

      frohes Mappen
      Weide


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Glad (Gast) · 14.07.2013 14:17 · [flux]

      Weide wrote:

      Ich habe auch noch ein Programm rumliegen

      Ich vermute, es ist ein Skript, das in alle GPX-Dateien schaut, ob es eine vorgegebene Koordinate in der Nähe eines Tracks liegt.
      Ist es ein freies quelloffenes Programm?
      Wenn ja, hättest du Lust, es zu veröffentlichen?


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Weide (Gast) · 14.07.2013 14:50 · [flux]

      Glad wrote:

      Ich vermute, es ist ein Skript...

      Nein, es ist Ada.

      ...ob es eine vorgegebene Koordinate in der Nähe eines Tracks liegt.

      Nein. Es sieht nach, ob ein Segment eines Tracks durch das angegebene "rechteckige" Gebiet führt. Verbindungen zwischen den Segmenten eines Tracks zählen nicht; also etwa Verbindungslinien von "GPS-Empfang verloren" nach "Empfang wieder OK". Bei Segmenten aus einem Punkt wird die Position des Punktes geprüft.

      Ist es ein freies quelloffenes Programm?

      Ja, GPL.

      ...hättest du Lust, es zu veröffentlichen?

      Eigentlich nicht, aber jeder kanns haben. Man braucht aber einen Ada-Compiler und die Laufzeitumgebung und freie Bibliotheken. Bei Debian Linux ist das einfach, woanders einschließlich Windows etwas Arbeit.

      Es war nur eine kleine Fingerübung, um zu sehen wie die eine Art des Gnat XML Interfaces funktioniert. Das sind nur ein paar Zeilen.

      frohes Mappen
      Wilhelm


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Krteček (Gast) · 08.10.2018 15:00 · [flux]

      Ich hole dieses Thema nach über fünf Jahren mal wieder hoch, weil die eingangs gestellte Frage exakt meinen funktionalen Anforderungen entspricht. Nur bin ich mit meinen Datensammlungen (über 15 Jahre Motorrad und Wandern) auf Windows und nicht auf Linux unterwegs.
      Hat sich die Welt der handlichen Werkzeuge inzwischen schon weiter entwickelt? Kann ich meine kläglichen Versuche in C vielleicht einstellen und auf bewährtes zurückgreifen? Ich freue mich über jede Unterstützung.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · toc-rox (Gast) · 08.10.2018 15:06 · [flux]

      Schau dir mal RouteConverter an.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Krteček (Gast) · 08.10.2018 15:26 · [flux]

      Vielen Dank,
      mit diesem Programm kann ich prima gpx Dateien visualisieren.
      Aber ich habe leider keinen Weg gefunden damit einige tausend Dateien am Stück danach zu durchsuchen, ob ein darin gespeicherter Track oder Wegpunkt im Umkreis einer vorgegebenen Koordinate (oder in einer vorgegebenen Box) liegt.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · toc-rox (Gast) · 08.10.2018 17:32 · [flux]

      Im Prinzip benötigst du eine Datenbank oder Anwendung, welche die "geospatiale Suche" unterstützt. MongoDB kann so etwas zum Beispiel. Vermutlich geht das aber einfacher. Warten wir mal auf weiteres Feedback.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Weide (Gast) · 09.10.2018 07:09 · [flux]

      Krteček wrote:

      Ich hole dieses Thema nach über fünf Jahren mal wieder hoch, weil die eingangs gestellte Frage exakt meinen funktionalen Anforderungen entspricht. Nur bin ich mit meinen Datensammlungen (über 15 Jahre Motorrad und Wandern) auf Windows und nicht auf Linux unterwegs.

      Das Programm gibt es noch. Der Quelltext ist betriebssystemneutral. Ich hab es gerade mal unter Windows kompiliert und ausprobiert. Ich kann Dir den Quelltext, das Win-Exe und das Linux-Binary schicken. Wenn Du mir per OSM eine PM schickst kann ich (hoffentlich immer noch) per Mail mit Attachments antworten.

      Da das Ding nur Text-IO macht, braucht man aber ein ... wie hieß das in Windows ... äh ... "Dos-Fenster".

      Das sieht dann im Prinzip so aus:

      Eingabe: find_tracks 51.7 51.8 7.3 7.4 *.gpx
      Ausgabe:
      dideldum.gpx
      humtata.gpx
      humtata2.gpx

      Die Quellen verändern und ein neues Exe machen kann man mit der kostenlosen Ada-Entwicklungsumgebung von Adacore. Die gibts bei https://www.adacore.com/community


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · rainerU (Gast) · 09.10.2018 07:28 · [flux]

      Auch wenn es für Hunderte oder gar Tausende Tracks wohl nicht einsetzbar ist, möchte ich noch auf QMapShack hinweisen. Dort kann man eine Bbox aufziehen und alle Tracks selektieren, welche die Box schneiden.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · Krteček (Gast) · 09.10.2018 09:50 · [flux]

      Danke für die weitere Empfehlung.
      Ich habe hier tatsächlich hunderte bis tausende GPX-Dateien mit Aufzeichnungen meiner Touren und kann diese trotz einigermaßen sprechender Namen von Dateien, Tracks und Wegpunkten oft nur mühsam nach bestimmten Positionen durchsuchen. Das Laden in eine Karte ist bei der Menge der infrage kommenden Dateien immer sehr mühselig, so dass ich eine Vorsortierung vornehmen möchte. Das Suchen bestimmter Wörter in den GPX ist dafür ein passabler Weg, aber sowohl in Osteuropa als besonders in Asien aufgrund unbestimmter Transkription/Schreibweisen sehr fehleranfällig.
      So kam der Bedarf auf nach bestimmten Positionen suchen zu können.


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · JIDB (Gast) · 10.10.2018 14:00 · [flux]

      Das GDAL-Werkzeug ogrinfo kann mit GPX-Dateien umgehen und mit der SQLite-Syntax für die SQL-Befehle kann man geographische Filter bauen.

      Zum Beispiel

      ogrinfo␣-sql␣"SELECT␣name␣from␣tracks␣where␣Distance(Geometry,␣MakePoint(9.44,␣54.71),␣1)<1000"␣-dialect␣SQLITE␣MeineDatei.gpx
      

      gibt die Tracks aus der GPX-Datei zurück, die innerhalb vom 1000m von 9.44E 54.71N liegen. Man kann auch "tracks" durch "routes" oder "waypoints" ersetzen, je nachdem was man durchsuchen will.

      Es ist aber keine fertige Lösung für das Problem, weil man damit immer nur eine Datei durchsucht. Um ganze Verzeichnisse durchzusuchen, müsste man es irgendwie in einem Skript verpacken...


    • Re: Programm zum Durchsuchen mehrerer GPX-Dateien · toc-rox (Gast) · 26.10.2018 06:20 · [flux]

      Das Thema ist zwar erledigt ... in einem anderen Kontext habe ich jetzt ein ähnlich gelagertes CLI-Programm erstellt. Ermittelt werden kürzester und längster Abstand der gpx-Punkte zu einem vorgegebenen Punkt.