2 votos

Implementar r.cross / ArcGIS Combine con GDAL

Estoy utilizando GDAL para procesar un montón de rásters. Luego necesito combinar todas las matrices para crear un único raster de salida que represente todas las combinaciones únicas de valores. Es decir, lo mismo que r.cross en GRASS o Combine_sa en arcgis.

Me gustaría programar algo similar utilizando la biblioteca GDAL. ¿Cuál es el algoritmo? ¿Cómo podría manejar los rasters que son demasiado grandes para caber en la RAM? Es decir, al dividirlos en matrices más pequeñas, ¿cómo me aseguro de que una combinación en el enésimo trozo reciba el mismo valor si aparece en un trozo diferente?

Estoy luchando por encontrar algo que funcione bien.

1voto

xenny Puntos 670

Como dice @Mikkel tendrás problemas por el gran número de capas (r.cross está limitado a 10 capas a propósito). Aquí está la ecuación si usted es capaz de reducir el número de capas o si usted no tiene otra solución:

\sum_i {(n^i) * c_i }

donde i es el índice de la imagen (empezando por 0), n es el número de clases, y c_i es el valor de la clase para la imagen i (de 0 a n-1). El resultado no dependerá del chunking.

Como observación, necesitarás algo como el formato BIGTIFF para manejar esto. También deberías utilizar otras opciones de creación de gdal como COMPRESS y TILE. Finalmente te sugiero que pruebes OTB para este tipo de proceso.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X