[OSM-talk-fr] requête Overpass API : recherche de communes avec leur n° INSEE
Samy Mezani
samy.mezani at wanadoo.fr
Mer 15 Nov 08:36:06 UTC 2017
L'intérêt est d'apprendre les requêtes Overpass pour répondre à des
besoins spécifiques, et surtout de ne télécharger que ce dont j'ai besoin.
Merci pour le lien, mais télécharger les contours communaux de la France
ne m'intéresse pas, car ça je sais déjà faire avec les requêtes Overpass
(suite d'ailleurs à l'aide apportée sur cette liste).
En l'occurence je ne voulais que les admin_centre des communes avec
leurs coordonnées et leur n° INSEE.
Le 15/11/2017 à 07:54, Christian Quest a écrit :
> Quel est l'intérêt de reconstituer (péniblement) ces données alors
> qu'elles sont disponibles en opendata ?
>
> http://professionnels.ign.fr/adminexpress
>
> Les noeuds admin_centre en sont pas toujours présents. J'ai peur que le
> résultat soit incomplet.
>
> Admin Express est mis à jour chaque mois par l'IGN et est sous licence
> ouverte.
>
>
> Le 15 novembre 2017 à 02:40, Jérôme Amagat <jerome.amagat at gmail.com
> <mailto:jerome.amagat at gmail.com>> a écrit :
>
>
>
> Le 14 novembre 2017 à 19:11, Samy Mezani <samy.mezani at wanadoo.fr
> <mailto:samy.mezani at wanadoo.fr>> a écrit :
>
> Je touche au but mais je n'arrive pas à indiquer les coordonnées
> géographiques des admin_centre.
>
> Pour l'instant ça marche avec ça :
>
> [out:csv(_row;false)][timeout:100];
>
> make out _row = "insee,commune,bourg"; out;
>
> area[name="Bourgogne"]["disused:admin_level"=4]->.bourgogne;
>
> rel(area.bourgogne)[boundary=administrative]["admin_level"=8]->.communes;
>
> foreach.communes->.commune(
> node(r.commune:"admin_centre")->.bourg;
> make out _row =
> commune.u(t["ref:INSEE"]) + "," +
> commune.u(t["name"]) + "," +
> bourg.u(t["name"])
> ;
> out geom;
> );
>
> Si j'ajoute par exemple la latitude avec ' bourg.u(t[::lat])'
> dans mon "make out", j'obtiens une erreur.
>
> J'ai l'impression que le problème c'est que ça : t[ ] c'est pour
> obtenir la valeur pour un tag, le problème c'est que la latitude
> n'est pas un tag. il y a un truc pour récupérer l'id "id()" et le
> type "type()" mais rien pour les coordonnées il me semble
> (https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Element-Dependent_Operators
> <https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Element-Dependent_Operators>).
>
> Je ne vois que la solution donnée plus tôt : sur une ligne les
> données de la relation puis celles de l'admin centre.
>
> (Et attention peut être que certaine relation de commune n'ont pas
> d’élément admin_centre)
>
>
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org <mailto:Talk-fr at openstreetmap.org>
> https://lists.openstreetmap.org/listinfo/talk-fr
> <https://lists.openstreetmap.org/listinfo/talk-fr>
>
>
>
>
> --
> Christian Quest - OpenStreetMap France
>
>
> _______________________________________________
> 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