[OSM-talk-fr] requête Overpass API : recherche de communes avec leur n° INSEE

PanierAvide panieravide at riseup.net
Mar 14 Nov 16:01:54 UTC 2017


Bonjour,

Après quelques recherches, j'ai pas trouvé mieux que ça :

|[out:csv("ref:INSEE","name",::lat,::lon)][timeout:100];||
||area[name="Bourgogne"]["disused:admin_level"=4]->.bourgogne;||
||rel(area.bourgogne)[boundary=administrative]["admin_level"=8];||
||foreach(||
||  out;||
||  node(r:"admin_centre");||
||  out;||
||);|

On récupère les limites communales, et pour chacune on affiche les infos 
de la relation, puis sur la ligne suivante les infos du noeud 
admin_centre. J'ai pas vu de moyen de mélanger la sortie d'un noeud et 
de sa relation. Avec une bonne expression régulière derrière, on doit 
pouvoir fusionner les lignes deux à deux, et arriver au résultat escompté.

Cordialement,

Adrien.


Le 14/11/2017 à 14:49, Samy Mezani a écrit :
> Bonjour,
>
> Je cherche à faire une requête Overpass API pour rechercher les 
> communes d'un territoire avec leur "ref:INSEE" et les coordonnées 
> géographiques de leur "admin_centre"
>
> Je suis contraint de rechercher les relations avec "admin_level"=8, et 
> non les nodes avec ce tag, car j'ai remarqué que nombre d' 
> "admin_centre" communaux n'ont plus de "ref:INSEE" ou ont parfois des 
> "ref:FR:INSEE"
>
> Comment faire pour retourner à la fois les admin_centre avec leurs 
> coordonnées, et le "ref:INSEE" et le name de leur relation parente ?
>
> Pour l'instant j'ai ça, mais ::lat et ::lon sont les centroïdes des 
> communes :
>
>     [out:csv("ref:INSEE","name",::lat,::lon)][timeout:100];
>
>     area[name="Bourgogne"]["disused:admin_level"=4]->.bourgogne;
>
>     rel(area.bourgogne)[boundary=administrative]["admin_level"=8];
>
>     out ;
>
> Avec ça j'ai bien les coordonnées des "admin_centre" mais je n'ai pas 
> le "name" des communes ni toujours le "ref:INSEE" :
>
>     [out:csv("ref:INSEE","name",::lat,::lon)][timeout:100];
>
>     area[name="Bourgogne"]["disused:admin_level"=4]->.bourgogne;
>
>     rel(area.bourgogne)[boundary=administrative]["admin_level"=8]->.communes; 
>
>
>     node(r.communes:"admin_centre");
>
>     out ;
>
>
> Merci
>
> Samy
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20171114/e040fd26/attachment.htm>


Plus d'informations sur la liste de diffusion Talk-fr