UpdateGeometrySRID — ジオメトリカラム内の全ての地物のSRIDを更新し、テーブルのメタデータを更新します。
text UpdateGeometrySRID(
varchar table_name, varchar column_name, integer srid)
;
text UpdateGeometrySRID(
varchar schema_name, varchar table_name, varchar column_name, integer srid)
;
text UpdateGeometrySRID(
varchar catalog_name, varchar schema_name, varchar table_name, varchar column_name, integer srid)
;
ジオメトリカラム内の全ての地物のSRIDを更新し、制約を更新し、geometry_columnsの参照を更新します。カラムが型定義で強制されているなら、型定義は変更されます。ご注意: スキーマ対応版PostgreSQLでは、スキーマが提供されていない場合には、current_schema()を使用します。
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
ジオメトリを、EWKT書式を使って、SRIDを持つ道路テーブルに挿入します。
COPY roads (geom) FROM STDIN; SRID=4326;LINESTRING(0 0, 10 10) SRID=4326;LINESTRING(10 10, 15 0) \.
これにより道路テーブルが、以前がどんなSRIDであっても、4326に変更されます。
SELECT UpdateGeometrySRID('roads','geom',4326);
上述の例と、次のDDL手続き (訳注: DDLはData Definition Languageの略で、データ構造の操作を行う言語を指し、この場合は CREATE TABLEやALTER TABLE等が該当します)とは同じです。
ALTER TABLE roads ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) USING ST_SetSRID(geom,4326);
ロードしたデータの変換座標系が誤りである (またはunknownになっている)けれどもWebメルカトルに一度の処理で変換したい場合、DDLで実行可能ですが、PostGIS管理関数では一度の処理ですむ等価なものはありません。
ALTER TABLE roads ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 3857) USING ST_Transform(ST_SetSRID(geom,4326),3857) ;