geotools.rb

Ruby on GeoTools で距離計算 2

Ruby on GeoTools geotools.rb を使って、2点間の直線距離を計算してみる第2回です。 地点名 経度 緯度 渋谷のハチ公 139.700638888889 35.6590111111111 つくば市のエキスポセンターの H-II ロケット 140.111305555556 36.0862305555556 http://d.hatena.ne…

Ruby on GeoTools で距離計算 1

Ruby on GeoTools を使って、2点間の直線距離を計算してみます。 地球は回転楕円体なので、距離の計算は単純ではありません。「直線距離」の定義すら明確とは言えません。一般的には、平面に投影したときのユークリッド距離(いわゆる、地図上の距離)あるい…

RDoc ドキュメントを整備することにしました

geotools.rb の内容が、簡単には把握できない分量になってきたので、RDoc ドキュメントを生成することにしました。 http://svgmapdata.sakura.ne.jp/geotools/ ここから geotools.rb のドキュメントとソースにアクセスすることができます。 ドキュメントの内…

Ruby on GeoTools でグリッドカバレッジ

GeoTools (Java) のグッドラッパーを目指すモジュール Geo にグリッドカバレッジ周りを実装しはじめました。 Geo::create_grid_coverage(buf, crs, bbox) 数値の2次元配列 buf を、座標系 crs における4要素配列 bbox = [xmin, ymin, xmax, ymax] にぴったり…

Rjb 1.0.9 に対応しました

概要 Java 側のメソッドで戻り値の型が java.lang.Object になっている場合には、 java.lang.String のオブジェクトがそのまま、 Ruby の String に変換されることなく返却されることが分かりました。 http://arton.no-ip.info/diary/20070915.html#c08 と a…

Ruby on GeoTools で境界ボックスフィルタ

geotools.rb の Geo::Reader に境界ボックスフィルタを実装しました。 Geo::Reader#foreach の第二引数 options に、{:bbox => [136, 35, 137, 36]} のように境界ボックスを指定します。境界ボックスは要素数4の配列で、[xmin, ymin, xmax, ymax] の順番で…

Shapefile の座標変換

geotools.rb を使って Shapefile データの座標変換をする方法をまとめてみます。 お題は、 地球地図日本の茨城県の行政界データを平面直角座標系 IX 系に変換する。 というものです。行政界、というより行政区画データと言った方が正しいかもしれません。 こ…

Geo::Reader に属性ホワイトリストを実装

Geo::Reader に、Ruby レベルまで取り出す属性のホワイトリストを指定する機能を実装しました。Geo::Reader::foreach の引数を、open-uri の流儀を参考に、少し変更しています: Geo::Reader::foreach(filename, options) {|geom, attrs|} filename で指定…

Rjb 1.0.8: JRuby 互換モードで JRuby より高速な事例

Rjb 1.0.8 リリース! Rjb 1.0.7: java.lang.Long に関して不具合? http://d.hatena.ne.jp/hfu/20070916/1189834339 との本ブログからの報告に対し、Rjb 作者の arton さんが迅速に対応してくださいました: ぐわ、java.lang.Longを忘れてた。御指摘感謝 http:…

Geo::Reader の Deegree 版と JUMP 版を雑に作ってみました

Geo::Reader を、GeoTools と同じく Java の地理情報処理ライブラリである Deegree と JUMP でも作ってみました。今回の作業の趣旨は、 もし Deegree や JUMP で実装すると 10 倍速いというようなことがあったら悔しいから、一応試しておこう という程度のも…

ありがたいまとめ記事をいただきました。

たくぼあきおさんが書いておられる、あの「飛べない日々」で、geotools.rb 関係のエントリをいただきました。ありがとうございます。blogsphere ってすごいと改めて思いました。 Rubyを使ってGIS関連のデータ処理を行おう、と考えた場合に自分であればまず思…

Rjb 1.0.7 primitive_conversion を導入してみました。

これまでのあらすじ Java ライブラリ GeoTools を Ruby から利用するライブラリである、「geotools.rb, for CRuby + JRuby」を作成していたところ、Rjb と JRuby ではプリミティブ型クラスの変換方式が異なることが分かりました。Rjb の作者である arton さ…

Geo::Transform 作りました

地図と測量の座標変換を手軽にしたい Geotools (Java) でやたらとややこしいのが座標変換です。まず第一に、必要なクラスを見つけるのがものすごく難しいです。「奥が深い」と思わせるという意味で、バッドノウハウの温床になっています。ということで、座標…

JRuby と CRuby + Rjb の速度の違いにはプリミティブ型クラス (+ String 型) の変換が関係している

geotools.rb を実装しました。 JRuby + Geotools と CRuby + Rjb + Geotools 用に作成した FeatureReader / Writer http://d.hatena.ne.jp/hfu/20070910/1189455735 Rjbを利用するか、JRubyを利用するかを、環境に依存した特殊な処理と考えることで、差の部…

geotools.rb

Geotools, for CRuby + JRuby Rjbをつなぎとして利用する方法がある。(中略)ここで言うつなぎは、時間上のつなぎだ。つまり、JRubyがより高速化されるまでのつなぎ、という意味。(中略) Rjbを利用するか、JRubyを利用するかを、環境に依存した特殊な処理…

CRuby + Rjb + Geotools は JRuby + Geotools に比べて2倍くらい早い場合がある

JRuby + Geotools は CRuby + OGR に比べて処理時間が2倍程度になる場合がある http://d.hatena.ne.jp/hfu/20070902/1188757700 で JRuby を試した後、Rjb のことを思い出す機会があり、作っていた Shapefile 用 FeatureReader / FeatureWriter を JRuby か…

JRuby + Geotools は CRuby + OGR に比べて処理時間が2倍程度になる場合がある

JRuby + GeoTools on Mac OS X がすごく気持ちよく使える http://d.hatena.ne.jp/hfu/20070830/1188517976 ということで気持ちよく使い始めた JRuby + Geotools ですが,処理の速度の目安を得るべく,ある Shapefile の全データを読み出すという処理にかかる…

JRuby + GeoTools on Mac OS X がすごく気持ちよく使える件について

Ruby + GDAL + OGR がとても不安定*1だったので,かつて使っていた GeoTools に頼ることになりました。しかし,Java + Xcode という世界には戻りたくなかった*2ので,よせばいいのに冒険をして, JRuby を使うことにしました。 Mac OS X では,Java はまあ入…

coordinate transform in Ruby on OGR

With 'Ruby on OGR' (Ruby with SWIG binding of OGR for Ruby, this term is stupidly made-up by me!), coordinate transformation is as easy as forrowing:Ruby on OGR を使えば,座標変換は下のように簡単に書ける。Coordination Transformation ist ei…