世界測地系←→日本測地系の変換を行うには
↓こちらのページが参考になります。
精度5m程度のブレがあってもいいなら三角関数なしでもOKです
Rubyに移植しようっと
三角関数を使わない変換式(簡単):
もう少し沢山の点を変換する必要があるが、メモリも計算能力も限られていると言う向きに、以下のような変換式を作りました。緯度Bと経度Lの数値は、度単位(D)で与えてください。
BWGS84 = BTokyo - 0.00010695*BTokyo + 0.000017464*LTokyo + 0.0046017
LWGS84 = LTokyo - 0.000046038*BTokyo - 0.000083043*LTokyo + 0.010040前述の表を再現するように作ってあります。0.1秒程度違う所もありますが、せいぜい5m、目的に合わせてどうぞ。
逆にWGS 84からTokyoへの変換式は、以下の通り。
BTokyo = BWGS84 + 0.00010696*BWGS84 - 0.000017467*LWGS84 - 0.0046020
LTokyo = LWGS84 + 0.000046047*BWGS84 + 0.000083049*LWGS84 - 0.010041AppleScriptなど、三角関数を持たないスクリプト系言語では重宝すると思います。