GeoRuby で Shapefile の幾何情報を WKT 形式で取り出す方法
Ruby で幾何データを扱うライブラリ GeoRuby で Shapefile の幾何情報を取り出す方法を、入門者向きに説明します。
Ruby と GeoRuby のインストール
Ruby のインストールはできているでしょうか。コマンドラインで ruby -v として確かめて下さい。プログラムが見つからなければ、http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide などを参考に Ruby をインストールして下さい。
GeoRuby は、gem という Ruby 付属のコマンドで導入するものです。GeoRuby が導入されている場合には、
$ gem list georuby *** LOCAL GEMS *** GeoRuby (1.3.4)
といった反応が返ります。このような反応が返ってこなかったら、次のようにして GeoRuby をインストールして下さい。
$ sudo gem install GeoRuby Successfully installed GeoRuby-1.3.4 1 gem installed Installing ri documentation for GeoRuby-1.3.4... Updating ri class cache with 2764 classes... Installing RDoc documentation for GeoRuby-1.3.4...
地球地図日本の行政区域の Shapefile の幾何形状を GeoRuby で読み込む
http://www.iscgm.org/ から、Global Map Version 1 の Japan の Shapefile 形式データをダウンロードして、その中の bnda_1_1.shp から幾何形状を取り出してみましょう。そのためのプログラムは、次のようになります。
require 'rubygems' require 'geo_ruby' include GeoRuby::Shp4r include GeoRuby::SimpleFeatures ShpFile.open('bnda_1_1.shp') {|shp| shp.each {|r| print r.geometry.as_wkt, "\n" } }
これを実行すると、地球地図日本の行政区域データそれぞれの MultiPolygon データが OGC Well-Known Text 形式で標準出力に出力されていきます。