如何存储来自 cascaded_union 的坐标
How to store coordinates from cascaded_union
我有一个代码执行一组三角形的并集,在 python 中使用函数 cascaded_union()
匀称。
print cascaded_union(triangle)
当我打印它时,它给出了以下输出:-
POLYGON ((211 55, 0 0, 150 204, 185 216, 215 159, 224 132, 211 55))
如何将这些点存储在具有 x
和 y
坐标的二维数组中?
您是否特别需要将几何图形存储为二维数组?例如,是否可以选择使用 Well Known Text (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()
匀称。
print cascaded_union(triangle)
当我打印它时,它给出了以下输出:-
POLYGON ((211 55, 0 0, 150 204, 185 216, 215 159, 224 132, 211 55))
如何将这些点存储在具有 x
和 y
坐标的二维数组中?
您是否特别需要将几何图形存储为二维数组?例如,是否可以选择使用 Well Known Text (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)
您需要对多边形内的任何内部组件/孔重复此操作(如果存在)。