2012-02-08 2 views
3

pgRouting에서 shortest_path() 구현이 어떻게 작동하는지 찾으려고합니다. pgrouting에서 최단 경로는 어떻게 작동합니까?

CREATE OR REPLACE FUNCTION shortest_path(sql text, source_id integer,target_id integer, directed boolean, has_reverse_cost boolean) 
RETURNS SETOF path_result AS '$libdir/librouting', 'shortest_path' 
    LANGUAGE c IMMUTABLE STRICT 
    COST 1 
    ROWS 1000; 
ALTER FUNCTION shortest_path(text, integer, integer, boolean, boolean) OWNER TO postgres; 

내 질문

은 다음과 같습니다 :

함수 정의입니다

  1. 어떻게이 .c 파일을 호출하고 그것의 매개 변수를 전달하는 방법 (나는 그것이 dijkstra.c 믿지 않습니다 파일, 맞습니까?)
  2. 어떻게 그 .c 파일을 가져 와서 어떻게 작동하는지 보려면 디버그 정보로 컴파일 할 수 있습니까?
+0

pgRouting을 사용하여 최단 경로를 계산하거나 코드 작동 방식을 이해하려고합니까? – underdark

+0

코드가 작동하는 방식을 이해하려고하는데 코드에서 더 큰 그림을 얻기 위해 .c 파일을 컴파일하는 방법을 알고 싶습니다. –

+0

정말 어떻게 작동하는지 알고 싶습니다. 누군가 나를 도와주세요. .. –

답변

1

dijkstra.c의 경우 the source입니다. 이 코드를 읽으면 함수가 수행중인 작업을 볼 수 있습니다. 당신이 게시 한 SQL은 네이티브 C 함수에 대한 바인딩을 보여줍니다.

+0

깨진 링크, 업데이트? –

+1

직접 링크가 업데이트되었으며 프로젝트의 최상위 링크 : https://github.com/pgRouting/pgrouting – cope360