1

我正在使用 pgrouting 2.1.0。

我在不同的表中(在不同的模式中)有空间和非空间数据。在这里,我正在创建一个view包含 geom(填充)、id(填充)源(空白)和目标(空白)。

我已经尝试过pgr_createTopology()功能,但在视图中它正在运行,因为它需要表格。还尝试写入查询pgr_createtopology()但未成功。任何人都可以建议其他选择。

我无法合并空间和非空间数据。

4

1 回答 1

1

首先更新您的 pg_routing 版本,因为 pgr_createTopology() 不会在您的版本的视图上运行。我用过2.6.0。接下来,您必须创建空间和非空间数据的可编辑视图。这可以通过将规则应用于您的视图来完成。您可能希望通过运行 pgr_createTopology() 来更新源列和目标列,因此为您的视图创建如下规则。希望有效。

CREATE OR REPLACE RULE update_vv1 AS
    ON UPDATE TO view_schema_name.view_table_name
    DO INSTEAD
    ( 
    UPDATE schema_non_spatial_table.non_spatial_table_name SET source = new.source,   target = new.target
  WHERE non_spatail_table_name.id = old.id;
);
于 2018-09-13T08:57:04.667 回答