Newer
Older
kensho / umap2json.rb
@太田さくら 太田さくら on 12 May 2024 767 bytes 追加
#!/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