GDAL/OGR: Verwaltungseinheiten ermitteln, durch die ein GPX-Track führt

Hier wird beschrieben, wie man mit den OGR-Tools von GDAL die Verwaltungseinheiten (Landkreise, Departements, Kantone) ermitteln kann, durch die ein GPX-Track führt.

18. Oktober 2023

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

19. Mai 2021

Animierte Tracks erstellen mit QGIS

Hier wird beschrieben, wie man aus einem GPX-Track eine Animation der Strecke erstellen kann. Die Animation besteht darin, dass der Track abschnittsweise oder punktweise gezeichnet wird. Punktweise Animation Für die Animation des Tracks wird das QGIS-Plugin TimeManager verwendet. Dieses Plugin stellt die Objekte eines Layers zeitlich verzögert entsprechend einem Zeitstempel aus den Objektattributen dar. Da GPX-Dateien für Tracks keinen Zeitstempel und auch kein anderes als Zeitstempel interpretierbares Attribut enthalten, wird die GPX-Datei mit dem Programm gpx2shp in eine ESRI-Shape-Datei konvertiert: ...

14. April 2016

Höhenprofil eines GPX-Tracks als Diagramm in OpenOffice

Mit den meisten Werkzeugen zum Erstellen und Auswerten von GPX-Tracks stößt man bei der grafischen Gestaltung des Höhenprofils rasch an Grenzen. Eine Darstellung als Diagramm in einem Tabellenkalkulationsprogramm ist weitaus flexibler. Hier wird beschrieben, wie man die Daten eines GPX-Tracks nach OpenOffice/LibreOffice importieren und als Diagramm darstellen kann. Erstellen einer CSV-Datei aus dem GPX-Track Hierzu wird das Tool gpsbabel verwendet: gpsbabel -t -i gpx -f track.gpx -o unicsv -F track.csv Die so erzeugte Datei wird mit OpenOffice geöffnet. Numerische Werte sind mit Dezimalpunkt dargestellt, der beim Import in ein Dezimalkomma umgewandelt werden muss. Dazu stellt man im Import-Dialog die Sprache des zu importierenden Dokuments auf "Englisch (USA)". Die Tabelle sollte dann so aussehen: No Latitude Longitude Altitude Time 1 42,833965 2,493213 368 01:03:19 2 42,834217 2,492342 361 01:03:20 3 42,834717 2,491981 365 01:03:21 4 42,835281 2,491983 365 01:03:22 5 42,835815 2,492474 378 01:03:23 6 42,836174 2,491815 373 01:03:24 7 42,83577 2,490686 379 01:03:25 Distanz berechnen Für die x-Achse des Diagramms wird die Entfernung des Datenpunkts vom Startpunkt benötigt. Hierzu wird vor der Spalte D Altitude eine neue Spalte Distance eingefügt. Für unsere Zwecke ist es ausreichend, die Luftlinienentfernung zwischen zwei Trackpunkten zu berechnen, die Erdkrümmung kann vernachlässigt werden. Die Entfernung in km zwischen Punkten mit den Koordinaten (lat1, lon1) und (lat2,lon2) in Dezimalgrad kann mit dieser Formel berechnet werden: ARCCOS(SIN(RAD(lat1))*SIN(RAD(lat2))+COS(RAD(lat1))*COS(RAD(lat2))*COS(RAD(lon2-lon1)))*6378,137 Man trägt also in die Zelle D2 "0" und in D3 diese Formel ein: =ARCCOS(SIN(RAD(B2))*SIN(RAD(B3))+COS(RAD(B2))*COS(RAD(B3))*COS(RAD(C3-C2)))*6378,137+D2 und füllt von D3 bis Ende der Spalte D auf. Das Ergebnis ist die Distanz vom Startpunkt in Spalte D: No Latitude Longitude Distance Altitude 199 42,833965 2,493213 0 368 200 42,834217 2,492342 0,0764365323 361 201 42,834717 2,491981 0,0629798481 365 202 42,835281 2,491983 0,0627843426 365 203 42,835815 2,492474 0,0716949237 378 204 42,836174 2,491815 0,0670146738 373 205 42,83577 2,490686 0,1025490128 379 Erstellen des Diagramms Hierzu markiert man die Spalten Distance und Altitude und klickt auf das Symbol "Diagramm" in der Standard-Symbolleiste. Es öffnet sich der Diagramm-Assistent. Dort werden abweichend von den Vorgaben folgende Einstellungen vorgenommen: Fenster Diagrammtyp: XY (Streudiagramm) "Nur Linien" Fenster Datenbereich: Erste Spalte als Beschriftung Voilà!

6. November 2013

GPX-Track auf OpenStreetMap-Karte anzeigen und ausdrucken

Es gibt eine Reihe von Tools und Online-Diensten, mit denen man GPX-Tracks auf einer OpenStreetMap-Karte anzeigen kann: QLandkarteGT, GpsPrune, gpsies.com,... Beim Ausdrucken bzw. Erzeugen einer Vektorgrafik stößt man allerdings schnell an Grenzen. Die Darstellung der Tracks (Farbe, Breite, Transparenz) ist nicht konfigurierbar und der Zoomlevel wird anhand des Kartenausschnitts gewählt, usw. Dieses Video hat mir einen Weg zur Lösung aufgezeigt: Quantum GIS (QGIS) mit OpenLayers-Plugin. OpenLayers-Plugin Installation Das OpenLayers-Plugin ermöglicht es, OSM-Kacheln und Kacheln aus anderen mit OpenLayers darstellbaren Quellen (Google, Bing) in einem QGIS-Layer anzuzeigen. Dazu muss zunächst das Plugin installiert werden. Bis QGIS 1.8 funktioniert das problemlos mit mit dem Plugin Installer. Zunächst muss im Menü "Erweiterungen" der Plugin Installer installiert werden, dann kann mit diesem das OpenLayers-Plugin installiert werden. QGIS 1.9/2.0 ist mit dem Plugin nicht kompatibel. Es existiert aber ein Workaround, der hier beschrieben ist: [node:254]. Layer hinzufügen Danach erscheint im Menü "Erweiterungen" ein Untermenu "Openlayers Plugin", über das eine Kachelquelle ausgewählt und mit einem Layer verknüpft werden kann. Die Kacheln werden entsprechend dem Zoomlevel geschrumpft bzw, gedehnt, was zu einer unscharfen Darstellung führt. Ein Workaround besteht darin, den Maßstab explizit so einzustellen, dass die Kacheln in Original-Auflösung angezeigt werden. Stellt man den Maßstab 1:2257 ein, erhält man die Kacheln des Zoomlevels 18. Durch Zoomen mit der Maus bekommt man dann die Kacheln in den OSM-Zoomleveln angezeigt. Weitere Kachelquelle hinzufügen Eine zusätzliche Kachequelle kann auf einfache Weise Hinzugefügt werden. Im Verzeichnis ~/.qgis2/python/plugins/openlayers_plugin/html existiert für jede Kachelquelle eine HTML-Datei, die den Javascript-Code enthält, mit dem der entsprechende OpenLayers-Layer erzeugt wird. Man erstellt nun eine Kopie einer dieser Dateien und passt den Code entsprechend an. Für OSM-kompatible Kachelquellen genügt es in der Regel, die Datei osm.html zu kopieren und den URL anzupassen. Anschließend muss noch in ~/.qgis2/python/plugins/openlayers_plugin/openlayers_plugin.py, etwa bei Zeile 120, ein Eintrag für die neue Kachelquelle nach diesem Muster eingefügt werden: self.olLayerTypeRegistry.add( OlLayerType(self, 'OpenStreetMap', 'osm_icon.png', 'osm.html', True) ) nach einem Neustart von QGIS ist die neue Kachelquelle verfügbar. Alternative Methode Ein anderer Weg zur Anzeige der OSM-Kacheln in QGIS ist hier beschrieben. GPX-Track Ein GPX-Track kann als Vektor-Layer angezeigt werden: Menüpunkt Vektorlayer hinzufügen anwählen im Dialog die GPX-Datei auswählen und öffen im anschliessenden Auswahlfenster den Layer tracks und ggf. weitere Layer auswählen und mit OK bestätigen im Layer-Fenster die Eigenschaften der Track-Linie festlegen: Farbe, Breite,... Karte drucken / Grafik erzeugen Hierzu wird der Dialog Neue Druckzusammenstellung geöffnet und mit neue Karte hinzufügen ein Kartenauschnit in das Druckblatt eingefügt. Dabei wird der Kartenausschnitt aus dem Hauptfenster übernommen. Dieser kann im Modus Inhalt verschieben nach Belieben gezoomt und verschoben werden Die so erzeugten Ausdrucke haben eine miserable Qualität. Der Zoomlevel der Kacheln wird entsprechend Auflösung des Ausdrucks und der Größe des Kartenauschnitts automatisch gewählt. Dann werden die Kacheln skaliert um den gewählten Kartenausschnitt zu erhalten. Das Ergebnis ist in den meisten Fällen ziemlich unscharf und für den Druck in der Regel nicht verwendbar. Durch geeignete Wahl der Druckgröße und des Maßstabs des Kartenausschnitts kann man trotzdem eine akzeptable Bildqualität erreichen. Beispiele: Format Auflösung (dpi) Maßstab Zoomlevel A43005725015 A41505725014 A4725725013 A17257.25013 A172144.44812 A1300144.44814 A13002.311.16810 A172577.79210 Das beste Ergebnis erziele ich allerdings mit einer Bildschirmkopie, da die Kacheln auf dem Bildschirm unskaliert dargestellt werden.

9. Juli 2013