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

OSMnx中ox.extended_stats已弃用,如何计算对应网络分析统计指标?

解决OSMnx ox.extended_stats 弃用问题的两种方案

一、使用当前OSMnx版本的替代函数(推荐)

OSMnx 1.0+ 版本把extended_stats的功能拆分到了多个更细分的函数里,不用依赖旧版本就能实现所有统计指标:

  • 基础拓扑统计(节点数、边数、平均度等):用ox.basic_stats()
  • 中心性指标(介数、接近度等):用ox.betweenness_centrality()、ox.closeness_centrality()
  • 其他扩展指标(比如循环比例、平均路径长度):可以通过basic_stats的结果结合简单计算得到,或者调用ox.stats模块下的对应函数

给你一个新手友好的代码示例:

# 导入OSMnx
import osmnx as ox

# 下载某区域的路网(比如纽约曼哈顿)
G = ox.graph_from_place("Manhattan, New York, USA", network_type="drive")

# 计算基础拓扑统计
basic_stats = ox.basic_stats(G)
print("基础统计:", basic_stats)

# 计算介数中心性(保留前10个节点)
betweenness = ox.betweenness_centrality(G, top_n=10)
print("介数中心性Top10:", betweenness)

# 计算平均路径长度
avg_path_length = basic_stats["avg_edge_length"] * basic_stats["avg_street_length"]
print("平均路径长度:", avg_path_length)

如果需要原extended_stats里的特定指标,直接查OSMnx官方文档的stats模块,大部分都有单独的实现函数。

二、安装旧版本OSMnx(仅当替代方案无法满足时)

如果你一定要用ox.extended_stats,可以安装还保留该函数的旧版本(比如0.16.0版本,这是最后包含该函数的稳定版本之一):

  1. 打开终端(Windows用命令提示符,Mac/Linux用终端)
  2. 先卸载当前版本(如果已安装):
pip uninstall osmnx -y
  1. 安装指定旧版本:
pip install osmnx==0.16.0
  1. 验证安装并使用:
import osmnx as ox

# 下载路网
G = ox.graph_from_place("Beijing, China", network_type="bike")

# 调用extended_stats
extended_stats = ox.extended_stats(G)
print("扩展统计指标:", extended_stats)

注意:旧版本可能存在兼容性问题(比如和最新版的geopandas、networkx不兼容),如果安装时出现报错,可能需要同时指定依赖库的旧版本,比如:

pip install osmnx==0.16.0 networkx==2.5 geopandas==0.9.0

内容的提问来源于stack exchange,提问作者Rushikesh Desai- Amrut

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:52:41