ST_PixelAsPolygons rasterio

3

有没有类似ST_PixelAsPolygons的方法可以在rasterio中执行?我知道rasterio.features.shapes可以输出相似像素的形状,但它不会输出所有像素的几何形状。如何获取所有像素的多边形和值?


@sgillies,能否帮忙? - kuanb
1个回答

1

rasterio/transform.py提供了一个xy(transform, rows, cols, offset)函数,它返回(row,col)处网格单元格的位置。

偏移参数允许您使用'ul', 'ur', 'll', 'lr'指定每个单元格的“角落”。

然后,您可以获取变换中每个单元格的矩形坐标:

rows = [i for i in range(height) for j in range(width)]
cols = [j for i in range(height) for j in range(width)]
corners = []
for offset in ['ul','ur', 'lr', 'll']:
  xs, ys = rasterio.transform.xy(transform,rows,cols,offset)
  corners.append(zip(xs,ys))
cell_rects = zip(*corners)
cell_rects_with_indices = [
    ((row,col), rect) 
    for row,col,rect in zip(rows, cols, cell_rects)
]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接