微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从地理标记语言文件创建 NetworkX 图?

如何解决如何从地理标记语言文件创建 NetworkX 图?

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

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

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

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。