Return 从具有边缘几何形状的简化图到原始 OSMnx 图

Return to original OSMnx graph from simplified graph with edge geometries

是否可以从简化图(保留了边缘几何形状)生成原始 OSMnx 图?

例如:

import osmnx as ox

place = 'Piedmont, California, USA'
G = ox.graph_from_place(place, network_type='drive', simplify=False)
G_simple = ox.simplify_graph(G)

G_simple 将 G 的原始边几何存储为简化边上的“几何”:

simple_nodes, simple_edges = ox.graph_to_gdfs(G_simple)
print(simple_edges.iloc[10].geometry)

# LINESTRING (-122.2429303 37.8205234, -122.2426591 37.8207235, -122.2424827 37.820899, -122.2421775 37.8212363, -122.2420372 37.8214758, -122.2420254 37.8215051, -122.2419343 37.8217305, -122.2418551 37.8218894, -122.2415415 37.8222826)

是否可以从简化图生成原始图G?我有很多简化的图表存储在磁盘上,但不幸的是无法重新生成未简化的图表,所以我需要找到一种方法来“简化”它们。

这是对 OSMnx 内置信息的 one-way 破坏。您可以尝试编写自己的脚本,但这并不简单。您必须识别每条边的每个几何体中的每个顶点,在那里创建一个新节点,然后在该顶点处将边分成两部分。