Leer desde vistas generales de TIF usando rasterio

9

Estoy leyendo una ventana de un tif usando rasterio. ¿Cómo utilizo las vistas generales disponibles para obtener una versión de muestra reducida de los datos en lugar de leer en la resolución verdadera?

En este momento estoy leyendo una ventana como esta:

rmin, cmin = source.index(xmin, ymin)
rmax, cmax = source.index(xmax, ymax)
data = source.read(band, window=((rmax, rmin), (cmin, cmax)))

Lo que quiero hacer:

rmin, cmin = source.index(xmin, ymin, use_overview=True)
rmax, cmax = source.index(xmax, ymax, use_overview=True)
data = source.read(band, window=((rmax, rmin), (cmin, cmax)), use_overview=True)

¿Algunas ideas? Tenga en cuenta que en mi caso las vistas generales son internas , pero cualquier solución que se lea de las vistas generales es excelente.

bcollins
fuente

Respuestas:

6

Respondido en https://github.com/mapbox/rasterio/issues/710 .

Ejemplo de lectura de una ventana de 30x30 en una matriz de 3x3 donde las vistas generales (si están disponibles) entrarían en acción.

arr = np.empty(shape=(3, 3)).astype(src.profile['dtype'])
arr = src.read(1, out=arr, window=((0, 30), (0, 30)))
arr array([[9195, 9116, 9134],
           [9158, 9144, 9085],
           [9010, 8935, 9002]], dtype=uint16)

Avísame si eso funciona para ti.

sgillies
fuente
1
¿Rasterio siempre usa vistas generales si están disponibles? Si las vistas generales perfectamente relevantes no están disponibles, ¿qué algoritmos usa rasterio para volver a muestrear, y es seleccionable? (Nota por ejemplo vecino más cercano y dar área promedio notablemente diferentes salidas.) ..Perhaps debe hacer referencia a documentos GDAL para inferir el comportamiento por defecto rasterio ..
benjimin