2017-07-11 59 views
1

是否有執行類似的功能,如使用rasterio ST_PixelAsPolygons的方法嗎? 我知道rasterio.features.shapes的但是這將輸出類似的像素,而不是所有像素的幾何形狀。我怎麼能得到的所有像素的多邊形和價值觀?ST_PixelAsPolygons rasterio

+0

查驗@sgillies - 或許他能幫忙嗎? – kuanb

回答

1

rasterio/transform.py提供xy(transform, rows, cols, 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) 
]