2017-07-11 5 views
1

rasterioを使用してST_PixelAsPolygonsなどの同様の機能を実行する方法はありますか? 私はrasterio.features.shapesを認識していますが、それはすべてのピクセルのジオメトリではなく、類似したピクセルのシェイプを出力します。どのようにしてすべてのピクセルのポリゴンと値を取得できますか?ST_PixelAsPolygons rasterio

+0

は@sgilliesをping - おそらく彼は助けることができますか? – kuanb

答えて

1

rasterio/transform.pyは、(row、col)のグリッドセルの位置を返す関数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) 
]