【问题标题】:How to change SRID in Postgis如何在 Postgis 中更改 SRID
【发布时间】:2015-11-28 10:09:35
【问题描述】:

我对 Postgis 和 Postgresql 都很熟悉。 我想更改表中的 geom 列以更改 SRID,但收到此错误:

cannot alter type of a column used by a view or rule
DETAIL:  rule _RETURN on view vw_select_location depends on column "geom"
CONTEXT:  SQL statement "ALTER TABLE public.ponds_data ALTER COLUMN geom TYPE  geometry(PointZM, 4210) USING ST_SetSRID(geom,4210);"
PL/pgSQL function updategeometrysrid(character varying,character varying,character varying,character varying,integer) line 81 at EXECUTE statement
SQL statement "SELECT UpdateGeometrySRID('','',$1,$2,$3)"
PL/pgSQL function updategeometrysrid(character varying,character varying,integer) line 5 at SQL statement. 

请帮忙。我想将参考坐标系更改为 arc 1960。

【问题讨论】:

    标签: postgresql postgis


    【解决方案1】:

    仔细阅读错误信息:您不能更改表ponds_data 上的列geom,因为视图vw_select_location 依赖于它。

    解决方案:首先将视图定义保存在文件中。您可以在 pgadmin 或 psql 中找到视图的定义。在 psql 中使用命令

    \d+ vw_select_location
    

    然后删除视图,更改列并使用您之前保存的 sql 语句重新创建视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-05
      • 2014-03-23
      • 2014-05-28
      • 1970-01-01
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      相关资源
      最近更新 更多