如何在 4326 中为混合几何(多边形和多边形)投射几何类型? `::geometry(4326) as shape` 不起作用

问题描述 投票:0回答:1

我想更新几何定义以包含特定的 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

database postgresql gis postgis geography
1个回答
0
投票

如果

ql_cmd_cruise_layer_web.shape_wgs84
已经是几何体(但没有声明空间参考),则使用
ST_SetSRID(ql_cmd_cruise_layer_web.shape_wgs84, 4326)
。 (我什至不知道你目前正在做的是一种选择,所以
ST_SetSRID
似乎是规范的。)

© www.soinside.com 2019 - 2024. All rights reserved.