¿Cómo abre QGIS conjuntos de datos ráster tan grandes (aproximadamente 40 GB)?

8

Tengo un problema con la biblioteca GDAL cuando abro un gran archivo GeoTiff, con un tamaño de aproximadamente 32000x32000. No puedo usar la ReadAsArrayfunción porque el tamaño máximo de la matriz numpy en python. Pero me pregunto por qué QGIS puede abrir ese archivo fácilmente. ¿Cuál es la técnica detrás?

giangblackk
fuente

Respuestas:

16

Si QGIS se está ejecutando en una ventana de 1000x1000 píxeles en su pantalla, no es necesario leer todos los 32000x32000 píxeles para mostrar el mapa. GDAL intenta leer los datos de la imagen de origen para que no se lean datos en exceso en el cuadro delimitador, y si la imagen tiene vistas generales, los datos provienen del nivel de resolución más adecuado para la resolución del mapa. Siempre hay algo de sobrecarga, pero si GDAL necesita leer 2000x2000 píxeles, todavía no es nada en comparación con el valor de datos de 32000x32000 píxeles.

Depende del formato de imagen y del controlador correspondiente qué tan bien funciona el principio de "solo lectura lo que necesita". Si tiene un geotiff que se divide internamente en mosaicos de 256x256 y que contiene las vistas generales (o capas piramidales o resoluciones reducidas en otros nombres) GDAL puede hacerlo bastante bien. Por otro lado, las imágenes PNG y JPEG grandes no son efectivas porque toda la imagen debe descomprimirse antes de que sea posible tomar datos de alguna pequeña región de interés.

Nota: Uno puede saber que incluso los archivos GeoTIFF enormes que están comprimidos con el método JPEG no son ineficaces en absoluto. Eso es cierto porque en este caso el archivo TIFF está en mosaico y los mosaicos se comprimen con JPEG individualmente. GDAL necesita descomprimir cada mosaico por completo, pero debido a que los mosaicos son pequeños con solo 256x256 píxeles, la operación es pequeña y el uso de memoria es bajo.

Lea sobre bloques, ventanas y vistas generales en http://www.gdal.org/gdal_tutorial.html

usuario30184
fuente