人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

1. 球体の表面上の点の位置を地球儀と同じように緯度と経度で表した場合、任意の二点間の表面上の距離(立体の中を通る線ではない)はどのように求めたらよいでしょうか。わかっているのは球体の半径Rと二点の緯度経度のみとします。

2. 上と同じ条件で、任意の二点を結ぶ線分の方角はどのように求めたらよいでしょうか。便宜上、南の極に近いほうの点から見たもう一点への方角とします。(言うまでもなく、緯度が同じなら真東が真西)

●質問者: spin6536
●カテゴリ:学習・教育 科学・統計資料
✍キーワード:便宜上 地球儀
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●30ポイント

1についてのみお答えします。


1.任意の二点間の表面上の距離

拙作「PHPで2地点間の直線距離を求める」に掲載しているサンプル・プログラムの123?139行目が計算式になります。

PHPスクリプトになっていますが、一般的な計算式しか使っていないので、読み取ることはできると思います。sqrt は平方根を求める関数です。


なお、緯度・経度が日本測地系(大部分の日本地図)で表したものか、世界測地系(Googleマップなど)で表したものかによって、曲率半径を求める式が異なります。

世界測地系を用いる場合は、129、133行目の式を使って下さい。


2 ● tdoi
●30ポイント ベストアンサー

1.2地点を結ぶ弧の長さ

2点をA, Bとします。

この2点を球座標系を基に、2地点のユークリッド空間の座標を計算します。

参考:

http://ja.wikipedia.org/wiki/%E6%A5%B5%E5%BA%A7%E6%A8%99%E7%B3%B...

これより、原点(球座標の中心)をOとすると、ベクトルOA、および、ベクトルOBがもとまったといえます。

次に、この2つのベクトルのなす角θを求めます。

参考:

http://www5d.biglobe.ne.jp/~noocyte/Programming/Geometry/Rotatio...

弧の長さは半径と中心角に依存するので、θと球の半径が分かっていれば、すぐ求められます。

参考:

http://www004.upp.so-net.ne.jp/s_honma/circle/huygens.htm


2.2点の方向

方向とは何を意味しているかわかりませんが、1の中でユークリッド座標を求めているので、それで十分でしょうか?


何かの参考になれば。

◎質問者からの返答

質問の後半が意図しているのは、A点から見てB点がどの方角にあるか、ということです。A点とB点が同じ経度にあり、B点のほうが北に近ければ、方角は真北(0度)ということになります。ユークリッド座標から、もしくは他の方法でどのように求めることができるでしょうか。


3 ● hiko3karasu
●20ポイント

2.

2点をA,BとしてAから見たBの方角は、

球体の中心からAへの直線と直交するAを含む面(Aから見た水平面)

AとBを含む平面

交差してできる直線

と考えればいいです。

◎質問者からの返答

その方角(角度)はどのように求めたらよいでしょうか。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ