■地球の測量(その64)
地球上の2点A,Bの球面距離を知りたい。
A(緯度A、経度A)
B(緯度B、経度B)
経度が等しければ、球面距離θは緯度A-緯度Bになるが、経度が異なる場合を考える。
===================================
{sin(θ/2)}^2={sin(緯度A-緯度B)/2)}^2+cos(緯度A)cos(緯度B){sin(経度A-経度B)/2)}^2
経度A=経度Bであれば、θ=緯度A-緯度B
これを書き換えると
(1-cosθ)/2={1-cos(緯度A-緯度B)}/2+cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}/2
(1-cosθ)={1-cos(緯度A-緯度B)}+cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}
(cosθ)={cos(緯度A-緯度B)}-cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}
===================================
A(cos経度A、sin経度A、sin緯度A)
B(cos経度B、sin経度B、sin緯度B)
外積を計算すると
(sin経度Asin緯度B-sin緯度Asin経度B、-cos経度Asin緯度B+sin緯度Acos経度B、cos経度Asin経度B-sin経度Acos経度B)
(sin経度Asin緯度B-sin緯度Asin経度B、-cos経度Asin緯度B+sin緯度Acos経度B、-sin(経度A-経度B)
この大きさがsinθになる。
===================================
(sin経度Asin緯度B)^2
(sin緯度Asin経度B)^2
(cos経度Asin緯度B)^2
(sin緯度Acos経度B)^2
(-sin(経度A-経度B))^2
-2sin経度Asin緯度Asin緯度Bsin経度B
-2cos経度Asin緯度Asin緯度Bcos経度B
これらの和が(sinθ)^2になる。
===================================
(sin経度Asin緯度B)^2+(cos経度Asin緯度B)^2=(sin緯度B)^2=1-(cos緯度B)^2
(sin緯度Asin経度B)^2+(sin緯度Acos経度B)^2=(sin緯度A)^2=1-(cos緯度A)^2
(-sin(経度A-経度B))^2=1-cos(経度A-経度B))^2
-2sin緯度Asin緯度B(sin経度Asin経度B+cos経度Acos経度B)=-2sin緯度Asin緯度Bcos(経度A-経度B)
={cos(緯度A+緯度B)-cos(緯度A-緯度B)}cos(経度A-経度B)
===================================
(sinθ)^2=3-(cos緯度A)^2-(cos緯度B)^2-cos(経度A-経度B))^2-2sin緯度Asin緯度Bcos(経度A-経度B)
(cosθ)^2=-2+(cos緯度A)^2+(cos緯度B)^2+cos(経度A-経度B))^2+2sin緯度Asin緯度Bcos(経度A-経度B)
===================================
一方、
(cosθ)={cos(緯度A-緯度B)}-cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}より
(cosθ)^2={cos(緯度A-緯度B)}^2+{cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}}^2-2{cos(緯度A-緯度B)}cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}
(cosθ)^2={cos(緯度A-緯度B)}^2+{cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}}^2-2{cos(緯度A-緯度B)}cos(緯度A)cos(緯度B)
+2{cos(緯度A-緯度B)}^2cos(緯度A)cos(緯度B)
(cosθ)^2={cos(緯度A-緯度B)}^2+{cos(緯度A)^2cos(緯度B)^2+cos(緯度A)^2cos(緯度B)^2cos(経度A-経度B)^2-2cos(緯度A)^2cos(緯度B)^2cos(経度A-経度B)-2{cos(緯度A-緯度B)}cos(緯度A)cos(緯度B)+2{cos(緯度A-緯度B)}^2cos(緯度A)cos(緯度B)
(cosθ)^2={cos(緯度A-緯度B)}^2{1+cos(緯度A)^2cos(緯度B)^2+2cos(緯度A)cos(緯度B)}
+cos(緯度A)cos(緯度B){cos(緯度A)cos(緯度B)-2cos(緯度A)cos(緯度B)cos(経度A-経度B)-2cos(緯度A-緯度B)}
===================================