Hallo zusammen,
ich benötige für meine Abschlussarbeit zunächst alle Bus/Tram Relationen die in einem bestimmten Gebiet fahren (in diesem Fall Karlsruhe, die Abfrage soll aber möglichst universell sein) und zusätzlich die Grenzrelation für dieses Gebiet (alles zunächst mal ohne Nodes und Ways).
Wenn ich die folgende Abfrage laufen lasse:
[bbox:48.68,7.93,49.20,8.85]
//[date:"2016-08-01T06:55:00Z"]
[out:csv(::id,::type, "ref", "route", "route_master", "from", "to", "operator", "network", "name", "type", ::count)];
(
area
[name=Karlsruhe]->.a;
rel(pivot.a);
rel(area.a)
[route = bus];
rel(area.a)
[route = tram];
);
rel._(48.68,7.93,49.20,8.85) //das hier ist nötig da das area-query die bbox scheinbar ignoriert
->.b;
.b << -> .c;
.c out tags;
.c out count;
funktioniert das soweit auch ganz gut, allerdings kommen ein paar unterwünschte Relationen bei der Rekursion von .b mit.
Mein Problem ist das wenn ich versuche die Rekursion bereits in der ersten Klammer durchführe (nur für die route=x Relationen) am Ende die route_master Relationen fehlen.
Wenn ich versuche nur die erwünschten Relationen aus .c zu filtern:
[bbox:48.68,7.93,49.20,8.85]
//[date:"2016-08-01T06:55:00Z"]
[out:csv(::id,::type, "ref", "route", "route_master", "from", "to", "operator", "network", "name", "type", ::count)];
(
area
[name=Karlsruhe]->.a;
rel(pivot.a);
rel(area.a)
[route = bus];
rel(area.a)
[route = tram];
);
rel._(48.68,7.93,49.20,8.85)
->.b;
.b << -> .c;
(
rel.c
[type=boundary];
rel.c
[type=route_master];
rel.c
[type=route];
)->.d;
.d out tags;
.d out count;
fehlen ebenfalls die route_master in der Ausgabe obwohl sie in .c ja eigentlich drin sein sollten.
Da ich mir Overpass QL die letzte Zeit selbst beigebracht habe kann es sein das ich irgendwas grundlegenes nicht verstanden habe.
Hat jemand vlt. ne Idee? Ich hab jetzt schon rumprobiert wie verrückt aber mir gehen langsam die Ideen aus.