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....@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"
insee.osm3s
Description: Binary data
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr