def triangulate_polygon(geometry: Union[Polygon, MultiPolygon], keep_holes=False):
if isinstance(geometry, Polygon):
return _triangulate_polygon(geometry, keep_holes=keep_holes)
vertices = deque()
faces = deque()
offset = 0
for polygon in geometry.geoms:
new_vertices, new_faces = _triangulate_polygon(polygon, keep_holes=keep_holes)
vertices.append(new_vertices)
faces.append(new_faces+offset if offset else new_faces)
offset += len(new_vertices)
return np.vstack(vertices), np.vstack(faces)
评论列表
文章目录