我想更新几何定义以包含特定的 SRID
CREATE MATERIALIZED VIEW published.ql_cmd_cruise_layer_web
TABLESPACE pg_default
AS SELECT ql_cmd_cruise_layer_web.cruise_id,
ql_cmd_cruise_layer_web.cruise,
ql_cmd_cruise_layer_web.shape_wgs84::geometry(4326) AS shape_wgs84,
ql_cmd_cruise_layer_web.cruise_data_url
FROM oracle_fdw.ql_cmd_cruise_layer_web
WITH DATA;
geom 列同时包含多边形和多边形,所以我不能做
::geometry(Poygon,4326)
在其他更简单的表上工作。
使用
::geometry(4326)
结果为 SQL Error [22023]: ERROR: Invalid geometry type modifier: 4326 Position: 1094
如果
ql_cmd_cruise_layer_web.shape_wgs84
已经是几何体(但没有声明空间参考),则使用ST_SetSRID(ql_cmd_cruise_layer_web.shape_wgs84, 4326)
。 (我什至不知道你目前正在做的是一种选择,所以ST_SetSRID
似乎是规范的。)