Suchen Sie Grenzen innerhalb einer anderen Grenze: hier alle Gemeinden (admin_level 8) in einem Schweizer Kanton. Regionen werden über ihren Code nach ISO 3166-2 gewählt.
Die Abfrage
[out:json][timeout:25]; area["ISO3166-2"="CH-ZG"]->.zug; rel["boundary"="administrative"]["admin_level"="8"](area.zug); out geom;
Ausführen
Live-Ergebnis von overpass.ch, bis zu 12 Stunden zwischengespeichert. Kartendaten © OpenStreetMap-Mitwirkende (ODbL).
So funktioniert es
area["ISO3166-2"="CH-ZG"]ist der Kanton Zug. Regionen in jedem Land haben solche Codes.- Eine Relation liegt «im» Gebiet, wenn ein Teil von ihr darin liegt; Nachbargemeinden, die die Grenze berühren, können also erscheinen. Filtern Sie sie bei Bedarf mit
(if: …)aus, oder prüfen Sieis_in.
Varianten
- Bezirke oder Kreise stattdessen: Ändern Sie das admin_level (die Stufen unterscheiden sich je nach Land).
Aus Ihrem Code ausführen
curl https://api.overpass.ch/v1/IHR_API_SCHLÜSSEL/interpreter \
--data-urlencode 'data@query.overpassql'
import requests
query = open("query.overpassql").read()
r = requests.post("https://api.overpass.ch/v1/IHR_API_SCHLÜSSEL/interpreter",
data={"data": query}, timeout=120)
r.raise_for_status()
print(r.json()["elements"][:3])
const res = await fetch("https://api.overpass.ch/v1/IHR_API_SCHLÜSSEL/interpreter", {
method: "POST",
body: new URLSearchParams({ data: query }),
});
if (!res.ok) throw new Error(await res.text());
console.log(await res.json());
Speichern Sie die Abfrage als query.overpassql. Sie funktioniert genauso in Overpass Turbo, QGIS und JOSM.