War ein Weg in einer Relation?

Ich würde gerne herausfinden, ob bestimmte Wege jemals in Fahrradrelationen enthalten waren.

Problem dabei, ich weiß nicht, ob es für den Weg jemals eine Fahrradrelation gab oder ob diese gelöscht worden ist. Ich vermute nur, eigentlich müsste der Weg mal in so etwas enthalten gewesen sein.

Die History eines Weges unter https://www.openstreetmap.org scheint das nicht zu verraten.

Ich antworte mir mal selber.
In Overpass

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“route=bicycle IN Frankfurt”
*/
[out:json][timeout:125][date:"2023-01-01T00:00:00Z"];
// fetch area “Frankfurt” to search in
{{geocodeArea:Frankfurt}}->.searchArea;
// gather results
(
  // query part for: “route=bicycle”
 relation["route"="bicycle"](area.searchArea);
);
out geom meta qt;

eingeben. Bei der Anfrage wird nur der Stichtag bearbeitet. Wenn man date durch diff ersetzt bis zum Stichtag.

Edit: Weil man nur eine Lösung markieren kann, kopiere ich die andere Lösung von @Nakaner hier rein

Hallo,

mit dem Full-History-Planet oder einem Full-History-Extrakt im .osh.pbf-Format von https://osm-internal.download.geofabrik.de/ kann man diese Frage beantworten. Mögliche Wege:

  • Die .osh.pbf in das OPL-Format konvertieren und dann mit Grep arbeiten: `osmium cat --output-format=opl hessen.osh.pbf | grep “w$WAY_ID”
  • Dasselbe, aber mit einem Skript in einer Sprache deiner Wahl die Aufgabe von Grep übernehmen.
  • Mit Pyosmium ein Skript schreiben, das die .osh.pbf-Datei einliest und darin nach Relationsmitgliedern sucht, die Ways sind und deren ID die gesuchte ist.
  • Dasselbe, aber mit C++ und Osmium (also ohne Python und schneller)

Viele Grüße

Michael

2 Likes

Man braucht eigentlich nur die Historie der einen Relation. An die kommt man recht leicht mit wget oder curl. Der Link für Rel 12345 wäre dann
https://www.openstreetmap.org/api/0.6/relation/12345/history

Die xml Datei kann man dann mit einem Editor oder grep oder sonst einem Tool nach der gesuchten way-id durchsuchen.

Das setzt aber voraus, dass man diese Relation bereits kennt, was in deiner ursprünglichen Frage ja keine Bedingung war.