overpass alle Daten innerhalb area

Moin,

ich habe grade keine funktionierenden Informationen dazu gefunden, um folgendes Problem zu lösen:

Ich möchte gern alle Elemente mittels overpass (später mit wget -i mit einer Liste an landuse-IDs) herunterladen innerhalb eines landuse herunterladen, das sich in einer bestimmten Relation befindet. Die id’s der landuse-areas bekomme ich schon heraus. Ich habe aber keinen Weg gefunden, um aus der ID (z.B. 835290563 für einen landuse in Hude) alle Elemente innerhalb der area anzuzeigen/herunterzuladen.
Gibts da irgendwelche Tricks?

tldr: Wie lade ich mittels overpass alle Daten herunter, die sich räumlich innerhalb eines landuse befinden?

Viele Grüße
Björn

PS: Letztlich möchte ich das nutzen, um alle Daten innerhalb von Betriebsstellenrelationen herunterzuladen, die örtlich durch die in diesen befindlichen landuse-Rollen definiert sind; und damit einzelne Eisenbahn-Betriebsstellen getrennt voneinander plotten zu können.

Hallo,
eigentlich per https://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide#Area_clauses_.28.22area_filters.22.29 aber das funktioniert hier scheinbar nicht :frowning:

Man könnte auch per Polygon filtern: https://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide#Select_region_by_polygon
Das sieht dann so aus: https://overpass-turbo.eu/s/WS0

Programm um das Polygon zu generieren: https://paste.debian.net/1159721/

Man sieht aber, dass im Ergebnis noch irgendwelcher Datenmüll ist. Kann man vielleicht noch wegfiltern.

Flächen ohne “name” Tag kennt der “area”-Filter nicht.

Die Areas der Overpass API werden separat erzeugt. Welche Objekte berücksichtigt werden, ist wohl hier definiert:
https://github.com/drolbr/Overpass-API/blob/master/src/rules/areas.osm3s

Quelle: Handbuch zur Overpass API - Suche per Area - Technischer Hintergrund

Mhh, interessanterweise funktioniert das mal und mal nicht.
Stichprobe: http://overpass-turbo.eu/s/WSe geht
Hude: http://overpass-turbo.eu/s/WSf geht nicht

Ich sehe da keinen Unterschied, ausser im type, wüsste aber nicht, warum overpass den type extra berücksichtigen sollte.
Am name kann’s hier nicht liegen, oder was überseh ich da?


  <query type="relation">
    <has-kv k="addr:postcode"/>
  </query>

matcht auf https://www.openstreetmap.org/relation/4248648 weil das irgendeine relation mit addr:postcode ist.


  <query type="way">
    <has-kv k="public_transport"/>
    <has-kv k="public_transport" v="no" modv="not"/>
    <has-kv k="name"/>
    <has-kv k="area" v="no" modv="not"/>
  </query>

matcht nicht, weil https://www.openstreetmap.org/relation/6830155 kein way ist sondern relation.

Jein. Aber ich verstehe nun, warum das nicht matcht. Die Relation hat zwar einen Namen, aber kein type=multipolygon etc.
Warum das so festgelegt ist wäre aber schon noch interessant.