2

Google には Google マップのデモがあり、ページ上に検索エリアを自由形式の多角形として描画できますが、SQL データベースに一連のエントリ (~25,000) がある場合、どのエントリがその範囲内にあるかを実際に調べるにはどうすればよいでしょうか?この形?

Google のデモ: http://gmaps-samples.googlecode.com/svn/trunk/poly/mymapstoolbar.html

この機能の動作はこちらで確認できます: http://www.rightmove.co.uk/draw-a-search.html

数学は私の得意分野ではないので、これを (できればデータベース レベルで) または C# で行う簡単な方法があるかどうか疑問に思っています。

編集: 難しい部分は、データとポリゴン ポイントの両方がこの形式である緯度と経度の座標 (たとえば、+40.689060、-74.044636) に対して実行することです。単純な x/y 平面でこれを行うためのサンプルをいくつか見つけましたが、WGS84 緯度/経度でこれを行うのは非常に難しいようです - それでも、いくつかのサイトがこれを行っているようです! 単純なx / yグリッドの問題を解決する方法を知っているので、受け入れられた答えは緯度/経度のマップ座標である必要があります。

ありがとう!

4

2 に答える 2

2

Google API の詳細はわかりませんが、rightmove 機能を見て使用しました (つい最近!)。私はC#で何かを提案します.ポリゴンチェックでポイントを実行するための標準アルゴリズムがあります。25,000 アイテムの場合、並列で実行することをお勧めします。そうしないと、処理に時間がかかる可能性があります。

StackOverflow - 多角形の
ポイント C# WikiPedia 多角形のポイント アルゴリズム

于 2012-05-01T10:30:41.800 に答える
1

これらの計算には、.Net トポロジ スイートhttp://code.google.com/p/nettopologysuite/を使用できます。GeoAPI http://geoapi.codeplex.com/の .Net 実装を使用します。

于 2012-05-01T11:16:20.043 に答える