-1

我有 2 个代表道路的 shapefile,我们称它们为形状 A 和 B。每条道路都表示为线段。文件 B 几乎是另一个文件的超集,只有 A 的几条路没有表示出来。选择了一个段的文件 A(红色):

选择了一个段的文件 A(红色)

在这个超集文件 (B) 中,段更小。我可以说,对于 A 中的每个段,B 中都有一个或多个段。我相信 B 中没有一个段对应于 A 中的多个段。这是 shapefile B 选择了一个段(红色) :

选择了一个段的 Shapefile B(红色)

线坐标不准确,只是彼此非常接近。以下是所选线最左边的点的坐标:

Dot in file A: -42.92896076999995 , -22.77139965999993
Dot in file B: -43.217942900516830, -22.888565009926047

我正在使用geopandas

我将如何交叉引用这两个数据集?对于文件 B 中的每个线段,在文件 A 中找到相关的线段(如果存在)?

4

1 回答 1

0

这个问题似乎取决于您使用什么作为交叉引用的标准。例如,您必须首先决定是否假设每个分段相交的情况,或者是否将其定义为每个分段之间的最小距离。

无论如何,使用 geopandas 或 shapely 两者都不是一项艰巨的任务。将 A 的所有分割分割成单独的线串后,可以使用 geopandas 的叠加功能,找到与 B 的分割甚至轻微相交的出现。

您将必须决定是找到最短距离正交还是每个分段的起点和终点之间的最短距离。您可以使用 from shapely.ops import nearest_points 等。您可以使用 shapely 的所有功能来定位 geopandas 的几何形状。

于 2020-09-11T06:56:06.487 回答