Wegpunkte nach Entfernung von einem Track filtern

Mit dem arc-Filter des Programms GPSBabel können geografische Punkte entsprechend ihrer Entfernung von einem Linienzug gefiltert werden. Das ist zum Beispiel hilfreich, wenn man aus einer einer POI-Sammlung mit Tausenden von POIs diejenigen Punkte extrahieren möchte, die in der Nähe eines GPX-Tracks liegen.

Der arc-Filter erwartet eine Datei im arc-Format. Diese kann man mit GPSBabel aus der GPX-Datei des Tracks erstellen. Liegt die POI-Sammlung im GPX-Format vor, dann erstellt man den gewünschten Extrakt wie folgt:

gpsbabel -i gpx -f track.gpx -o arc -F track.arc
gpsbabel -i gpx -f waypoints.gpx -x arc,file=track.arc,distance=10k  -o gpx -F waypoints_near.gpx

Die Datei waypoints_near.gpx enthält nun alle POIs, die weniger als 10 Kilometer vom Track entfernt sind.

Vorher:

Nachher:

UPDATE:

Der arc-Filter kann auch direkt mit GPX-Tracks arbeiten. Der Umweg über eine arc-Datei entfällt somit. Um sicherzustellen, dass die Datei mit den Wegpunkten keine Tracks entält, kann man diese vorab mit dem nuketypes-Filter entfernen, so dass sich folgender Einzeiler ergibt:

gpsbabel -i gpx -f waypoints.gpx\
         -x nuketypes,tracks,routes\
         -i gpx -f track.gpx\
         -x arc,trk,distance=10k\
         -x nuketypes,tracks,routes\
         -o gpx -F waypoints_near.gpx