0

我希望从我作为地理标记语言 (GML) 文件下载的条例调查 (OS') 开放道路数据集在 NetworkX/OSMnx 中创建道路网络图。经过一段令人尴尬的时间后,由于这个答案,我意识到这种 GML 文件格式与 NetworkX/OSMnx 接受并具有内置功能的图形建模语言不同。

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

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

4

1 回答 1

1

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

  1. 使用 ogr2ogr 将 GML 节点和边缘文件转换为 GeoPackage 层
  2. 使用 GeoPandas 作为 GeoDataFrames 加载节点和边缘 GeoPackage 层
  3. 确保这些 GeoDataFrames 具有所需的索引和列
  4. 使用 OSMnx 的graph_from_gdfs函数将 GeoDataFrames 转换为 NetworkX MultiDiGraph
于 2021-07-07T16:34:33.340 回答