以前紹介した位置情報を取得するソースを発展させて、
AndoroidのGPSで直線移動距離を計測するアプリを作ってみた。
自動車のナビのGPSは精度が良いイメージがあったが、Androidを手に持って歩きながら計測すると以外と精度が悪いことに気がついた。
ちなみに設定は「ACCURACY_FINE」&「POWER_MEDIUM」で行った。
2階建ての住宅から5階建てのマンションが建つ狭い路地で行ったせいもあるかもしれない。
30メートル歩いた場合、結果は7メートルぐらいになった。
この程度の制度なのか・・・
今度は広いところで試してみよう。
計算式は「ヒュベニの距離計算式」を使用した。
結果の緯度経度の座標をWebで計算してもらったらほぼ同じ結果が算出された。
以下は参考計算式
D=sqrt((M*dP)*(M*dP)+(N*cos(P)*dR)*(N*cos(P)*dR))
D: 2点間の距離(m)
P: 2点の平均緯度
dP: 2点の緯度差
dR: 2点の経度差
M: 子午線曲率半径
N: 卯酉線曲率半径
M=6334834/sqrt((1-0.006674*sin(P)*sin(P))^3)
N=6377397/sqrt(1-0.006674*sin(P)*sin(P))
AndoroidのGPSで直線移動距離を計測するアプリを作ってみた。
自動車のナビのGPSは精度が良いイメージがあったが、Androidを手に持って歩きながら計測すると以外と精度が悪いことに気がついた。
ちなみに設定は「ACCURACY_FINE」&「POWER_MEDIUM」で行った。
2階建ての住宅から5階建てのマンションが建つ狭い路地で行ったせいもあるかもしれない。
30メートル歩いた場合、結果は7メートルぐらいになった。
この程度の制度なのか・・・
今度は広いところで試してみよう。
計算式は「ヒュベニの距離計算式」を使用した。
結果の緯度経度の座標をWebで計算してもらったらほぼ同じ結果が算出された。
以下は参考計算式
D=sqrt((M*dP)*(M*dP)+(N*cos(P)*dR)*(N*cos(P)*dR))
D: 2点間の距離(m)
P: 2点の平均緯度
dP: 2点の緯度差
dR: 2点の経度差
M: 子午線曲率半径
N: 卯酉線曲率半径
M=6334834/sqrt((1-0.006674*sin(P)*sin(P))^3)
N=6377397/sqrt(1-0.006674*sin(P)*sin(P))
Comments
Post a Comment