Distance_Between_2Pts


GIS

以下の2点間の距離を求める

  • A: (longitude, latitude) = (Xa, Ya)
  • B: (longitude, latitude) = (Xb, Yb)

(longitude, latitudeは度数表記(10進数))

仮定:

  • 赤道の長さ:40,000km (1度=40,000/360)

A-B間の距離:

40,000/360 * sqrt( ( cos((Ya+Yb)/2 * pi()/180) * (Xa-Xb) )^2 + (Ya-Yb)^2 )

マッチング:

  • 10m(正確には11.111m)の違いは、大体0.0001度(=1万分の1度)の違い
    • 半径10mの誤差を認めると、
      cos(35*pi()/180)*(Xa-Xb)^2+(Ya-Yb)^2 <= 0.00000001 (=1/100M)
      = 0.8*(Xa-Xb)^2+(Ya-Yb)^2 <= 1/10^8
    • 半径30mの誤差とすると、
      0.8*(Xa-Xb)^2+(Ya-Yb)^2 <= 1/10^7
    • 半径50mの誤差とすると、
      0.8*(Xa-Xb)^2+(Ya-Yb)^2 <= 2.5/10^7
      という感じ。