2012-11-08 53 views
0

我正在開發一個需要某些城市的路由信息​​的應用程序。首先,我下載了一個openstreetmap數據文件(* .osm),然後使用osm2pgrouting工具(http://workshop.pgrouting.org/chapters/installation.html)將它導入到postgreSQL數據庫中。 在此之後,我有以下表格:使用pgrouting創建一致的拓撲

  • 節點:包含簡單的位置點
  • 方式:包含一些節點的方式參與
  • vertices_tmp:存儲了可用於pgrouting功能,如節點Djistra,A *等等。

我會使用不在「vertices_tmp」表中的節點來計算節點之間的距離嗎?或者我只會用存儲在「vertices_tmp」中的節點來做到這一點?

在方法表中有一個名爲「the_geom」的字段封裝了不同的位置點(節點)。例如:

"MULTILINESTRING((1.5897786 42.5600441,1.5898376 42.5601455,1.589992 42.5605438,1.590095 42.5606795,1.5901782 42.5608026,1.5902238 42.561018,1.5902912 42.5616808,1.5903685 42.561899,1.5904008 42.5620563,1.5903836 42.5624117,1.5904265 42.5627151,1.5904947 42.5628368,1.5905981 42.5629553,1.5906926 42.5631007,1.590802 42.5633238,1.5908604 42.5634883,1.5909501 42.5637139,1.5910869 42.5638755,1.5913053 42.5639639,1.5914994 42.5640237,1.591648 42.5640261,1.5919232 42.5640145,1.5921124 42.5640363,1.5923292 42.5640953,1.592804 42.5643306))"

我可以與中間節點或僅與源/目標節點路由?

我的目標是能夠在不同節點或興趣點之間的路由,這取決於它的舒適性標籤,不僅行駛距離,步行距離太遠。此外,我需要計算源/目標節點的最短路徑。

任何想法做到這一點?

回答

1

不能使用節點表的元素。

如果你想計劃從一個POI的路線到另一個,首先你要找到基於所選算法上最近的頂點/邊(流星需要的邊緣時,其他人使用頂點)。 之後,你可以讓路由,隨便挑一個算法從THIS SITE

你會發現有關於不同的路由解決方案一個很好的教程和一些幫助的詳細用法(包括如何確定最接近的方式)。