2つの座標点の距離の計算問題について

1331 ワード

クライアントは現在の地理位置(x.y)をアップロードして、サービス側のデータベースの中でクライアントを保存して場所によってサービス側に自分の周囲のXXXメートルのデータの問題を調べてダウンロードします:このXXXメートルはどのように計算しますか?経緯度は(x,y)データベースでこの2つの値で距離を計算してフィルタリングすると、あまりにも現実的ではありません.どうしますか?
円を描きましょう.近似値を取りましょう.例えば、私たちが言っている近くの100メートルは、円形の概念ですが、データベースで計算するときは縦横座標を左右前後100メートルで計算すればOKです.これで正方形になるに違いないが、この誤差は一般的には問題ない.経緯自体に誤差があるからだ.~これで計算は不要ですが、緯度がそれぞれ正負100 m以内であればOKでしょう(緯度に換算して計算しますよ!~)
 

, A1、A2(E ,W ), B1、B2(N ,S )。
A0=(A1-A2)÷2,B0=(BI-B2)÷2
f=√sinB0×sinB0+cosB1×cosB2×sinA0×sinA0
=2fR
:E、W、N、S= ;R= ;√= ;∏= 。

 
例えば、点Aの経度は116995400、緯度は3995400である.点Bの経度は11695300,緯度は3995300である.式:2点間距離=[(A点経度-B点経度)^2+(A点緯度-B点緯度)^2]^(1/2)=[(116995400-11695300)^2+(3995400-3995300)^2]^(1/2)=(10000+10000)^(1/2)=141 m式説明:加算+,減算-,乗算*,除算/,べき乗演算^(1/2)は平方根^2が平方を表す.
適用範囲:暗号化されていない緯度/暗号化された緯度
深く研究する推薦:http://www.movable-type.co.uk/scripts/latlong.html