使用重分布顶点创建新节点

2024-07-05 10:09:29 发布

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

我正在研究交通网络环境下的图流模型。我有传感器的位置(lat/lon),并希望将这些传感器与使用osmnx检索的图形上的节点相关联

目前,我使用get_nearest_node将传感器映射到节点。然而,这并不是最优的,因为我任由制图师摆布——直线道路的节点会更少,因此平均位移(因此误差)会更高,即使在处理未简化的图形时也是如此。我曾经考虑过使用get_nearest_edge,但是我仍然需要编辑图形,以便在传感器的位置插入一个新节点

相反,我认为实现这一点的合理方法是对图形进行上采样(可能使用redistribute_vertices),应用get_nearest_node,然后重新简化图形,但不知何故,将现在与传感器关联的节点白名单列出来,以防止其被删除

然而,我不清楚如何从redistribute_vertices的输出转换为一个图——它返回一个LineStringMultiLineString而不是一个新的图

我在osmnx GitHub项目上看到了这个问题:https://github.com/gboeing/osmnx/issues/304,其中生成了一个GeoDataFrame,其中一个新列包含作为(MultiLineString的重新分发方式。但是,我不确定如何将这个新的gdf映射回一个图形——对应的node数据帧尚未更新,并且uv值在新的edges表中保持不变

任何提示(包括告诉我这是错误的,应该使用函数XYZ)都将非常感谢


Tags: 模型node图形get节点环境传感器lat