3

locationsと呼ばれる列に緯度経度ポイント (SRID 4326) を格納する と呼ばれるテーブルを持つ PostGIS 対応データベースがありますcoordinates。ただし、そのテーブルのすべてのルックアップは、主に距離の比較を行うために、ポイントをメトリック投影 (SRID 26986) に変換します。

明らかに、列に空間インデックスを作成したいと思いcoordinatesます。私の質問は、この場合、空間インデックスで使用するのに最適な (最も計算効率の良い) SRID はどれですか?coordinates

SRID 4326 を使用してインデックスを作成することもできます...

CREATE INDEX locations_coordinates_gist 
ON locations 
USING GIST (coordinates);

またはSRID 26986を使用して...

CREATE INDEX locations_coordinates_gist 
ON locations 
USING GIST (ST_Transform(coordinates, 26986));
4

1 に答える 1

4

関数に関するPostGISドキュメントを読んで、この役立つ情報を発見しましたST_Transform...

複数の変換を使用する場合は、一般的に使用される変換に関数インデックスを付けて、インデックスの使用法を利用すると便利です。

答えは、両方を使用することです。SRID ごとに 1 つずつ、合計 2 つのインデックスを作成しました。

于 2012-11-01T20:49:47.180 に答える