You need to enable JavaScript to run this app. 如何在ox.plot_graph绘制的OSMNx路网图上标注GPS坐标点
优惠活动
大模型
产品
解决方案
定价
更多

如何在ox.plot_graph绘制的OSMNx路网图上标注GPS坐标点

OSMNx路网图标注GPS坐标点解决方案

完全可以实现标注需求。ox.plot_graph 方法默认会返回matplotlib的fig(画布)和ax(坐标轴)对象,你直接基于ax对象添加散点标注即可,具体实现方法如下:

实现步骤

  • 导入依赖库,定义目标GPS坐标
  • 调用ox.graph_from_point获取目标区域路网
  • 调用ox.plot_graph时新增show=False、close=False参数,保留画布和坐标轴对象
  • 调用ax的scatter方法添加坐标点标注,调整样式确保显示在顶层

示例代码

import osmnx as ox
import matplotlib.pyplot as plt

# 目标GPS坐标,格式为 (纬度, 经度)
target_point = (39.6654413, 20.8586396)
lat, lon = target_point

# 按中心点获取1000米半径范围内的机动车路网,dist参数可按需调整
road_net = ox.graph_from_point(target_point, dist=1000, network_type='drive')

# 绘制路网,保留画布不自动关闭
fig, ax = ox.plot_graph(road_net, show=False, close=False)

# 标注目标GPS点,红色、尺寸100、层级10确保在路网上方显示
ax.scatter(lon, lat, c='red', s=100, zorder=10)

# 可选:添加点的文字标注
# ax.text(lon + 0.0002, lat + 0.0002, '目标坐标点', c='red', fontsize=12, zorder=10)

plt.show()

注意事项

  • scatter方法传入的坐标顺序为(经度, 纬度),和graph_from_point传入的坐标顺序相反,填反会导致点位置错误
  • 必须给ox.plot_graph加show=False和close=False参数,否则绘制完路网后画布会直接关闭,无法新增标注
  • zorder参数控制元素显示层级,数值越大越靠上,设置为10即可避免点被路网元素覆盖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 21:06:04