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

Python OSMNX如何根据坐标获取节点ID 替代已废弃的get_nearest_node方法

OSMnx弃用get_nearest_node后的替代方案

OSMnx 1.0及以上版本已正式弃用ox.get_nearest_node()方法,官方推荐使用ox.nearest_nodes()作为替代,该方法支持单坐标/批量坐标查询,也适配你当前使用的非精确平均坐标场景。

调整后的可运行代码

import osmnx as ox

lugar = 'Provincia de Santiago, Chile'
city = ox.graph_from_place(lugar)
# 参数顺序:路网对象、经度、纬度,与旧方法顺序相反
nearest_osm_node_id = ox.nearest_nodes(city, -70.74213872499999, -33.411204874999996)
print(nearest_osm_node_id)

额外使用提示

  • 新旧方法坐标传参顺序相反:旧方法get_nearest_node是先传纬度再传经度,新方法nearest_nodes是先传经度再传纬度,注意不要搞混导致结果偏差
  • 如果需要评估坐标和匹配节点的距离误差,可调用ox.distance.nearest_nodes并设置return_dist=True,会同时返回节点ID和坐标与节点的距离(单位:米),方便你验证平均坐标的匹配精度
  • 如果业务场景不需要匹配到节点,而是需要匹配到具体道路边,可改用ox.nearest_edges()方法获取最近的OSM边ID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:39:00