web-dev-qa-db-ja.com

ジオメトリ列のSRIDを変更するにはどうすればよいですか?

列の1つがSRIDを持つポリゴンのジオメトリ列the_geomであるテーブルがあります。 the_geomとまったく同じジオメトリデータを使用して、同じテーブルに新しい列を追加しました。

この新しい列の名前はthe_geom4258です。これは、SRIDを4258に設定したいためです。ジオメトリのSRIDを別の座標系に変更する手順は何ですか?次のクエリを適用するだけで十分ですか。

UPDATE table SET the_geom4258=ST_SetSRID(the_geom4258,4258);
21
Z77

ST_Transform 関数を使用する必要があります。また、関数 AddGeometryColumn を使用して新しい列を作成し、必要なすべての制約も作成されるようにします。

SELECT AddGeometryColumn('table','the_geom4258',4258, 'POLYGON', 2);

UPDATE table SET the_geom4258 = ST_Transform(the_geom,4258);

ST_SetSRID 投影識別子を設定するだけで、実際にはジオメトリを変換しません。

28
amercader