【问题标题】:How to create a NetworkX graph from a Geographic Markup Language file?如何从地理标记语言文件创建 NetworkX 图?
【发布时间】:2021-09-17 02:44:21
【问题描述】:

我希望在 NetworkX/OSMnx 中从我下载为地理标记语言 (GML) 文件的Ordinance Surveys' (OS') Open Roads dataset 创建一个道路网络图。经过了很长时间,感谢this answer,我意识到这种GML文件格式与NetworkX/OSMnx接受并具有内置功能的图形建模语言不同。

这些文件格式对我来说是全新的,所以我想问是否有任何方法可以将操作系统的 Open Road 数据(即 GML 格式)加载到 NetworkX/OSMnx 中,以便我可以对其进行一些网络分析?理想情况下,这将使用 Python。

另外,我已经设法直接使用 OSMnx 从 Open Street Maps 数据创建道路网络,但我想看看 OS Open Road 数据是否更完整。

【问题讨论】:

    标签: python networkx osmnx gml-geographic-markup-lan


    【解决方案1】:

    OSMnx 设计用于处理 OpenStreetMap 数据。如果您可以将输入数据转换为类似 OSM 的格式,则可以使用 graph_from_gdfs 函数加载它们。您将需要一层节点和一层边。然后步骤看起来像:

    1. 使用 ogr2ogr 将 GML 节点和边缘文件转换为 GeoPackage 层
    2. 使用 GeoPandas 作为 GeoDataFrames 加载节点和边缘 GeoPackage 层
    3. 确保这些 GeoDataFrame 具有 required 索引和列
    4. 使用 OSMnx 的 graph_from_gdfs 函数将 GeoDataFrames 转换为 NetworkX MultiDiGraph

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-30
      • 2014-07-19
      • 2018-09-15
      • 1970-01-01
      • 2019-07-04
      • 2015-01-24
      • 2022-10-20
      • 1970-01-01
      相关资源
      最近更新 更多