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.

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.