강가의 네트워크 shapefile을 가지고 있고 그것을 라우팅하기 위해 pgRouting 2.0을 사용합니다. 나는pgRouting 소스와 타겟의 수를 할당하십시오.
alter table tc_15000_w_area add column source integer;
alter table tc_15000_w_area add column target integer;
select pgr_createTopology('tc_15000_w_area', 0.0001, 'the_geom', 'gid');
내가 원하는 모든 라우팅 테이블이 소스/대상 및 대상에 대한 모든 소스에서 방향을 포함이다 강의 방향과 같은, 그것은 라우팅하기 위해 다음과 같은 SQL 코드를 사용합니다. 여기 회로도 사진,
보라색 라인은
빨간 점은 노드 (정점)이다 강
가요 빨간색 숫자는 노드의 숫자
모든 하천 구간은 그 출처 (노드)와 타깃을 가지고있다.
하지만 결과 테이블을 확인하면 노드 # 11이 항상 대상임을 알 수 있습니다. 이렇게하면 가장자리 중 하나 이상이 잘못된 방향 (흐름 방향)을 갖게됩니다.
는 pgRouting이 나는 서로 다른 공차를 사용했다?
무엇을 할 수 있는지? 그렇지 않다면, 흐름 방향과 동일을 대상으로 소스에서 방향을 소스 및 대상의 번호를 지정하고 만들 수 sql 코드와 같은 결과를 얻었지만 PostgreSQL 8.4에서 pgRouting 버전 1.x를 사용하여 동일한 결과를 얻었습니다.
모든 가장자리의 위치를 알고 있다면 흐름 방향에 따라 "원본 -> 대상"방향을 확인할 수 있습니다. 그래서 기본적인 문제는 꼭지점에 할당 된 pgRouting 수에 관한 것이 아니라 할당 된 꼭지점을 소스 (또는 타겟) pgRouting의 역할에 관한 것입니다. – Heinz
pgr_createtopology()를 사용하여 원하는대로 번호를 할당 할 수 있습니다. 당신이 찾고있는 것은 위에서 설명한 그래프 분석 알고리즘의 결과입니다. 단일 에지로 문제를 단순화 할 수 있습니다. 이 가장자리에 숫자를 어떻게 할당합니까? 어느 쪽이 소스이고 어느 쪽이 싱크/드레인입니까? –
게시물이이 문제를 해결 한 것 같습니다 (http : // dirkraffel).co.kr/2011/09/06/fixed-wrong-direction-of-segments-of-pgrouting-output/# comments 그러나 게시글의 코드가 drive_distance 함수에 의해 사용될 수 있는지 여부는 알 수 없습니다. 소스와 타겟의 수를 재 할당 하시겠습니까? – Heinz