更新几何SRID — 更新几何图形列中所有要素的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中的约束和参照。如果列是由类型定义强制执行的,则类型定义将被更改。注:如果未提供模式,则在支持模式的pgsql安装上使用CURRENT_SCHEMA()。
This function supports 3d and will not drop the z-index.
This method supports Circular Strings and Curves
将几何插入到已使用SRID集的道路表中 EWKT格式 :
COPY roads (geom) FROM STDIN; SRID=4326;LINESTRING(0 0, 10 10) SRID=4326;LINESTRING(10 10, 15 0) \.
这将把sRid of the Roads表从以前的版本更改为4326:
SELECT UpdateGeometrySRID('roads','geom',4326);
前面的示例等同于下面的DDL语句:
ALTER TABLE roads ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) USING ST_SetSRID(geom,4326);
如果你在加载中搞错了投影(或者把它作为未知的东西带进来),你想一下子转换成网络墨卡托,你可以用DDL来完成,但是没有同等的PostGIS管理功能可以一口气做到这一点。
ALTER TABLE roads ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 3857) USING ST_Transform(ST_SetSRID(geom,4326),3857) ;