代码之家  ›  专栏  ›  技术社区  ›  Olga

ST_PixelAsPolygons rasterio

  •  3
  • Olga  · 技术社区  · 7 年前

    有没有办法使用rasterio执行类似的功能,例如ST_PixelAsPolygons? 我知道rasterio.features。形状,但这将输出类似像素的形状,而不是所有像素的几何体。如何获得多边形和所有像素的值?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Jack Reilly    7 年前

    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)
    ]