【问题标题】:How to change SRID of geometry column?如何更改几何列的 SRID?
【发布时间】:2011-03-02 01:28:15
【问题描述】:

我有一个表,其中一列是几何列the_geom,用于具有 SRID 的多边形。我在同一张表中添加了一个新列,其几何数据与the_geom 完全相同。

这个新列的名称为the_geom4258,因为我想将其 SRID 设置为 4258。将几何图形的 SRID 更改为另一个坐标系的过程是什么?应用以下查询是否足够:

UPDATE table SET the_geom4258=ST_SetSRID(the_geom4258,4258);

【问题讨论】:

    标签: postgresql postgis


    【解决方案1】:

    您应该使用ST_Transform 函数。还可以使用函数AddGeometryColumn 创建新列,以确保同时创建所有必要的约束:

    SELECT AddGeometryColumn('table','the_geom4258',4258, 'POLYGON', 2);
    
    UPDATE table SET the_geom4258 = ST_Transform(the_geom,4258);
    

    ST_SetSRID 只是设置投影标识符,但实际上并不转换几何图形。

    【讨论】:

    • 您的回答正是我所需要的。所以非常感谢你。只有一件小事,现在我得到了错误:“错误:AddToPROJ4SRSCache:无法解析 proj4 字符串:'+proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.999900 +x_0=500000 +y_0=0 + ellps=GRS80 +datum=ETRS89 +units=m +no_defs': unknown elliptical parameter name" 任何线索我现在应该更正什么?
    • 确保数据库的 spatial_ref_sys 表中有 srid 4258 的记录。如果有记录,请检查投影参数是否与此处的参数匹配:spatialreference.org/ref/epsg/4258/postgis
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多