GPS track (GPX-Datei) in Geopandas öffnen

Es ist einfach, einen kompletten Ordner mit GPS-Tracks (GPX-Dateien) in Geopandas zu öffnen, z.B. zum Plotten von Karten oder um sie als Shapefile zu exportieren.

Wer in Python programmiert, möchte vielleicht GPS-Tracks (aufgenommen mit einem GPS-Gerät oder einem Mobiltelefon und einer Tracking-App) in einem GeoDataFrame nutzen. Es ist einfach, die Tracks aller GPX-Dateien eines bestimmten Ordners zu importieren.

Jupyter Notebook bei GitHub

import geopandas as gpd
import os
folder = "gpx/"

Ich möchte einen GeoDataFrame mit 2 Spalten: 1) Dateiname und 2) Geometrie des Tracks.

# Leerer GeoDataFrame
track = gpd.GeoDataFrame(columns=['name', 'geometry'], geometry='geometry')

Versuch, alle gpx-Dateien im Ordner zu öffnen. Geopandas verwendet Fiona zum Öffnen/Parsen von gpx. Die Ebene „Tracks“ enthält nur den Track ohne Wegpunkte/Zeitstempel (gut genug, um eine Karte zu zeichnen).

for file in os.listdir(folder):
    if file.endswith(('.gpx')):
        try:
            gdf = gpd.read_file(folder + file, layer='tracks')
            track = track.append(gdf[['name', 'geometry']])
        except:
            print("Error", file)

track.sort_values(by="name", inplace=True)
track.reset_index(inplace=True, drop=True)

Jetzt können wir den GeoDataframe plotten, bearbeiten oder exportieren.

# Als Shapefile speichern
track.to_file(folder + 'track.shp')

# Einfacher Plot
track.plot()

Mit PyGMT können hübsche Karten des GPS-Tracks geplottet werden.