我有一个代码,它在python中使用函数cascaded_union()
执行一组三角形的并集。
print cascaded_union(triangle)
当我打印它时,它给出以下输出: -
POLYGON ((211 55, 0 0, 150 204, 185 216, 215 159, 224 132, 211 55))
如何将这些点存储在具有x
和y
坐标的二维数组中?
答案 0 :(得分:1)
您是否特别需要将几何图形存储为二维数组?例如,是否可以使用标准文本(WKT)格式存储几何图形,该格式可以通过形状容易地生成,例如: my_polygon.wkt
,然后以文本或CSV格式存储此输出?您可以稍后使用shapely的wkt.loads()
方法重新加载此几何体。虽然您也可以将WKT存储在Redis等键值存储中。
如果首选二进制文件,则可以类似地使用WKB功能。但是如果你要做很多这样的事情,那就考虑使用一个完整的GIS数据库,比如PostGIS,它可以原生地使用这些几何类型。
但是,如果您特别需要2d数组,那么首先需要以形状方式访问多边形的外部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)
如果存在,您需要对多边形内的任何内部组件/孔重复此操作。