0

地理的 (緯度、経度) ポイントのデータベース (MySQL) があり、1 つの四角形 (頂点ごとに 2 つの座標を持つ) からポイントのリストをクエリする必要があります。この問題を迅速に解決するためのクエリまたはアルゴリズムはありますか。

ありがとう。

4

1 に答える 1

1

緯度/経度のポイントがインデックス化されていると仮定すると、SQLクエリは非常に高速になります

SELECT point.lat, point.long FROM point where rect1.lat <= point.lat and point.lat <= rect2.lat and rect1.long <= point.long and point.long <= rect2.long

rect1.lat/rect1.long と rect2.lat/rect2.long は、北西端と南東端の緯度/経度です。

ポイントと長方形の両方の緯度/経度を (E/WN/S ではなく) 正と負として保存することを望んでいます。E/W と N/S の場合、クエリははるかに複雑になります。

これはまた、長方形が緯度/経度の線に沿ってエッジ全体を追跡するようなものであることを前提としています。

正直なところ、これはとてもシンプルなので、何かが足りないと思います....

于 2014-09-11T16:50:33.800 に答える