[OSM-talk-fr] astuce - récupération en nombre par overpass API

Ab_fab gamma.gts at gmail.com
Dim 4 Déc 14:12:15 UTC 2011


Oubli ds le précédent message du résultat du script shell, c'est à dire le
fichier .osm3s

Le 4 décembre 2011 14:48, Ab_fab <gamma.gts at gmail.com> a écrit :

> Bonjour,
>
> Un petit retour d'expérience sur un exercice pratique auquel je me suis
> livré :
> Récupérer les limites des 24 communes de l'agglomération nantaise le plus
> _ rapidement,
> _ proprement (pas de noeuds ni de limites importées deux fois)
> _ et simplement (pas de recours à une base postgis perso par ex.) possible.
>
> Je me suis tourné vers l'Overpass API [1] qui a pour avantage d'être
> rapide, à jour et qui ne craint pas les requêtes lourdes.
> Il y a un minuteur de sécurité sur les requêtes qui satureraient le
> système. Un script qui prend plus de 3 minutes est stoppé.
>
> On peut l'interroger par le biais d'un script, même assez long,ce qui
> s'est révélé très pratique.
> Le script peut être collé dans une interface sur le web [2] ou bien
> enregistré dans un fichier texte (portant l'extension .osm3s) dont le
> contenu sera envoyé vers le serveur par une ligne de commande [3]
>
> Pour mon exercice, je me suis orienté sur une recherche des limites en
> ciblant la référence insee incluse dans chacune des relations [4], et en
> indiquant une bbox pour préciser un peu la zone géographique de la
> recherche.
>
> Pour une commune seule (ici Nantes), la requête est comme suit :
>
>   <union>
> *    <query type="relation">
> *      <bbox-query s="47.0" n="47.5" w="-2.0" e="-1.5"/>
> *     <has-kv k="ref:INSEE" v="44109"/>
> *   </query>
> *   <recurse type="relation-node" into="nodes"/>
> *   <recurse type="relation-way"/>
> *   <recurse type="way-node"/>
>   </union>
>   <print mode="meta"/>
>
> Il est possible de faire soi-même la longue requête en faisant des copier
> coller des lignes marquées d'un * et en y modifiant pour chaque bloc le
> code insee. C'est jouable, mais pas vraiment top.
>
> J'ai demandé à Roland Ollbricht (qui développe l'outil) s'il y avait moyen
> de faire plus simple. Il m'a proposé de faire un script bash. [N'étant pas
> un dieu sous linux, je ne savais pas que l'on pouvait y faire des boucles]
> Résultat, le fichier .sh en pièce jointe, où l'on retrouve en bloc tous
> les codes INSEE.
> Une fois exécuté, il renvoie le fichier insee.osm3s (pièce jointe)
>
> Ne reste plus qu'à faire la requête en [3] et on obtient le fichier .osm
> qui s'ouvre nickel dans JOSM
>
> Le fichier .sh est à ajuster pour changer les bbox si l'on s'intéresse à
> une autre zone.
> On peut aussi changer la formulation de la boucle.
> Par exemple, pour un département qui est au complet niveau des limites
> administratives on peut faire incrémenter le code insee par pas de 1 du
> premier au dernier code commune du département et récupérer les limites
> d'un département au grand complet.
>
> Comme je trouve la démarche assez sympathique, je me permets de la
> partager ici !
>
> -------------
> [1] http://wiki.openstreetmap.org/wiki/Overpass_API
>
> [2] http://www.overpass-api.de/query_form.html
>     http://overpass.osm.rambler.ru/query_form.html
>
> [3] Pour un script dans le fichier insee.osm3s & une sortie dans le
> fichier insee.osm.xml
>     wget --post-file=insee.osm3s -O insee.osm.xml "
> http://overpass-api.de/api/interpreter"
>
> [4] les codes INSEE des 24 communes de Nantes Métropole sont
>     44009 44018 44020 44024 44026 44047 44074 44035 44101 44120 44198 44094
>     44109 44114 44143 44150 44172 44166 44171 44194 44162 44190 44204 44215
>
> --
> ab_fab <http://wiki.openstreetmap.org/wiki/User:Ab_fab>
> "Il n'y a pas de pas perdus"
>



-- 
ab_fab <http://wiki.openstreetmap.org/wiki/User:Ab_fab>
"Il n'y a pas de pas perdus"
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20111204/47669d08/attachment.htm>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: insee.osm3s
Type: application/octet-stream
Taille: 5487 octets
Desc: non disponible
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20111204/47669d08/attachment.obj>


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