sai’s diary

プログラミング関連の備忘録とつぶやきを書いています。

shape形式の読み込み

国土数値情報で公開されているshape形式のデータを見てみようとしたら手ごろなビューワーが見つからなかったので調べたところ、Rubycsv形式に出力出来ました。

どの様なデータが公開されているかは以下で見てみると分かりやすいと思います。 国土情報ウェブマッピングシステム

require 'georuby'
require 'geo_ruby/shp'

include GeoRuby::Shp4r

@shpfile = "N06-14_Joint.shp"

ShpFile.open(@shpfile) do |shp|
  fields = shp.fields

  print "\"#{shp.file_root}\",record_count=#{shp.record_count}\n\n"
  print "x,y,"
  puts fields.map { |f| f.name }.join(",")

  shp.each do |s|
    print "#{s.geometry.x},#{s.geometry.y},"
    puts fields.map { |f| s.data[f.name] }.join(",")
  end
end

国土交通省国土政策局国土情報課では 国土数値情報(JPGIS準拠データ)からshape形式に変換するツールも公開されていました。 国土数値情報ダウンロードサービス(JPGIS準拠データ)