gpt4 book ai didi

python - 如何获得复杂形状多边形的中心线

转载 作者:行者123 更新时间:2023-12-04 12:58:33 25 4
gpt4 key购买 nike

给定多边形的坐标,我想编写一个函数,返回该多边形的中心线坐标。
中心线实际上是一条折线。
This image explains my question more clearly

最佳答案

您可以尝试使用 centerline图书馆。支持multipolygonscomplex polygons作为输入(基本上是 shapely 支持的任何输入),并输出 Centerline对象是 MultiLineString s .
根据您的描述,您应该创建一个 PolygonMultiPolygon对象 shapely使用给定的点作为输入,并将(多)多边形对象作为输入传递给 Centerline类(class)。一旦您拥有 Centerline对象,您可以执行您将在 MultiLineString 上执行的任何操作目的。 README.md 中提供了一个示例文件:

>>> from shapely.geometry import Polygon
>>> from centerline.geometry import Centerline

>>> polygon = Polygon([[0, 0], [0, 4], [4, 4], [4, 0]])
>>> attributes = {"id": 1, "name": "polygon", "valid": True}

>>> centerline = Centerline(polygon, **attributes)
>>> centerline.id == 1
True
>>> centerline.name
'polygon'
>>> centerline.geoms
<shapely.geometry.base.GeometrySequence object at 0x7f7d24116210>
还有一个用于转换文件的命令行脚本。如果 GDAL/OGR 支持该文件,脚本应该能够转换它。

关于python - 如何获得复杂形状多边形的中心线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62645727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com