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

R语言伦敦萨瑟克区路网分析输出距离全为0该如何解决?

问题核心原因

weight_streetnet()函数匹配道路权重时,发现输入的southwark_roads_edges数据中存在highway字段为NA的要素,这类要素没有对应到步行权重配置的规则中,函数对这类边默认赋值权重/距离为0,后续路径计算会优先选择0成本的边,最终导致所有输出距离均为0。

排查步骤
  • 验证NA值规模:运行table(is.na(southwark_roads_edges$highway)),查看highway字段为空的要素数量
  • 核查NA要素属性:运行View(southwark_roads_edges[is.na(southwark_roads_edges$highway),]),判断这类要素是否属于你需要纳入分析的路网范围
解决方法

根据你的分析需求选择以下任意一种方案即可:

方案1:剔除NA要素(适用不需要无分类道路的场景)

构建路网前先过滤掉highway字段为空的边:

# 清理无分类道路
southwark_roads_edges_clean <- southwark_roads_edges[!is.na(southwark_roads_edges$highway), ]
# 显式指定步行权重配置构建路网
southwark_graph <- weight_streetnet(southwark_roads_edges_clean, wt_profile = "foot")

方案2:为NA要素指定分类(适用需要保留无分类道路的场景)

统一给highway为空的要素赋值为匹配步行场景的道路类型(比如footway):

# 替换NA值为合理的道路类型
southwark_roads_edges$highway[is.na(southwark_roads_edges$highway)] <- "footway"
# 构建路网
southwark_graph <- weight_streetnet(southwark_roads_edges, wt_profile = "foot")

注意:调用weight_streetnet()时建议显式指定wt_profile参数,避免默认权重配置不符合你的测算场景。

内容的提问来源于stack exchange,提问作者hussain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:45:06