ST_PixelAsPolygons rasterio

时间:2017-07-11 18:47:23

标签: python shapes pixels geotiff rasterio

有没有办法使用rasterio执行类似的功能,如ST_PixelAsPolygons? 我知道rasterio.features.shapes但会输出相似像素的形状而不是所有像素的几何形状。我怎么能得到所有像素的多边形和值?

1 个答案:

答案 0 :(得分:1)

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

offset参数允许您使用'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)
]