You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pgrouting路由方法无法返回最短路径问题排查求助

pgrouting返回异常最短路径排查步骤
  • 校验成本字段赋值逻辑
    你提到已将cost与reverse_cost赋值为距离,先执行抽查命令确认字段值量级一致:
SELECT id, km, cost, reverse_cost FROM hh_2po_4pgr LIMIT 10;

osm2po默认生成的km为公里单位,若你误赋值为米级数值或是未处理单向道路的反向成本(单向道路的reverse_cost需设为无穷大而非实际距离),会直接导致成本计算逻辑错乱,出现舍近求远的问题。

  • 校验节点连通性
    pgr_analyzeGraph仅验证全局拓扑合法性,不代表指定两个节点属于同一连通子图,执行如下查询确认连通性:
SELECT * FROM pgr_connectedComponents(
  'SELECT id, source, target, cost FROM hh_2po_4pgr'
) WHERE node IN (232516, 213104);

若两个节点返回的component值不同,说明二者无直接连通路径,pgrouting会搜索全局连通路径,才会返回超长的异常结果。该问题通常是osm2po导入时的过滤规则导致,比如默认仅保留机动车道,而你选的起止点之间只有非机动车道连通。

  • 校验路由函数参数
    你调用pgr_astar时第4个参数为FALSE,代表启用单向通行规则。可先将该参数改为TRUE测试双向通行的结果,若结果恢复正常,说明你之前的reverse_cost字段赋值不符合单向道路的规则。

  • 校验坐标投影精度
    你的路网使用EPSG:4326经纬度坐标系,若成本是直接基于经纬度计算的欧氏距离,会存在距离计算误差。建议将路网投影到下萨克森本地的平面坐标系(如EPSG:25832)后重新计算距离成本,避免距离失真。

内容的提问来源于stack exchange,提问作者Sören Mehlhop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:36:05