世界の測量

Sibling of "Relevant, Timely, and Accurate, " but much lighter and shorter ※自らの所属する組織の見解を示すものでない

希望の軸 2.0 の計算方法

論文本文の趣旨にはまったく関係ないところでの、地図屋の趣味の範囲での作業です。その動機は、次の通り。

実際に表示したものを見た私の感想は次の通り。

その実装は、次のとおり。JRuby を使って、Java 上の GeoTools にある測地学計算機を利用。電子国土Web.NEXT を使って計測した福島第一原子力発電所の位置から、方位角 -135度 を保って距離を変えていった点列を KML ファイルとして出力する。

%w{rubygems geo_ruby java ~/lib/geotools-8.2/gt-referencing-8.2.jar}.
  each {|l| require l}
gc = (import 'org.geotools.referencing.GeodeticCalculator').new

gc.setStartingGeographicPoint(141.0349, 37.4212) # Fukushima Dai'ichi

wkt = 'LINESTRING ('
0.step(20000000, 100000) {|d|
  gc.setDirection(-135, d)
  pt = gc.getDestinationGeographicPoint
  wkt << "#{pt.x} #{pt.y}, "
}
wkt.chop!.chop!
wkt << ')'
g = GeoRuby::SimpleFeatures::LineString::from_ewkt(wkt)

File.open('sw.kml', 'w').print <<-EOS
<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<Placemark>
#{g.as_kml.chop!}
</Placemark>
</Document>
</kml>
EOS

この KML ファイルを、適当な場所(http://www.handygeospatial.info/2012/09/22/sw.kml )にアップロードして、これを Google Maps の q パラメータに入れれば( https://maps.google.co.jp/?q=http://www.handygeospatial.info/2012/09/22/sw.kml )OK。