プロが教える店舗&オフィスのセキュリティ対策術

Excelについて質問です。

画像のように2地点の緯度と経度を調べました。
これを用いて直線距離の計算をしたいです。

添付画像のExcelについては
A列とD列の距離をG列に入力したいです。
A列の緯度経度がB.C列、
D列の緯度経度がE.F列です。

縦に5万ほどのデータが並んでおり
それぞれの2地点間の直線距離を一括で計算できる方法を
教えていただけると幸いです。

よろしくお願いいたします。

「Excelについて質問です。 画像のよう」の質問画像

質問者からの補足コメント

A 回答 (5件)

ご質問者の提示されたデータのうち4件を、ご質問者が色々調べたとおっしゃっているURLに掲載されている計算法のすべてを用いて計算してみました。


添付画像をご覧ください。
添付画像①は「真球近似式」を用いた計算です。G2には
=6371 * ACOS(COS(B2*PI()/180) * COS(E2*PI()/180) * COS(F2*PI()/180-C2*PI()/180) + SIN(B2*PI()/180) * SIN(E2*PI()/180) )
という数式を記述してあります。
添付画像➁は「ヒュベニ近似式」を用いた計算です。H2には
=SQRT((6334834/SQRT((1-0.006674*SIN((B2+E2)/2*PI()/180)^2)^3)*(B2-E2)*PI()/180)^2+(6377397/SQRT(1-0.006674*SIN((B2+E2)/2*PI()/180)^2)*COS((B2+E2)/2*PI()/180)*(C2-F2)*PI()/180)^2)/1000
という数式を記述してあります。
添付画像③は「ピタゴラスの定理」を用いた計算です。I2には
=SQRT(((40009/360*(E2-B2))^2)+(((40075/360*(F2-C2))^2)))
という数式を記述してあります。
結果はいずれもKmで算出されています。
「真球近似式」と「ヒュベニ近似式」は、ほぼほぼ近い値になりますが、ピタゴラスの定理ではかなり相違が出ます。
複数のデータを以下のURLに投入して、どの数式が好ましいか判断することになると思います。
https://vldb.gsi.go.jp/sokuchi/surveycalc/survey …
なお、ご質問者が取得した緯度・経度は10進数表記ですが、これをDMS(度分秒<60進数>)表記にした下記のようなテキストファイル(ファイル名は日本語不使用で拡張子は.in)を作成して上記URLで「一括計算」するという手もあります。

#出発点緯度(dms) 出発点経度(dms) 到着点緯度(dms) 到着点経度(dms)
342238.53920 1322624.06520 342251.35880 1322714.73120
342202.49600 1322706.24380 342306.43920 1322710.83240
342307.35000 1322636.62380 342432.36040 1352020.07960

10進数をDMSに変換するには以下のような手順となります。
34.377372をDMS表記に変換する場合を例にとると、
度 = DEG表記の整数部分
= INT(34.377372)
= 34
分 = (DEG表記の小数部分×60)の整数部分
  = INT((34.377372-34)×60)
  = INT(0.377372×60)
  = INT(22.64232)
  = 22
秒 = ((DEG表記の小数部分×60)の小数部分)×60
  = (22.64232-22)×60
  = 0.64232×60
  = 38.5392
EXCELなら簡単に計算できます。
「Excelについて質問です。 画像のよう」の回答画像5
    • good
    • 2
この回答へのお礼

たくさんご回答いただいた中から、最も参考にさせていただきました。
ありがとうございました!

お礼日時:2021/06/02 14:51

「平面」で考えるなら、


経度、緯度、それぞれ1度で何メートルなのかをあらかじめ計算しておきましょう。
あとは三角関数でOK。

経緯度1度は東京駅付近で、約107000mになります。
精度を出すのであれば、経緯度1度あたりの距離を正確に求め、さらに桁数を増やしましょう。
また、緯度が高いと図のような歪みが大きくなるので、単純計算では精度が落ちます。
(東京より札幌の方が誤差が大きくなるという事)

・・・
そんなわけで100~300mなんてマジで誤差範囲と考えて良い。
精度を10mまで高めるなら、もっと複雑な計算が必要になります。
「Excelについて質問です。 画像のよう」の回答画像4
    • good
    • 0

いくつか計算方法があって、それぞれの方法によって、精度が高いけど計算が面倒だったり、その逆だったりします。


データを見たところ、34.38, 132.45前後の近い位置ですから、緯線、経線を直交座標と見なして、点と直線の距離で計算とかが簡単かも。

例えば、Google地図で、
https://www.google.com/maps/@34.3805352,132.4527 …

って打ち込むと、34.3805352, 132.4527785
が中心の地図が表示されます。広島の赤十字病院のあたり。
18zってのは、多分地図の倍率。

別のウィンドウを開いて、経度を少しだけ増やした位置を打ち込むと、東にズレた地図が表示されます。
経度を0.002度増やして、

https://www.google.com/maps/@34.3805352,132.4547 …

この地図のズレを、右下の距離表示を頼りに目分量で測ると、自分の目測だと130m。

従って、経度が0.002違うと、130m違うって事になります。
同様に、緯度方向も目測すると、緯度が0.002違うと、170m違う。

なので、質問画像の1行目、
34.377372, 132.4400181 と 34.380933 132.454092
の距離は、
それぞれ、病院の基準点(34.3805352, 132.4527785)からの相対緯度経度は、
34.3805352-34.377372=0.0031632,
132.4527785-132.4400181=0.0127604
と、
34.3805352-34.380933=-0.0003978
132.4527785-132.454092=-0.0013135

緯度軽度の差は、
-0.0003978 - 0.0031632 = -0.003561
-0.0013135 - 0.0127604 = -0.0140739

メートルになおすと、
-0.003561 × 130m/0.002度 = -231.465
-0.0140739 × 170m/0.002度 = -1196.2815

三平方の定理で2点の距離は、
√(-231.465の2乗 + -1196.2815の2乗) = 1218.47m
だとか。


手計算したので、どっか違ってるかも。
最初から、基準点をしっかり決めたり、正確に距離を目測したりすると、誤差減ると思います。
    • good
    • 2

さて、この手の問題は、座標を「平面」として考えるか「球面」として考えるかで違ってくる。


また「球面」で考える場合、正球として考えるか、楕円球として考えるかでも微妙に違ってくる。

そんなわけで、どのような条件の下で計算を行うのかを明確にしましょう。

「東京駅」と「品川駅」の間の直線距離……を求めたいという事であれば、「平面」として考えればよいでしょう。
「羽田空港」と「ロサンゼルス空港」の間の直線距離……を求めたいという事であれば、「球面」として考えた方が良いでしょう。

さて、どっち?
「Excelについて質問です。 画像のよう」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございますm(*_ _)m
自分が求めようとしている距離の2地点間は近いので、「平面」で考えるとよいのかなと思っています!

お礼日時:2021/05/25 19:30

回答を書いていたら、質問が削除されてしまいましたので、以下は前の(削除された)質問に対する回答です。



----------------------------------------------
以前のご質問のつづきでしょうか?

>Excelに詳しい方がいらっしゃいましたら
Excelの問題ではないですね。
中学~高校幾何の問題です。

平面上の近似距離で良ければ、以前の回答の通り三平方の定理で単純に求めればよいです。

真球面(本来の地球は回転楕円体に近いですが)上の近似で良ければ、多少複雑にはなりますが、それでも比較的単純に求められます。
(前回は省略しましたが・・・)

以下を参照し、λ、φに緯度、経度を当てはめれば、2点の中心角(見込み角)を求められますので、そこから円弧の長さを求めればよいでしょう。
https://ja.wikipedia.org/wiki/%E5%A4%A7%E5%86%86 …

 距離 = 半径×見込み角(ラジアン)
となります。



・・・と書いている間に補足が投稿されたようなので、
多分、式的には概ね良いのではないでしょうか?
なお、正確にはACOS内の1項目の3番目の値は「差の絶対値」だと思います。
(角度差が小さければ、影響はないと思われますが、念のため)
(また、地球の半径をどうするかで差が出ますけれど・・・)

>値があまりにも大きなものになり
>上手くいきませんでした。
ご提示の座標だと、長野県辰野町あたりと三重県熊野市あたりになるので、そのぐらいの距離ではないのですか?
計算に使用している緯度、経度が整数化されていたので、相当に大雑把になっているとは思いますけれど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A