====== OSM overpass-api ====== http://overpass-turbo.eu/ Documentation: * [[https://wiki.openstreetmap.org/wiki/FR:Overpass_API/Overpass_QL|FR:Overpass API/Overpass QL]] * [[https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example#List_of_streets|Overpass API/Overpass API by Example]] ===== Tips & Tricks ===== ==== Rechercher par un morceau de nom ==== - bouton assistant - entrer "name="ESPE" in France - clic "construire et exécuter" le nom contient ESPE, remplacer le ''='' par ''~'' (cela fonctionne aussi dans l'assistant) pour ignorer les différences majuscule/minuscule, on rajoute un '',i'' après la doc https://wiki.openstreetmap.org/wiki/FR:Overpass_API/Overpass_QL#Valeur_correspondant_.C3.A0_une_expression_r.C3.A9guli.C3.A8re_.28.7E.2C_.21.7E.29 ==== Extraction des gares ferroviaires de Normandie ==== //Normandie 3793170 rel(3793170); map_to_area -> .searchArea; ( rel[railway=station](area.searchArea); way[railway=station](area.searchArea); node[railway=station](area.searchArea); ); out center; Ou si ''nwr'' est disponible : //Normandie 3793170 rel(3793170); map_to_area -> .searchArea; ( nwr[railway=station](area.searchArea); ); out center; ==== Extraction des communes françaises ==== Obtenir les nœuds "admin_centre" et relations d'une région française "admin_level=4" : // Chargé – nœuds: 1757, chemins: 0, relations: 1757 [out:json][timeout:180]; area[name="Centre-Val de Loire"][admin_level=4]->.zone; ( rel(area.zone)["boundary"="administrative"]["admin_level"="8"]->.relations; node(r.relations:"admin_centre"); ); out ; La même sans les parenthèse ne retourne que les nœuds : // Chargé – nœuds: 1757, chemins: 0, relations: 0 [out:json][timeout:180]; area[name="Centre-Val de Loire"][admin_level=4]->.zone; rel(area.zone)["boundary"="administrative"]["admin_level"="8"]->.relations; node(r.relations:"admin_centre"); out ; Un CSV avec les relations et noeuds pour les communes avec position admin_centre et autres données [out:csv(::type, ::lat, ::lon, "ref:INSEE", postal_code, "addr:postcode", name; true; ",")] [timeout:300]; area[name="Centre-Val de Loire"][admin_level=4]->.zone; ( rel(area.zone)["boundary"="administrative"]["admin_level"="8"]->.relations; node(r.relations:"admin_centre"); ); out ;