繁体   English   中英

pgr_astar和可能的边缘(例如,锁着的门)

[英]pgr_astar and impossible edges (e.g., locked doors)

我正在将postgresql / PostGIS与灌浆一起使用,我需要计算最短路径。 在先前的pgrouting版本中,我使用的是shortest_path_astar。 在我的路线图中,我有不可能的部分,例如上锁的门。 我用了:

SELECT id FROM shortest_path_astar('SELECT edge_id AS id, vertex_id1 AS source, vertex_id2 AS target, ' || '(CASE WHEN door = ''S'' THEN -1.0  ELSE  (length)  )  END)::float8 AS cost, ' || '(CASE WHEN door_rev = ''S'' THEN -1.0  ELSE  (length)  )  END )::float8 AS reverse_cost, ' || 'x1, y1, x2, y2 FROM edges', origin_node, destination_node, TRUE, TRUE)

基本上:当门关闭时(door =“ S”),我将成本固定为-1。 在该功能的新版本pgr_astar之前,它都可以正常工作。 使用pgr_astar而不是shortest_path_astar,此查询会使服务器崩溃。

如何更改功能以避免崩溃?

您能否在问题跟踪器中发布一个重现此崩溃的简单测试用例: https : //github.com/pgRouting/pgrouting/issues

费用:-1应该工作应该工作。

我终于使用了pgr_bdAstar,双向A *最短路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM