旧「日本測地系(Tokyo Datum):ベッセル楕円体」に準拠した座標値と、世界測地系「日本測地系2011(=ITRF94系=JGD2011):GRS80楕円体」の座標値の、相互間座標変換プログラムを作成します。
2001年以前の測地基準点成果は、緯度、経度については日本測地系に基づいた数値で、準拠楕円体はベッセル楕円体でしたが、現在の測地測量成果は世界測地系(測地成果2011)と呼び、準拠楕円体はITRF座標系GRS80楕円体です。
測量や位置決定に用いられるGNSS衛星の位置情報は、一般的には地球の重心に原点をおいた WGS-84座標系 で表されますが、同じ地球重心の ITRF座標系 との違いは実用上無視することができます。
日本測地系の経緯度で表されている地点を、世界測地系の経緯度で表わすと、東京付近では、経度が約-12秒、緯度が約+12秒変化します。これを距離に換算すると、北西方向へ約450mずれることに相当します。
公開サービス
日本測地系の経緯度数値を世界測地系の経緯度数値に変換するために、以下のサービスが公開されています。
・海域の経緯度の場合
https://www1.kaiho.mlit.go.jp/KOHO/eisei/sokuchi/html/henkan_chu.html
・陸域の経緯度に場合
https://vldb.gsi.go.jp/sokuchi/surveycalc/tky2jgd/main.html
簡易計算式による変換
世界測地系と旧日本測地系では地球の形状パラメータが異なるため、緯度経度の位置が計算上差が生じます。その差を加える(引く)事により、相互変換をする方法です。簡易的に出来るので誤差数メートル程度と精度は良くないです。
日本測地系→世界測地系
世界測地系緯度 = 日本測地系緯度 – 0.00010695 * 日本測地系緯度 + 0.000017464 * 日本測地系経度 + 0.0046017
世界測地系経度 = 日本測地系経度 – 0.000046038 * 日本測地系緯度 – 0.000083043 * 日本測地系経度 + 0.010040
世界測地系→日本測地系
日本測地系緯度 = 世界測地系緯度 + 0.00010696 * 世界測地系緯度 – 0.000017467 * 世界測地系経度 – 0.0046020
日本測地系経度 = 世界測地系経度 + 0.000046047 * 世界測地系緯度 + 0.000083049 * 世界測地系経度 – 0.010041
高精度計算式による変換
新旧の座標値の差は
(1) 旧日本測地系と世界測地系の地球の形の違い
(2) 基準点のゆがみ補正
の2つの要素があります。
国土地理院では、日本全国をくまなくカバーするほぼ1kmごとのメッシュに、この(1)(2)をひとまとめにして新旧の座標値の差を算出し、パラメータファイルTKY2JGD.PARを作成しています。
変換API
// 初期化
void initParam(char* param);
// 世界測地系→日本測地系
int Jgd2Tokyo(double lon, double lat, double* wlon, double* wlat);
// 日本測地系→世界測地系
int Tokyo2Jgd(double lon, double lat, double* wlon, double* wlat);
使い方
double wlon, wlat;
initParam("TKY2JGD.par");
Tokyo2Jgd(139.7533375, 35.69412166666667, &wlon, &wlat);
変換結果検証
自作プログラムの結果の検証はWeb版TKY2JGDの結果とを比較しておこないます。
日本測地系→世界測地系
入力値 | 自作プログラム | 国土地理院 |
---|---|---|
139.761012 | 139.7577791 | 139.7577791 |
35.69596 | 35.6992029 | 35.6992029 |
世界測地系→日本測地系
入力値 | 自作プログラム | 国土地理院 |
---|---|---|
139.7536392 | 139.7568723 | 139.7568724 |
35.6973694 | 35.6941345 | 35.6941341 |
いずれの場合においても、有効桁数を考慮すると、誤差が無いと判断されます。
ソースコード
現在、公開を停止しています。ご希望の方はコメント欄からお問い合わせください。
コメント