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

Samy Mezani samy.mezani at wanadoo.fr
Mar 14 Nov 16:20:19 UTC 2017


Merci Adrien,

Ça me met sur une bonne piste.

Je vais essayer de formatter avec make out _row que j'ai vu à 
https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example#Wiki_table_generator_.28since_0.7.54.29

Mais bon, faut déjà comprendre. ;-)

Merci

Samy

Le 14/11/2017 à 17:01, PanierAvide a écrit :
> 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
> 
> 
> 
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
> 




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