0

我正在尝试解决一个常见问题,即铁路路线,因此实施了几个转弯限制,例如:“不能通过节点 c 从边缘 A 到边缘 B”

火车不能做急转弯和其他事情,所以我现在拥有的是我不想在最短路径结果中呈现的源边和目标边的列表。问题是 pgr_trsp 现在的工作方式,我们有加权限制,这并不理想,因为这些转弯永远不会发生,不是基于它们的权重,而是一个简单的事实,即火车不可能像那样机动,在正常情况和速度。

我的问题是,是否有可能忽略重量而只是检查是否允许转弯?我是否遗漏了文档中的某些内容或任何指定该内容的属性?

pgr_trsp(
    sql text,
    source_eid integer,
    source_pos double precision,
    target_eid integer,
    target_pos double precision,
    directed boolean,
    has_reverse_cost boolean,
    turn_restrict_sql text DEFAULT NULL::text)

也许将权重设置为某个特定/神奇的值?

预期结果是,如果没有与有效机动相交的有效路径,则不应有输出。

4

1 回答 1

1

我不确定这是否已实施。尝试将成本设置为 -1,看看是否可行。

否则,您所能做的就是将成本设置为一个非常高的数字,这将迫使它找到成本更低的替代路线。然后您将需要检查结果,如果包含高成本转弯,那么您需要意识到如果不采取不可能的转弯,所请求的路线是不可能的,因此将其视为未找到路线。

于 2015-11-14T16:08:39.933 回答