将大型OSM文件与OSMnx一起使用

2024-03-29 08:50:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在处理一个包含坐标的大型数据集,我想验证数据的质量

df包含来自欧洲各地的坐标。为了验证质量,我想计算到最近道路的偏差,因为数据是从车辆发送的

到目前为止,我所做的是下载europe.osm文件,并将其清理为仅包含道路。过滤后的osm文件大约为2GB。(使用OSM过滤器)

接下来,我想使用osmnx从该文件创建一个图形:

import osmnx
import os

G = osmnx.graph.graph_from_xml('../europe-roads.osm', simplify=True, retain_all=False)

这是我的第一个问题。osmnx似乎无法处理如此大小的文件。它仅适用于较小的文件(城市)

最后我想做的是使用get_nearest_edge()函数计算到最近边的距离

orig_edge = osmnx.distance.get_nearest_edge(G, (52.393214, 13.133295),return_geom=False, return_dist=True)

我现在的想法是删除osm文件中的所有节点,从而将其大小降低到大约一半(因为我只需要边缘)。但是,我无法从osm文件中删除节点来创建图形

有什么办法解决这个问题吗

最后,重要的是,我有一个解决方案,可以从欧洲各地的坐标测量到最近道路的距离


Tags: 文件数据importfalsetrue图形getosm