#!/usr/bin/env ruby
# Usage: $0 LocationHolding.umap
# $0 -o OutputDir LocationHolding.umap
# uMap Layer should contain filename in description property
#
require 'json'
if ARGV[0] == "-o"
ARGV.shift; outdir = ARGV.shift
else
outdir = "."
end
file = ARGV[0]
exit unless file
begin
umap = JSON.parse(IO.readlines(file).join)
rescue
abort "Format error on #{file}"
end
for layer in umap["layers"]
p layer["_umap_options"]["name"]
geojson = layer["_umap_options"]["description"]
if /^(.*\.geojson)/ =~ geojson
ofile = File.expand_path(geojson, outdir)
open(ofile, "w"){|gj| gj.write JSON.pretty_generate(layer)}
end
end