Geo::HelmertTransform を廃止し、Geo::Transform.helmert を作りました。
でも、本当は、Geo::Transform::create_helmert を作るようにして Geo::HelmertTransform は存在しないほうがが良いのかもしれません。
ヘルマート変換クラス Geo::HelmertTransform を作りました。 - Relevant, Timely, and Accurate
この改善を施し、Geo::HelmertTransform を廃止して、Geo::Transform.helmert を作りました。
ドキュメントも書き換わっています
A class to transform coordinates.
座標変換器クラスhttp://svgmapdata.sakura.ne.jp/geotools/classes/Geo/Transform.htmlMethods
- helmert
- new
- new
- transform
- transform
という構成になりました。
使用例
require 'geotools' t = Geo::Transform::helmert([0, 0], [100, 100], [-10, -10], [90, 100]) Geo::Writer::open('abc1.shp') do |w1| Geo::Writer::open('abc2.shp') do |w2| 100.times do |i| g = Geo::import_array_geometry([rand(100), rand(100)]) w1.write(g, {'i' => i}) w2.write(t.transform(g), {'i' => i}) end end end
このプログラムで作成した作成した二つの Shapefile を見る限り、うまくヘルマート変換を作ることができているようです。
geotools.rb 全体のページは、
::と.の使い分けは
よく分かっていません。