From 11b8c7ede3b6b6b023fe243a5469169a4a4f9842 Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Fri, 17 Apr 2020 17:36:06 +0200 Subject: [PATCH] Add script to fetch streets from Wiki --- scripts/geojson/fetch_streets.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 scripts/geojson/fetch_streets.sh diff --git a/scripts/geojson/fetch_streets.sh b/scripts/geojson/fetch_streets.sh new file mode 100755 index 0000000..74a58aa --- /dev/null +++ b/scripts/geojson/fetch_streets.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# WARNING: This script is not yet production ready. The slightest error in the wikipage can throw it off. Handle with care. + +json=`curl 'https://wiki.linux-forks.de/mediawiki/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=Maps:Streets'` +data=`echo $json | json_reformat | sed -e 's/\\\\n//g' -n -e 's/.*begin:mapdata\([^}]\+\).*/\1/p' | sed -e "s/|-|/}/g"` + +echo "[" +export IFS="}" +for entry in $data; do + name=`echo $entry | sed -n 's/\s*\([^|]\+\).*/\1/p' | sed 's/ $//'` + coord=`echo $entry | sed -n 's/.*||\s*\([^|]\+\).*/\1/p'` + if [[ "$name" != "" && "$coord" != "" ]]; then + echo "{ \"type\": \"Feature\", + \"geometry\": { + \"type\": \"LineString\", + \"coordinates\": [ + $coord + ] + }, + \"properties\": { + \"name\": \"$name\" + } +}," + fi +done +echo "{}" +echo "]"