0

'places'を含むテーブルがあり、各場所には名前(pk)とlat、lngが付いています。座標の境界ボックス(緯度/経度の周囲長)が与えられた場合、そのボックス内の場所のみを取得する効率的な方法は何ですか?

私はすべての場所を繰り返して、それぞれがボックス内にあるかどうかを確認することができました(そして現在はそうしています)。しかし、私はもっと効率的なものを探しています。おそらく、場所/可能なボックスによって場所を定義するためのインデックスを作成します。

私はDjangoフレームワークを使用していますが、低レベルの最適化も可能です(おそらく、SQLレベルで)。

4

1 に答える 1

0

DB で地理空間クエリを実行する場合は、空間データベースを使用する必要があります。 すべての主要な DB システムはそれをサポートしているか、これに対するサポートを追加するための拡張機能を備えています。

空間DBを取得したら、座標をST_POINTとして保存し、DBは効率的なクエリを実行できるように座標をインデックス付けします(ポリジン、範囲内など)。

于 2012-11-29T11:03:49.297 に答える