#!/bin/sh
#
# Copyright © 2014 Jonas Smedegaard <dr@jones.dk>
# Description: resolve GeoJSON from OSM node, way and relation objects.
#
# 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: gdal-bin perl-modules

set -eu

# type must be either polygons, lines or points
type="$1"
feature="$2"
outstem="${3:-$(basename "$feature")}"

case "$feature" in
  node/*)
	url="http://www.openstreetmap.org/api/0.6/$feature"
	;;
  *)
	url="http://www.openstreetmap.org/api/0.6/$feature/full"
	;;
esac
case "$type" in
  polygons)
	ogr2ogr -t_srs EPSG:3857 -f PDF \
		"$outstem.pdf" /vsicurl_streaming/"$url" \
		--config OSM_USE_CUSTOM_INDEXING NO \
		-nlt PROMOTE_TO_MULTI multipolygons
	;;
  lines)
	ogr2ogr -t_srs EPSG:3857 -f PDF \
		"$outstem.pdf" /vsicurl_streaming/"$url" \
		--config OSM_USE_CUSTOM_INDEXING NO \
		-nlt PROMOTE_TO_MULTI multilinestrings
	;;
  points)
	ogr2ogr -t_srs EPSG:3857 -f PDF \
		"$outstem.pdf" /vsicurl_streaming/"$url" \
		--config OSM_USE_CUSTOM_INDEXING NO \
		points \
	;;
esac