Filtrage de l'API Overpass par pays


9

Est-ce que quelqu'un sait comment effectuer une demande d'overpass-api comme celle-ci?

"Montrez-moi toutes les banques en Allemagne"?

Je pourrais simplement montrer tous les 'amenity = bank' dans une boîte de délimitation spécifique. Mais l'Allemagne (ou la plupart des pays) ne s'intègre pas très bien dans une telle bbox.

Y a-t-il un moyen de faire ça? Avez-vous un exemple? Les performances ou l'exécution du serveur sont secondaires car nous pourrions héberger un propre serveur ou quelque chose comme ça :)

Réponses:


11

En utilisant Overpass turbo, la syntaxe est la suivante:

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

nwrest un raccourci pour node- way-relation


Cela m'a aidé à écrire ">;" après le crochet rond de fermeture ");" et avant "out". Sinon, aucun nœud avec des coordonnées sur la carte n'a été affiché.
qräbnö

@ qräbnö vous avez raison, j'ai mis à jour ma réponse.
AndreJ

7

Le plugin Quick OSM pour QGIS génère la requête Overpass de travail suivante:

<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>

pour plus de détails, voir Overpass turbo / Extended Overpass Queries

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.