我正面臨一個子問題,我得到了我的城市的數據庫(包括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. 跳搜索算法
- 9. SQLAlchemy搜索算法
- 10. MySQL搜索算法
- 11. .net搜索算法?
- 12. 搜索算法 - Java
- 13. 搜索中的散列算法用法
- 14. 最快的搜索算法
- 15. Java的搜索算法
- 16. Pacman的搜索算法
- 17. 計算峯值搜索算法(2D)的時間複雜度
- 18. Java中的字符串搜索算法
- 19. n-ary樹中的搜索算法
- 20. O(n)中的2鍵搜索算法
- 21. Java中的搜索引擎算法?
- 22. 如何避免遺傳算法中的無效搜索空間?
- 23. 空間搜索到多點
- 24. C++線性搜索算法
- 25. 搜索算法導致StackOverFlowError
- 26. A *搜索算法卡住
- 27. 實現A *搜索算法
- 28. 3D對稱搜索算法
- 29. 修改prestashops搜索算法
- 30. 使用A *搜索算法
在未來,請不要交叉張貼問題(https://gis.stackexchange.com/questions/241829/function-algorithm-to-find-intermediate-points-if -path-是太長)。有關更多信息,請參閱[這裏](http://meta.stackexchange.com/q/64068)。 – Matt