Overpass: Liste mit Straßen um Hausnummern erweitern

Hallo,

ich liste mit Overpass für ein Gebiet alle Straßen auf. Nun möchte ich die Abfrage erweitern um die Hausnummern. Am besten die kleinste und größte Hausnummer pro Straße. Habt ihr eine Idee? Ich fand noch eine Abfrage für Hausnummern. Kann man diese kombinieren?

Hier ist meine bisherige Abfrage:

[out:csv(key;false)];
{{plz=33039}}
area[postal_code=“{{plz}}”];
way(area)[highway~“^trunk$|^primary$|^secondary$|^tertiary$|^unclassified$|^residential$|^primary_link$|^living_street$|^service$|^pedestrian$|^track$|^road$|^footway$|^bridleway$|^path$”][name];
for (t[“name”])
(
make stat num=count(ways),key=_.val,len=sum(length());
out;
);

Hier ist die Abfrage für Hausnummern:

[out:csv(“addr:housenumber”)][timeout:25];
{{geocodeArea:Nieheim}}->.searchArea;

(
nwr[“building”][“addr:street”=“Steinheimer Straße”]“addr:housenumber”;
);
out body;

;
out skel qt;

Hallo elvitas,

Einige Anmerkungen:
Die beiden Anfragen sind so nicht kombinierbar, weil Hausnummern nicht an den Straßen notiert sind.
In der zweiten Abfrage wurde ich die Bedingung Gebäude entfernen, weil sonst die reinen Adressknoten verloren gehen
Hausnummern sind keine Nummern sondern Strings (9a), ein reines Maximum/Minimum (ohne numerischen Wertbestimmung) läßt 9 größer als 11 werden.

Da ich vermute, dass Du nicht ohne Dateihändling zu Recht kommst (Beide Anfragen sollten z.B. kombiniert werden, um Straßen ohne Hausnummern mit in die Liste aufzunehmen) würde ich die Overpass-API nicht überlasten wollen und die Grenzwerte außerhalb bestimmen (Unix Tools helfen besonders, aber Excel ähnliche Tools genügen auch)

wenn die Straße lang ist will man vielleicht noch ein paar Nummern dazwischen, am besten an den Straßenkreuzungen. Geht das auch?

Danke für die Infos und Hintergründe! Excel beherrsche ich gut, aber Overpass so gut wie gar nicht. Wie würde denn eine Abfrage aussehen, wenn ich alle Straßen mit Hausnummern aufgelistet haben möchte?

[out:csv("addr:street","addr:housenumber")][timeout:25];
{{geocodeArea:Nieheim}}->.searchArea;

(
  nwr["addr:housenumber"](area.searchArea);
);
out body;

http://overpass-turbo.eu/s/1eEL
liefert eine Tabelle mit Straßennamen und Hausnummern.

Ja, damit kann man arbeiten, vielen Dank! Die Abfrage habe ich nun um Poly-Punkte erweitert. Passt das so?


[out:csv("addr:street","addr:housenumber")][timeout:25];
(
  nwr["addr:housenumber"](poly:"50.7 7.1 50.7 7.12 50.71 7.11");
);
out body;

Mit ({{bbox}}) statt (poly:“50.7 7.1 50.7 7.12 50.71 7.11”) bekommst Du immer den aktuellen Kartenausschnitt.

Danke. :wink: