overpass-turbo { Alle Straßen aus einer Stadt oder einem Bundesland }

Hallo,

ich bin ein absoluter Neuling was OSM angeht ich finde es eine absolut tolle Geschichte und bin auch dabei mich ein zu arbeiten, leider benötige ich relativ Zeitnah eine Abfrage wäre jemand so Nett und könnte mir da weiterhelfen.

Und zwar möchte ich z.B…:

Alle Straßen aus einem Bundesland oder einer Stadt mit Postleitzahl als CSV-Ausgabe.

Gebe mir alle Straßen mit PLZ aus dem Bundesland Thüringen.

Ich möchte dafür https://overpass-turbo.eu/ nutzen.

Es können auch Straßen mehrfach vorhanden sein die kann ich dann entfernen.

Bis jetzt habe ich nur so etwas hinbekommen:

[out:csv(name;false)];
area[name~"Erfurt"]->.a;
way(area.a)[highway][name];
out;

Das ist weder vollständig und wahrscheinlich auch nicht richtig.

Ich bin der oder dem wirklich dankbar der mir weiterhelfen könnte.

Grüße
sam

Willkommen im Forum.

Lies doch mal hier: https://wiki.openstreetmap.org/wiki/DE:Key:highway und definiere “Straße”. Mit highway bekommst Du zum Beispiel auch Treppen. Und ob Autobahnen mit PLZ-Angabe sinnvoll sind?
Außerdem haben Straßen keine PLZ, sondern liegen in einem Gebiet mit einer Solchen und können daher nicht so einfach abgefragt werden. Denke zum Beispiel auch an Straßen, die auf der Grenze zwischen zwei PLZ-Gebieten liegen…

-1 … grundsätzlich sind wir hier kein Dienstleistungsunternehmen. Zunächst solltest du mal erläutern was du mit den Daten vorhast.

Schau mal hier: https://forum.openstreetmap.org/viewtopic.php?pid=692921#p692921

Hallo sam,

probiers mal damit:

[out:csv(name,postal_code,::id;false)];
area[admin_level=6][name=Erfurt]->.boundaryarea;
rel(area.boundaryarea)[postal_code];
// out;
map_to_area   ;
foreach  -> .PLZ (
  .PLZ out;
   way(area.PLZ)[highway][name];  
   out meta;
 );

In Erfurt scheinen viele Straße explizit eine PLZ zu tragen, was eigenlich nicht vorgesehen ist.

Geht auch alles in einer Zeile:


[out:csv(name,plz, postal_code,::id;false)];
area[admin_level=6][name=Erfurt]->.boundaryarea;
rel(area.boundaryarea)[postal_code];
map_to_area   ;
foreach  -> .PLZ (
   way(area.PLZ)[highway][name];
   convert bla :: = ::,
               ::id = id(),
               plz = PLZ.u(t["postal_code"]);
   out;
 );


Vielen Dank Leute ihr habt mir sehr geholfen :slight_smile:

Ich habe es etwas abgeändet das mit Straße und PLZ aufgrund des “de:regionalschluessel” angezeigt wird.

[out:csv(name,plz, postal_code,::id;true)];
area["de:regionalschluessel"~"^03354"]->.boundaryarea;
rel(area.boundaryarea)[postal_code];
map_to_area   ;
foreach  -> .PLZ (
   way(area.PLZ)[highway][name];
   convert bla :: = ::,
               ::id = id(),
               plz = PLZ.u(t["postal_code"]);
   out;
 );

Nun versuche ich Krampfhaft noch das der Ortsname mit in der Zeile Steht

Vielen Dank für eure Zeit und Mühe :slight_smile:

Sam