在 python 中结合网络几何和拓扑

Combine network geometry and topology in python

首先,我将描述我想要实现的主要目标。我有一个空间数据集(多边形形状文件),我需要对其进行三角剖分,创建 三角剖分并在对偶图上应用一些算法,如 A* 和深度优先搜索。

我在 GIS 软件 (FME) 中创建了三角测量,我想在 python 中处理它以获得对偶图并应用上述算法。

我的问题是如何维护三角剖分的几何形状和拓扑结构以便用 python 处理它。在这里你可以找到我的多边形三角化部分的截图 polygon_triangulation_image

您可以在 Quad edge datastrucutre 中实现它。这代表了图形及其对偶,也代表了它所在位置的每个顶点。但是我实际上不确定 python 中是否存在针对此的包,或者您是否需要自己实现它。

我想出了一个可能的解决方案。我使用了库 tri which takes as input a shapefile and writes the triangulation output in a wkt file along with the adjacency information for each triangle. The data structure used for storing the adjacensy is the one specified by CGAL。 tri 库的结果比 scipy Delaunay 效果更好,因为它也将多边形的边缘作为约束。 Tri 目前与 Python 2.

合作