问题描述:
有一张表包含空间信息列geom
,它是地理坐标系(WGS84
),srid为4326,现在我不小心向其中插入了一批投影坐标系(CGCS2000)的数据,我要如何修正呢?
主要使用函数
ST_SetSRID(geom,srid)
该函数返回一个与输入几何体相同的几何体,只不过使用空间参考系统标识符 (SRID) 的输入值进行了更新。
就是说对几何体geom 设置了空间参考
ST_Transform(geom, srid)
ST_Transform 返回一个新的几何体,坐标在由输入空间参考系统标识符(SRID)定义的空间参考系统中转换。
看名字就知道是转换,将geom转换成指定空间参考下的几何体
解决步骤:
解决这个问题关键就是知道上面的两个函数,其他挺简单的
- 查询
CGCS2000 / 3-degree Gauss-Kruger CM 120E
的EPSG代码为4549 - 更新数据
UPDATE table_name SET geom=ST_TRANSFORM(ST_SETSRID(geom, 4549), 4326)
WHERE xxxxx