Filtern der Überführungs-API nach Land

9

Weiß jemand, wie man eine solche Überführungs-API-Anfrage ausführt?

"Zeig mir alle Banken in Deutschland"?

Ich könnte einfach alle 'Annehmlichkeiten = Bank' in einem bestimmten Begrenzungsrahmen anzeigen. Aber Deutschland (oder vor allem Länder) passt nicht sehr gut in eine solche Bbox.

Gibt es eine Möglichkeit, dies zu tun? Hast du ein Beispiel? Serverleistung oder Laufzeit ist zweitrangig, da wir einen eigenen Server oder ähnliches hosten könnten :)

Cem Özdemir
quelle

Antworten:

11

Bei Verwendung von Overpass Turbo lautet die Syntax:

area["name"="Nordrhein-Westfalen"]->.boundaryarea;
(
nwr(area.boundaryarea)[amenity=bank];
);
out meta;

nwrist eine Abkürzung für node- way-relation

AndreJ
quelle
Es hat mir geholfen, ">" zu schreiben. nach der schließenden runden Klammer ");" und vor "out". Andernfalls wurden keine Knoten mit Koordinaten in der Karte angezeigt.
Qräbnö
@ qräbnö du hast recht, ich habe meine Antwort aktualisiert.
AndreJ
7

Das Quick OSM-Plugin für QGIS generiert die folgende funktionierende Überführungsabfrage:

<osm-script output="xml" timeout="200"> 
 <id-query {{nominatimArea:Austria}} into="area"/> 
 <union>
      <query type="node">
           <has-kv k="amenity" v="bank"/> 
           <area-query from="area"/>
      </query>
      <query type="way">
           <has-kv k="amenity" v="bank"/> 
           <area-query from="area"/>
      </query>
      <query type="relation">
           <has-kv k="amenity" v="bank"/> 
           <area-query from="area"/>
      </query>
 </union>
 <union>
      <item />
      <recurse type="down"/>
 </union>
 <print mode="body" />
</osm-script>

Einzelheiten finden Sie unter Überführungsturbo / Erweiterte Überführungsabfragen

Unterdunkel
quelle