Skip to content

Instantly share code, notes, and snippets.

@cquest
Last active August 29, 2015 14:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cquest/c008db0ea286ae289276 to your computer and use it in GitHub Desktop.
Save cquest/c008db0ea286ae289276 to your computer and use it in GitHub Desktop.
Script shell pour transformation d'une liste de communes en liste de way formant la frontière extérieure
# transforme une liste de commune en liste de way formant le périmètre
#
# exemple: sh jorf2json.sh 90 'Denney, Eloie, Evette-Salbert, Offemont, Roppe, Sermamagny, Valdoie, Vétrigne'
#
# transformation de la liste des communes ',' en | pour overpass
c=`echo $2 | sed 's/æ/ae/g' | sed 's/ et de /, /' | sed 's/, /$|^/g'`
# construction de la requête overpass
d=`echo "relation['ref:INSEE'~'^$1.*'][name~'^$c$'][admin_level=8][boundary=administrative];out;"`
# curl: récupération des membres des frontières des communes
# grep: extraction des N° de way triés
# uniq: décompte du nombre d'apparition de chaque way
# grep: on ne conserve que ceux présents une fois
# sed: sortie sous la forme de 'wNNNN' pour utilisation directe dans JOSM
curl -s -G --data-urlencode "data=$d" http://overpass-api.de/api/interpreter | \
grep member.*way | grep -o ref.*role | grep -o "[0-9]*" | sort | \
uniq -c | \
grep "1 " | \
sed 's/^.*1 /w/'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment