Аргумент в функции pgr_createTopology () как запрос - PullRequest
0 голосов
/ 28 июня 2018

Я использую pgrouting 2.1.0.

У меня есть пространственные и непространственные данные в другой таблице (в другой схеме). Здесь я создаю view, который содержит geom (заполнено), id (заполнено) источник (пусто) и цель (пусто).

Я пробовал pgr_createTopology() функцию, но на вид она работает, так как требует таблицы. Также пытался написать запрос в pgr_createtopology(), но не удалось. Может ли кто-нибудь предложить другой вариант.

Не могу объединить пространственные и непространственные данные.

1 Ответ

0 голосов
/ 13 сентября 2018

Прежде всего обновите вашу версию 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;
);
...