summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2014-01-24 10:35:55 +0100
committerJonas Smedegaard <dr@jones.dk>2014-01-24 10:35:55 +0100
commit77fbea5614ced7aeb4cdf543043d881c5c106b33 (patch)
treec4aae723461343c0766ada4528e804862cefa77f
parent3b4227cd1e0401963a502aa171ac2a36d8e1a9be (diff)
Add script localosmpath2geojson.
-rwxr-xr-xlocalosmpath2geojson40
1 files changed, 40 insertions, 0 deletions
diff --git a/localosmpath2geojson b/localosmpath2geojson
new file mode 100755
index 0000000..ded5391
--- /dev/null
+++ b/localosmpath2geojson
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Copyright © 2014 Jonas Smedegaard <dr@jones.dk>
+# Description: Tidy GeoJSON e.g. from <http://tyrasd.github.io/osmtogeojson/>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Depends: wget gdal-bin perl-modules
+
+set -eu
+
+features=$*
+
+onlineosmxml2geojson() {
+ set -e
+ echo '['
+ first=yes
+ for feature in "$@"; do
+ [ -n "$first" ] || echo ','
+ wget -O- http://www.openstreetmap.org/api/0.6/relation/$feature/full \
+ | ogr2ogr --config OSM_USE_CUSTOM_INDEXING NO -f GeoJSON /vsistdout/ /vsistdin/ multilinestrings
+ first=
+ done
+ echo ']'
+}
+
+onlineosmxml2geojson "$@" \
+ | json_pp -json_opt pretty,canonical \
+ | perl -0 -pe 's/ /\t/g; s/},\s*{/}, {/g; s/\[\s*([\d.,]+)\s*([\d.]+)\s*\]/[$1 $2]/g'