2011-07-31 6 views
0

GPSからデータを受信し、それらをMySQLデータベースに格納しています。同等の確率で私のユーザーは、このエリアの任意の地点にあることができるので、水平精度と視野領域を持つ2人のユーザーの交差確率

 
User ID (int) 
Latitude (double) 
Longitude (double) 
Horizontal Accuracy (double) 

水平精度は、緯度/経度の周りの半径である:私は、次の列があります。

私は2人のユーザーが交差している確率を調べる必要があります。しかし私は30メートルの視野も持っています。水平精度が0であれば、緯度/経度の周りに30メートルの半径を持つ2つの円の交差領域を測定できます。しかし、私の場合、水平精度は5から3000の範囲にあるため、これは不可能です。通常、それは私のビジョン領域以上です。

私はこのコーンの内側の円は、水平精度の半径を有することになる水平精度+ 30メートルと外側の円の半径を有することになる場合、私は2つの円錐の交差部分の面積を測定することができると思います。しかし、この解決策は少し複雑に思えます。

私はそれと他の可能な解決策に関するいくつかの考えを聞きたいです。

私はMySQL Spatialの拡張機能をチェックしましたが、これまでのところ私はこのような計算を行うことができません。

ありがとうございました。

+0

ここで回答が得られない場合は、http://GIS.stackexchange.comでこの質問をしてください。 –

+0

多分それは私ですが、質問は少しばかりです。私はあなたが多分何らかの図を含んでいれば、ちょっとしたことを明確にすることができると思う。 – jjmontes

答えて

0

私はあなたが記述しているような問題に取り組んでいました。私が近づく方法は、緯度/経度(ワールド座標)をX/Y(デカルト座標)に変換することでした。ピタゴラス定理a^2 + b^2 = c^2を適用して問題を解決しました。

まず、緯度/経度を変換する必要があります。

Xを得るには、角度の余弦(cos)でRadiusを掛けます(注:この角度はラジアンで表現する必要があります)。

Yを得るには、上記と同じですが、サイン関数(sin)を使用します。 (約3.14159 ...)PIの量により乗算に角度をラジアル度を変換する

/180

ラジアン=アングル*(PI/180)。

c^2 "C二乗" c = SQRT(a * a + b * b)を解く。ラジアン度の詳細については

:X/Yに緯度/経度に変換する座標::の詳細についてはhttp://www.mathwarehouse.com/trigonometry/radians/convert-degee-to-radians.php

http://www.mathsisfun.com/polar-cartesian-coordinates.html

私は通常、私はこの種の問題のために必要な情報を見つけますask.comで質問してください。

すべて最高です。

アラン

関連する問題