[Overpass] Coordonnées X Y des centroides des communes

Bonjour à tous,

Suite à une question sur le forum Georezo (à cette adresse), je me permets de vous demander une petite assistance sur une requête Overpass (parce-que la solution m’intéresse aussi, au moins par curiosité et pour progresser).
L’objectif est de récupérer les coordonnées des centroïdes des communes d’un secteur géographique (Pays, voire Europe, mais ça risque d’être lourd ???).
Voici ce que j’ai proposé pour l’instant :

[out:csv(::id,::type, "name")];
area[name="Luxembourg"]->.a;
( rel(area.a)[admin_level=8]; );
out;

Mais impossible de récupérer les coordonnées (avec ::lat, ::lon), puisqu’il s’agit de relations.
L’objectif serait de récupérer les coordonnées du “admin_center” de la relation (si il existe), ou récupérer le centroide via le mode “out center” de la requête.

Des idées pour peaufiner cette requête ?

Merci à vous.

Sylvain M.

Je sais pas. Mais à part pour la beauté du geste en overpass, tu peux sinon récupérer ces centroïdes sur data.gouv.fr
https://www.data.gouv.fr/fr/datasets/decoupage-administratif-communal-francais-issu-d-openstreetmap/

Pour l’Europe, comme tu le dis ça peut être lourd avec overpass, il vaudrait donc mieux utiliser osmosis.

Désolé, je ne connais pas encore Osmosis (mais je vais m’empresser d’aller y jeter un œil !).
Et effectivement, la demande initiale dépasse la France, donc exit Data.gouv.fr
Il y a déjà des solutions proposées, mais comme tu le dis, ce serait pour “la beauté du geste” et l’utilisation d’OSM.

Pour ce qui est de ma requête initiale, j’ai juste ajouter “out center” à la fin, et ça marche sur le Luxembourg :

[out:csv(::id,::type,::lat,::lon, "name")];
area[name="Luxembourg"]->.a;
( rel(area.a)[admin_level=8]; );
out center;

(pas testé sur secteur plus grand… :confused: )

Si d’autres suggestions, n’hésitez pas.

A+

Sylvain M.

comme tu le dis ça peut être lourd avec overpass

Testé sur une région de 1800 communes, ça fonctionne bien.
Testé sur “France Métropolitaine”, pas de réponse… :neutral_face:
Bref, les yeux plus gros que le ventre, c’est ça qu’il faut conclure ! :wink:

Sylvain M.

Tu as augmenté le timeout ?

Bruno

Tu as augmenté le timeout ?

Je n’en ai carrément pas mis.
Penses-tu qu’il soit ajouté un timeout par défaut ?

Heureusement qu’il y en a un par défaut. 180 secondes si j’en crois la doc, mais cela doit aussi dépendre des instances.

http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#timeout

Pour info, avec un timeout à 500, voila ce que j’ai eu comme réponse :

Erreur AJAX
Une erreur est survenue lors de l’exécution de la requête overpass !
Request rejected. (e.g. server not found, request blocked by browser addon, request redirected, internal server errors, etc.)
Error-Code: error (0)