いま分かっている情報は
・基準点の緯度経度
・基準点からの方角(基準点真北が0°です。)
・基準点からの距離
です。この3つの情報を使って、目標ポイントの緯度経度を算出します。
Excelシートは、以下の通り作成しました。
★印の列(I列〜M列)に入力すべき数式を教えてください。
A列 基準点緯度(度)
B列 基準点緯度(分)
C列 基準点緯度(秒)
D列 基準点経度(度)
E列 基準点経度(分)
F列 基準点経度(秒)
G列 方角(度)
H列 距離(km)
I列 ★算出点緯度(度)
J列 ★算出点緯度(分)
K列 ★算出点緯度(秒)
L列 ★算出点経度(度)
M列 ★算出点経度(分)
N列 ★算出点経度(秒)
http://oshiete1.goo.ne.jp/kotaeru.php3?q=934745
2点の緯度経度から2点の交点の緯度経度を求めるには? - 教えて!goo
地球の実際の形状を考慮してまじめにやるには難しいらしいですが,
球体の仮定でよければ,ここの回答1に式が書いてあります。
実際は角度をラジアンに変換して戻す手間もいりますね。
http://www.vector.co.jp/soft/win31/home/se078044.html
距離と方位から経緯度を計算(Windows3.1 / 家庭&趣味)
答えが欲しいだけならこんなソフトもあるようです。
参考まで。
Yahoo! JAPAN
地球は楕円形ですし、0度を貫通した時の処理も考えると数式だけで対応するのはかなり無理があると思います。マクロを使えば不可能ではないでしょうが‥‥。
例えば距離を500mとして、始点と終点を図示したいのですが、やはり難しいのでしょうか…。
1番です。500mとかその程度であれば,平面とみなしても十分でしょう。
北を0度として角度θ[度]をはかり,d[km]だけ離れているとすると,
東西方向の距離x=d×sinθ
南北方向の距離y=d×cosθ
(ただしエクセルで計算するときは角度をラジアンにしなければいけないので,
θの変わりにθ×(π/180)とします)
地球の1周の長さを約40000kmとすると,これが360度にあたりますから,
東西方向の角度差Δλ=360×(x/40000)
南北方向の角度差Δφ=360×(y/40000)
となります(単位は[度])。
原点の緯度,経度をλ,φとすると,
目標ポイントの緯度,経度λ’,φ’は,
λ’=λ+Δλ, φ’=φ+Δφ
となります。
ただし,度分秒に変換しないといけません。
分は度で表した角度の小数部分を60倍したものの整数部分です。
秒はその残りの端数を60倍したものになります。
P列でΔφ,Q列でΔλを計算するとすると,
緯度の方だけ書くと,
P=360*H*Cos(G*Pi()/180)/40000
I=A+Trunc(P)
J=B+Trunc((P-I)*60)
K=C+((P-I)*60-J)*60
のようになります(Truncは切り捨て)。
ただし,分,秒が足して60を超えたら桁上がり
させないといけません。
あとは,0に近いときの計算の精度と,
方向による正負の判断があっているか気をつけないといけません。
基本はこんなところだと思いますが,
チェックしていませんので気をつけてください。
地図を眺めるだけならは簡単そうなのですが、実際とても難しいのですね。
ありがとうございます。
http://www.arknext.com/utility/contents/gccj.html
アークEFI航空情報センター Javascript Great Circle Calculator
計算式をズバリ書くことはできませんが、やろうとしていることは、このURLの2番目のプログラムと同じでしょうか?
計算式はここに書いてあるようですが、言葉の意味がわからず、何にどの数値を入れれば良いのか具体的に書いてあるサイトは見つかりませんでした。
緯度経度計算+Survey.DLL
計算するためのDLLがここにあるみたいですが、どうやって使えば良いのかよくわかりません。
「ずばりこの計算式!」という回答がほしかったのかもしれませんが、ここまでしかお手伝いすることができませんでした。すみません。
私も言葉じりは全く分かりません(笑)
以下は地球を周囲40,000kmの完全な球体と仮定した場合です。
O=SIGN(A)*(ABS(A)+B/60+C/3600)/57.29578
P=(D+E/60+F/3600)/57.29578
Q=G/57.29578
R=H/40000*PI()*2
S=sin(R)*sin(Q)
T=cos(O)*cos(R)-sin(O)*sin(R)*cos(Q)
U=ATAN2(T,S)
V=sin(O)*cos(R)+cos(O)*sin(R)*cos(Q)
W=ASIN(V)*57.29578
X=(P+U)*57.29578
Wに算出点の緯度、Xに同じく経度がそれぞれ度の小数の単位で入ります。
あとはsugiyasatoさんの書かれている注意にしたがって度分秒に
換算されればいいと思います。
早速やってみます。
ありがとうございます!
う〜ん。ズブの素人なので読み解くのに時間が掛かりそうです。ありがとうございます!