10 進数表記の GPS 座標のセットがあり、各場所の周囲の可変半径を持つ円内の座標を見つける方法を探しています。
これが私が必要とするものの例です。1km
座標を半径とする円47,11
です。
必要なのは、円の座標を見つけるためのアルゴリズムなので、ポリゴンを使用して kml ファイルで使用できます。理想的にはパイソン。
10 進数表記の GPS 座標のセットがあり、各場所の周囲の可変半径を持つ円内の座標を見つける方法を探しています。
これが私が必要とするものの例です。1km
座標を半径とする円47,11
です。
必要なのは、円の座標を見つけるためのアルゴリズムなので、ポリゴンを使用して kml ファイルで使用できます。理想的にはパイソン。
ここで、「開始点からの距離と方位が与えられた目的地」の式を使用します。
http://www.movable-type.co.uk/scripts/latlong.html
中心点を開始点、半径を距離として、0 度から 360 度までのいくつかの方位をループします。これにより、円上の点が得られ、どこでも大円を使用するため、極で機能します。
単純な三角関数の問題です。
円の中心に座標系 XOY を設定します。から始めて、あなたの価値をy = 0
見つけてください。次に、原点を中心に半径を角度(ラジアン単位)で回転させます。円上の次の点の座標を,で見つけることができます。最後の回を繰り返します。x
x = r
a
Xi = r * cos(a)
Yi = r * sin(a)
2 * Pi / a
それで全部です。
アップデート
@poolie のコメントを考慮に入れると、問題は次のように解決できます (地球が正しい球であると仮定します)。私たちのポイントを通る最大直径を持つ地球の断面を考えてみましょうD
(それを と呼びますL
)。私たちの円の長さ 1 km の直径はAB
、地球の断面円の弦 (と呼びます) になります。したがって、弧の長さは になりAB
ます。さらに、他のすべての次元を見つけるのは簡単です。(AB) = D * Theta
Theta = 2 * sin(|AB| / 2)