GPX-Track nach Wegetypen (highway=*) aufschlüsseln

Ich möchte einen eigenen GPX-Track statistisch nach Wegetypen (highway=*) aufschlüsseln, wobei alle Wege in OSM enthalten sind. Die Statistik könnte zum Beispiel so aussehen:

  • path = 6000m
  • cycleway = 4800m
  • footway = 3300m
  • residential = 2000m

Kennt da jemand eine Lösung, ein Programm oder einen Service?

Daran wäre ich auch interessiert … bisher mache ich das nämlich immer manuell in mühevoller Kleinarbeit: GPX in JOSM öffnen, Kontextmenü “OSM-Daten entlang dieser” Spur herunterladen", Wege mit gehaltener STRG-Taste markieren, Bearbeiten > Server-Adressen kopieren, die erhaltenen Way-IDs in eine vorbereitete Overpass Abfrage einfügen und ausführen.

Es gibt zwar noch ein paar andere Verfahren mit Matching und Around und Join Mechanismen, aber die liefern alle mehr Wege als nötig, z.B. Kreuzungen oder parallel verlaufende Wege/Straßen, etc.

Ich mache das mit brouter. GPX Track hochladen und dann Route entlang des Tracks zeichnen. Anschließend kann man sich die Eigenschaften des berechneten Tracks in den verschiedenen Ansichten anschauen. Leider etwas Handarbeit, aber ganz automatisch wird das kaum funktionieren.
Einziges Problem: Die Daten bei https://brouter.m11n.de sind manchmal ein paar Stunden alt. Wenn man also gerade in JOSM diverse Oberflächen geändert hat, dann muss man ein bischen warten.

1 Like

“Track als Route laden” reduziert die Handarbeit :slight_smile:
Sieht dann z.B. so aus:

bikerouter.de-analyse

PS: Die Instanz bikerouter.de aktualisiert vier mal am Tag die Kartendaten.

Nicht schlecht, man sollte aber dann noch erwähnen, dass man bei Profil am besten Dummy (leer) auswählen sollte, damit der Router den Track auch wirklich 1:1 als Route übernimmt, ansonsten findet bereits ein Rerouting anhand des Profils statt.

Bei meinen Tests fand stets ein Rerouting statt, da brouter nur wenige Wegpunkte setzt. Beobachtetes Maximum waren 15 Wegpunkte inklusive Start- und Endpunkt bei einer etwas “eckigen” 170-km-Runde. Mit dem Profil, das dem verwendeten Rad am ehesten entspricht (plus wenig Verkehr), hatte ich die besten Übereinstimmungen, d.h. die wenigste Nacharbeit.

Mein erstes Testergebnis sieht auch recht gut aus:

Über ‘Export → CSV’ erhält man eine Tabelle mit den einzelnen Wegabschnitten. Einen Export der Analysedaten, die mich ja primär interessieren, habe ich (noch) nicht finden können.

Frage: Gibt es die Analysedaten auch irgendwie als Export?

Bei meinen Tests fand stets ein Rerouting statt, da brouter nur wenige Wegpunkte setzt.

Wenn man im Importdialog links auf Tuning klickt, dann lässt sich die Anzahl der Wegpunkte durch Linksverschieben des Fuzziness Schiebereglers massiv erhöhen.

1 Like

In Komoot sollte das auch funktionieren…

Die exportierbare CSV-Tabelle enthält alle Tagging-Daten der in der Route (Track) berücksichtigten Straßen.

Longitude, Latitude, Elevation, Distance, CostPerKm, ElevCost, TurnCost, NodeCost, InitialCost, WayTags, NodeTags, Time, Energy
7629096, 52268890, 79, 124, 1000, 0, 0, 0, 0, highway=residential surface=asphalt sidewalk=left route_hiking_lwn=yes, , 85, 64
7627894, 52269253, 76, 7, 1000, 0, 0, 0, 0, highway=residential surface=asphalt, , 90, 77
7629096, 52268890, 79, 7, 1000, 0, 0, 0, 0, reversedirection=yes highway=residential surface=asphalt, , 5, 79
7627912, 52269637, 88, 121, 1000, 0, 0, 0, 0, highway=path route_hiking_lwn=yes, , 99, 3731
7627691, 52269748, 90, 20, 1000, 0, 0, 0, 0, highway=path, , 115, 4666
7625940, 52270159, 84, 95, 1000, 0, 0, 0, 0, highway=path, , 66, 505
7624276, 52271644, 113, 240, 1000, 0, 0, 0, 0, reversedirection=yes highway=path, , 214, 15384
7623304, 52272038, 111, 82, 1000, 0, 0, 0, 0, reversedirection=yes highway=path, , 57, 316
7621090, 52272883, 108, 179, 1000, 0, 0, 0, 0, highway=path surface=dirt, , 181, 1013
...

Primär bin ich an einer Unterscheidung zwischen “paved” und “unpaved” interessiert. Also irgendwie so:

paved = 2094
unpaved = 19047
total = 21141

Um die Auswertung (und damit das Programm) nicht zu kompliziert zu machen, verwende ich derzeit diese grobe Vereinfachung:

// unpavel: track (tracktype: without,2,3,4,5), path
// paved: all other

Frage: Könnte das für Deutschland grob passen oder übersehe ich möglicherweise etwas?

Bei hw=path ist das eher Glückssache. Straßenbegleitende path sind praktisch immer paved, andere seltener, evtl. tatsächlich unter 50%

Auf Basis der CSV-Datei (von Brouter-Web) habe ich mal ein Auswerteprogramm geschrieben.

Das Ergebnis ist recht ähnlich der Angaben auf der Webseite (siehe Screenshot):

Highway types:
---------------------------------------
highway=footway                    62 m
highway=path                     7325 m
highway=residential               360 m
highway=service                   869 m
highway=steps                     144 m
highway=tertiary                  144 m
highway=track                    5032 m
highway=track (grade1)            117 m
highway=track (grade2)           3905 m
highway=track (grade3)           5426 m
highway=track (grade4)             94 m
highway=unclassified              238 m
---------------------------------------
total                           23716 m

Altitude meters (approximately):
---------------------------------------
downhill                         -629 m
uphill                           +628 m
height min                         96 m
height max                        240 m
height difference                 144 m
---------------------------------------

Highway surface types:
---------------------------------------
default=paved                     776 m
default=unpaved                  5866 m
surface=asphalt                  1120 m
surface=compacted                1324 m
surface=dirt                      731 m
surface=gravel                   9569 m
surface=ground                   3455 m
surface=paved                     858 m
surface=paving_stones              17 m
---------------------------------------
total                           23716 m

Paved and unpaved surfaces:
---------------------------------------
paved                            2771 m
unpaved                         20945 m
---------------------------------------
total                           23716 m

Bei der Berechnung der Höhendaten gibt es jedoch (noch) Abweichungen.

Frage:
Weiß jemand, wie die Angaben auf der Webseite (Anstieg 652m | Höhenunterschied 102m) zu verstehen sind?

Link zum Beispiel:

Hallo,

nicht nur BRouter bzw. dessen Frontend kann das, sondern auch GraphHopper, wenn man bei der Routinganfrage details=road_class im Query-String mit übergibt.

Viele Grüße

Michael