0

ロンドン全体の一部のマップデータで、ポイントがポリゴン内にあるかどうかをテストする必要があります。

Is it safe to ignore the spherical aspect of the data at this scale and just treat it as planar? It's not super critical for our needs to be 100% accurate. An error of about 10m is probably OK.

(I'm aware there might be functions in the Google maps API that already does this but we're pre-calculating server-side.)

4

1 に答える 1

1

最悪の場合、ロンドン全体を表す単一のポリゴンがある場合、エラーは目標の10mをはるかに超える可能性があります。もしも:

  • ロンドンはN51.5deg、E0.0degを中心としています。
  • ロンドンの半径は経度0.5度です。

次に、N51.5E0.5からN51.5W0.5までの大円と、同じ点の間の等角航路との間の最大変位(等角航路は、球面座標を平面として扱う場合に使用するものです)約142メートルになります。ロンドンをモデル化するために1つの巨大な長方形を使用した場合、エラーは許容範囲を超えます。

したがって、近似の安全性は、ロンドンを表すために使用しているポリゴンの数、特に、表現内のポリゴンの辺の最大長に依存します。

編集

OPのコメントに対処するには:

はい、私は、等角航路を使用することは、lat / lngが平面座標であると素朴に見せかけることと同じであり、それ以上の変換は必要ないと信じています。簡単な例では、N51.5E0.5とN51.5の間にラムラインを作成しました。W0.5は、ポイント間の小さな円の弧であり、これは緯度のラインでもあり、この場合は同じラインです。緯度/経度を平面座標として扱う場合は描画します。しかし、これは私の答えに合わせた特別なケースです。正直なところわかりませんが、メルカトル図法ではこれは一般的に正しいと思います。つまり、等角航路は、緯度/経度を平面座標として扱うことで得られる直線と同じです。

提起された質問は、点が線の一方の側にあるのか、もう一方の側にあるのかを尋ねることに還元できます。ポイントがポリゴンの境界を形成する線分の1つの内側にある場合、そのポイントはポリゴンの内側にあります。

一枚の紙に円を描きます。次に、円の任意の2点の間に弦を描きます。これで問題の説明ができました。円は球体地球上の任意の2点間の大円を表し、直線は点間の小さな円を表します。弦と円の間の距離は、大円と小円の間の距離を表します。これは、単純な仮定で発生する可能性のあるエラーです。

ラフで準備ができています。ロンドンの地図が経度約1度の1つのポリゴンとしてモデル化されている場合、球座標を平面として扱うことで生じるポジショニングのエラーは140mを超える可能性があります。 。

于 2012-05-28T13:19:06.663 に答える