Overpass: Liftstationen die so heißen wie der Lift selbst

Hallo,

ich würde gerne Liftstationen finden, die dasselbe name-Tag haben wie der Lift selbst. Die Liftstation ist dabei Teil des Weges, das den Lift darstellt.

Beispiel: Station der Grubigalmbahn

Bisher habe ich mit Overpass nur Objekte gefiltert, die einem Tagging-Muster am Objekt selbst entsprechend. Leider weiß ich nicht, wie ich den Sprung von einem Objekt auf den Übergeordneten Weg mache und dann bei Tag-Gleichheit das Objekt als Ergebnis ausgebe.

Nicht so ganz, was Du suchst, aber vielleicht ein Anfang: http://overpass-turbo.eu/s/Xaf

[out:csv(::id,::type,name,aerialway)]
[timeout:25];
way[name][aerialway]({{bbox}});
foreach
{ ._;out;
  > ->.a;
  node.a[aerialway=station][name];
  out;
}

Habs zusammen:


[out:json][timeout:300];
way["aerialway"]["name"]({{bbox}})->.aerialway;

foreach->.aerialway(
  (.aerialway >;) ->.a;
  (node.a[aerialway=station][name];)->.stations;
 node.stations (if:is_tag("name")&&t["name"]==aerialway.u(t["name"]));
  out;
)

Genial!

Es gibt aber noch ein paar Stationen, die als **way **ausgeführt sind.

Damit bekommt man hoffentlich auch diese:

[out:json][timeout:300];
// get all stations that are ways
way["aerialway"=station]["name"]({{bbox}})->.waystation;
//.waystation; out; >; out skel;

// get all aerialways that are not stations
way["aerialway"!~station]["name"]({{bbox}})->.allaerialways;

// get nodes with same name as aerialway
foreach.allaerialways->.aerialway(
  (.aerialway >;) ->.a;
  (node.a[aerialway=station][name];)->.stations;
   node.stations(if:t["name"]==aerialway.u(t["name"]));
   out;
)
  
// get ways with same name as aerialway
foreach.allaerialways->.aerialway(
  way.waystation(if:t["name"]==aerialway.u(t["name"]));
  out;  >; out skel;
)

Wie man allerdings so etwas wie “Talstation Marienbergbahn I” findet, ist mir noch nicht klar.

PS: warum aber da ein aerialway=station dranhängt, ist mir schleierhaft:
https://www.openstreetmap.org/way/31127508

Wow, danke für die Verbesserung!

Man müsste irgendwie schauen, ob der Name des aerialways als Substring in der Station vorhanden ist. Nur wie…

Moin,

ich meine, dass Overpass auch regex kann.
(Oder gilt das nur für die direkte Suche nach Werten? Kann das im Moment nicht ausprobieren.)

Grüße
Georg