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

如何在OSMnx图中添加街道为节点?是否有对应提取方法?

OSMnx街道节点化提取相关疑问

我理解,osmnx的graph_from_address方法生成的图中,node指两条或多条街道的交叉口,而edge指连接两个(或多个)交叉口的单条街道。根据参考文献[1]中的图,该方法生成的似乎是图1(b)(轴线图),而非同一参考文献中图1(c)定义的连通性图(其中街道作为节点而非边)。请问是否存在osmnx方法可提取街道作为节点而非边?
[1] Bin Jiang (2009) Ranking spaces for predicting human movement in an urban environment, International Journal of Geographical Information Science, 23:7, 823-837, DOI:10.1080/13658810802022822
附:我在文档中未找到类似功能的内容

解答

  • OSMnx没有直接提供将街道作为节点、交叉口作为边的内置方法,它默认的图结构就是以交叉口为节点、街道路段为边构建的,对应你提到的轴线图类型。
  • 要实现街道作为节点的连通性图,需要自行转换图结构,步骤如下:
    1. 用OSMnx提取原始路网(比如graph_from_address或graph_from_place),提取每条街道的标识属性(如name、osmid);
    2. 将每个街道作为新图的节点,同时记录每条街道连接的交叉口集合;
    3. 判断街道间是否通过交叉口直接连通,若连通则在对应的街道节点间创建边,以此搭建连通性图。
  • 转换时可以用OSMnx的gdf_from_graph方法把路网转为GeoDataFrame,便于处理街道的空间和属性信息,再结合networkx的图操作功能完成新图构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:02:06