緯度経度の変化を計算し、メートルに換算しそれをUnity内座標に反映
させたいです。
例 35.681302, 139.766965(開始地点の緯度経度) 35.681343, 139.766920(移動後の緯度経度)
Updateで現在地は更新し続けるのであくまでも一例です。
この2点の差を緯度経度別に計算します。
開始地点p1 移動後の点p2とする。
緯度 p2 - p1 = 0.000041
経度 p2 - p1 = -0.000045
負の値も絶対値をとって正の値とする。移動方向はのちに考えることとする。
この得られた差をメートル換算したいわけです。
地球の演習を約40,000,000mとみなし360度で割ると1度あたりの変化量が求まる。
1度:111km
0.1度:11km
0.01:1111m
0.001:111m
0.0001:11m
0.00001:1m
0.000001:11cm
0.0000001:1cm
プログラミング言語はC#で実現したい換算方法を書きます。
緯度差0.000041の場合
整数部
0 × 111000(m)
小数部
0 × 11000(m)
0 × 1111(m)
・・・・
度数の変化量に応じた値を掛け算して最終的に整数部と小数部を一つの変数に格納したいのですが、プログラムがわからないので質問しました。
各桁に違う値を掛け算するので、値を取り出さなければなりません。
整数部と小数部にわけて計算したらよいのはわかりますが、小数部を切り出そうとして%1するとfloatやdoubleの性質上余計な値が混入します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/01 15:45