#1 楼
如果您使用的是PostGIS 2.0+,则可以:ALTER TABLE mytable
ALTER COLUMN geom
TYPE Geometry(Point, 32644)
USING ST_Transform(geom, 32644);
评论
当然,应注意将“点”替换为几何的实际几何类型。
– Paul Ramsey
2012年11月6日在18:15
有没有简单的方法可以将Point替换为原来的几何类型?
– Mohayemin
2015年1月11日下午4:01
不,不怕。
– Paul Ramsey
2015年1月13日在2:23
#2 楼
CREATE TABLE new_table AS
SELECT ST_Transform(the_geom,32644) AS the_geom
FROM original_table;
空间表中应该有一个整数ID字段,以便将其添加到QGIS。
评论
我如上所述尝试并成功,但即使将其显示在数据库中,也无法将结果表导出到qgis / udig中?
– Satya Chandra
2012年11月2日上午10:58
你到底是什么问题?
–弗拉基米尔
2012年11月2日,11:10
如果您使用的PostGIS版本早于2.0版,则需要在指向新表的Geometry_Columns表中添加一条记录。
–HeyOverThere
2012年11月2日14:57
#3 楼
请按照以下方式进行操作:如果您不能在第一行中创建新表,请尝试2和3.首先创建编号为1的表。 br />
评论
此解决方案不会重新投影几何形状。如果使用其他SRID存储几何,则更改约束后数据将不一致。您需要使用st_trasnform。
–天使
2012年11月12日8:52
评论
我将其添加为注释而不是答案,因为应该有一个更优雅的方法。但是您可以复制表,然后运行:UPDATE <表> SET the_geom = ST_Transform(the_geom,32644); (假设您在space_ref_sys中具有32644的完整条目。)我尝试但忘记了此错误更新abc SET geom = ST_Transform(geom,32644);关系“ abc”的新行违反了检查约束“ enforce_srid_geom”
取消该约束。及其固定的