0

我面临一个子问题,在那里我获得了我所在城市的数据库(带有 postgis,pgrouting)。
我需要创建一条从 A 点到 B 点的路径/路线。如果这条路径超过 xx 公里,那么这条路径必须访问给定的“停止点”之一(我们称之为 C)。如果从 C 到 B 的路径长于 xx 公里,那么我们必须在 C 和 B 之间的某个地方再访问一个中间“停止点”等。

4

1 回答 1

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
} 
于 2017-05-27T00:43:01.857 回答