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

使用osmnx.speed.add_edge_speeds时同类型道路speed_kph值不一致问题

问题原因分析
  • 函数逻辑误解:add_edge_speeds的实际逻辑并非给所有同道路类型的边统一赋值该类型的平均maxspeed,而是分两步处理:

    1. 对已经带有maxspeed标签的边,直接保留其解析后的速度值(OSM中的maxspeed可能是单个数值、范围值或分时段值,函数会自动解析为标准数值)
    2. 仅对没有maxspeed标签的边,才用该道路类型下所有有maxspeed边的平均值进行填充
  • 你的数据特性:洛杉矶县的motorway路段在OSM中大多已标注了实际限速值(不同路段限速可能不同),这些边的speed_kph会直接使用自身的限速数据;只有少数缺失maxspeed标签的边才会被填充为该类型的平均速度(也就是你计算出的101.6),因此会出现同属motorway但速度值存在差异的情况。

  • 验证方法:你可以通过以下代码查看maxspeed标签的存在与否和speed_kph的对应关系,直观确认差异来源:

    # 标记是否有maxspeed标签
    gdf_edges['has_maxspeed'] = gdf_edges['maxspeed'].notna()
    # 分组查看不同情况下的平均速度
    print(gdf_edges.groupby(['highway', 'has_maxspeed'])['speed_kph'].mean().round(1))
    

另外注意:你代码最后一行df = df[['u','v','ref','highway','speed_kph']][1:1]是取空数据集(左闭右开的切片1:1不包含任何行),若要查看多行数据,应改为[1:]。

内容的提问来源于stack exchange,提问作者Z. G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:14:56