如何在Postgis中更改SRID

时间:2015-11-28 10:09:35

标签: postgresql postgis

我在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。

1 个答案:

答案 0 :(得分:0)

请仔细阅读错误消息:您无法更改表geom上的列ponds_data,因为视图vw_select_location取决于它。

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

\d+ vw_select_location

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