一 路徑分析—QGIS+PostgreSQL+PostGIS+pgRouting( 二 )

傳入的參數:
1、Edges SQL
a、id,創建拓撲的標識,名稱不同用 as
b、source,邊起點標識符 , 拓撲后添加的字段
c、target,邊終點標識符,拓撲后添加的字段
d、cost,邊權重(長度)
e、reverse_cost,回程權重
2、start vid:路徑起始點標識
3、end vid:路徑終點標識
4、directed:ture 時 , 圖被認為是有向的
返回參數:
1、seq:查詢結果排序值
2、path_seq:一個路徑下的排序值,新的路徑重新從1開始
3、start_vid:多對一、多對,有這個字段,路徑的起始點標識
4、end_vid:一對多、多對多,有這個字段,路徑的終點標識
5、node:路徑中個個邊連接點的標識(上一個邊的 end,下一個邊的 start)
6、edge:路徑中邊的標識
7、cost:當前邊的成本(長度)
8、reverse_cost:總成本(總長度)
根據上面的具體使用:
-- 最短路徑分析-- 直接使用,返回的是算法默認數據SELECT * frompublic.pgr_dijkstra('SELECTid,source::integer,target::integer,length::double precision AS cost,reverse_costFROM roads',1,20,false);-- edge 是創建拓撲時的 id 標識字段,所以可以通過這個在 roads 中篩選,并通過數據庫自帶的可視化查看結果SELECT * from roads where "id" in(SELECT edge frompublic.pgr_dijkstra('SELECTid,source::integer,target::integer,length::double precision AS cost,reverse_costFROM roads',1,20,false));第二個SQL效果如下:

一 路徑分析—QGIS+PostgreSQL+PostGIS+pgRouting

文章插圖

推薦閱讀