UpdateGeometrySRID — 更新幾何欄位中所有要素的 SRID,以及表格的 metadata。
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,同時更新 constraints 以及 geometry_columns 中的參考。如果欄位是由類型定義強制執行的,則會變更類型定義。注意:如果未提供 schema,則在感知 schema 的 pgsql 安裝上會使用 current_schema()。
此函數支援 3D,且不會刪除 z 索引。
此方法支援圓弧字串和曲線。
使用 EWKT 格式,將幾何圖形插入已設定 SRID 的 roads 表格中
COPY roads (geom) FROM STDIN; SRID=4326;LINESTRING(0 0, 10 10) SRID=4326;LINESTRING(10 10, 15 0) \.
這會將 roads 表格的 srid 從之前的值變更為 4326
SELECT UpdateGeometrySRID('roads','geom',4326);
先前的範例等同於此 DDL 陳述式
ALTER TABLE roads ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) USING ST_SetSRID(geom,4326);
如果在載入時投影錯誤(或以未知方式載入),而您想一次轉換為 Web 墨卡托投影,您可以使用 DDL 來完成,但沒有等效的 PostGIS 管理函數可以一次完成。
ALTER TABLE roads ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 3857) USING ST_Transform(ST_SetSRID(geom,4326),3857) ;