gpt4 book ai didi

python - 如何存储cascaded_union的坐标

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:07 30 4
gpt4 key购买 nike

我有一段代码,使用Python中shapely中的函数cascaded_union()来执行一组三角形的并集。

print cascaded_union(triangle)

当我打印它时,它会给出以下输出:-

POLYGON ((211 55, 0 0, 150 204, 185 216, 215 159, 224 132, 211 55))

如何将这些点存储在具有 xy 坐标的二维数组中?

最佳答案

您是否特别需要将几何图形存储为二维数组?例如,是否可以选择使用众所周知的文本(WKT)格式来存储几何图形,该格式可以通过 shapely 轻松生成,例如my_polygon.wkt,然后以文本或 CSV 格式存储此输出?您稍后可以使用 shapely 的 wkt.loads() 方法重新加载此几何图形。不过您也可以将 WKT 存储在键值存储中,例如 Redis。

如果首选二进制,您可以类似地使用 WKB 功能。但是,如果您打算做很多此类事情,那么请考虑使用成熟的 GIS 数据库,例如 PostGIS,它本身可以处理此类几何类型。

但是,如果您特别需要 2d 数组,那么您首先需要以 shapely 方式访问多边形的外部 LinearRing 组件,然后将其转换为 numpy 数组。换句话说:

from shapely import geometry
import numpy as np
my_poly = cascaded_union(triangle)
my_2d_array = np.array(my_poly.exterior)
print(my_2d_array)

您需要对多边形内的任何内部组件/孔(如果存在)重复此操作。

关于python - 如何存储cascaded_union的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35685798/

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