我正面臨一個子問題,我得到了我的城市的數據庫(包括postgis,pgrouting)。
我需要建立從A點到B點的路徑/路線。如果此路徑長於xx公里,那麼此路徑必須訪問給定「停止點」(讓我們稱之爲C)之一。如果從C到B的路徑長於xx公里,那麼我們必須訪問C和B之間的一個更多的中間「停止點」。pgrouting/postgis - 搜索中間點的算法
0
A
回答
1
這聽起來像一個像這樣的僞代碼循環,我會轉換它到PLPGSQL存儲過程:
A = start
S = stop
B = S
while true {
r = getRoute(A, B)
if length(r) > limit then
B = selectIntermediatepoint(A, B)
else if B == S then
break
else
A = B
B = S
}
+0
謝謝,我有一些共同的想法,但重點是我不知道如何找到中間點(selectIntermediatepoint(A,B))。 – user3613919
+0
你有什麼要求選擇一箇中間點?你爲什麼需要這個中間點?你能計算完整的路線,然後將其細分爲多個部分?或者選擇一個剛剛超出限制的節點。這將增加路線的計算時間。 –
相關問題
- 1. 搜索最佳點搜索算法
- 2. SPARQL中的搜索算法?
- 3. 搜索算法
- 4. 搜索算法
- 5. 3維跳點搜索算法
- 6. 日誌庫3時間搜索算法
- 7. 在樹中搜索算法
- 8. .net搜索算法?
- 9. 圖搜索算法
- 10. 搜索算法 - Java
- 11. 跳搜索算法
- 12. 最快的搜索算法
- 13. Pacman的搜索算法
- 14. 計算峯值搜索算法(2D)的時間複雜度
- 15. O(n)中的2鍵搜索算法
- 16. Java中的字符串搜索算法
- 17. 如何避免遺傳算法中的無效搜索空間?
- 18. 空間搜索到多點
- 19. A *搜索算法卡住
- 20. 最大搜索算法
- 21. 鄰居搜索算法
- 22. 工作搜索算法
- 23. 多搜索過濾算法
- 24. 桌面搜索算法
- 25. 並行搜索算法
- 26. Python三元搜索算法
- 27. 四元搜索算法
- 28. 字符串搜索算法
- 29. 關鍵字搜索算法
- 30. 實現A *搜索算法
在未來,請不要交叉張貼問題(https://gis.stackexchange.com/questions/241829/function-algorithm-to-find-intermediate-points-if -path-是太長)。有關更多信息,請參閱[這裏](http://meta.stackexchange.com/q/64068)。 – Matt