Hallo,
ich würde gerne ein Script für die Overpass API haben, welches zu einer Straße und der Relation in der die Straße liegt alle Hausnummern dieser Straße ausgibt. Das Script sollte so ungefähr aussehen:
Dieses Script gibt mir jedoch nichts zurück, also ist noch ein Fehler vorhanden. Weiß jemand wie man das behebt. Und es wäre super, wenn der Code keine geschweiften Klammern enthalten würde, wenn das möglich ist, da ich die Abfrage über Python mache und man dort nicht so einfach geschweifte Klammern verwenden kann.
Jedoch finde ich nicht den Pfad um an die housenumber zu kommen. Den ich weiß nicht wie das Object genau aufgebaut ist. Kennst du/jemand zufällig den Pfad. Also bspw. result.elements[0].tags.get(“housenumber”)?
Da overpy scheinbar nur die Typen node, way, relation und area kennt, müsstest du in der Abfrage oben das stat durch z.B. node ersetzen. So erzeugen wir uns dann praktisch eigene Nodes, die jeweils die Hausnummer als einzelnen Tag haben. Dann kannst du dir alle Hausnummern wie folgt ausgeben lassen:
import overpy
api = overpy.Overpass()
result = api.query("""
[out:json];
rel(3329151);
map_to_area;
nwr(area)["addr:housenumber"]["addr:street"="Berliner Straße"];
for(t["addr:housenumber"]) {
make node housenumber=_.val;
out;
}
""")
for node in result.nodes:
print(node.tags.get("housenumber"))