3 votos

¿Por qué obtengo resultados diferentes con gdal_calc dentro del shell osgeo4w y la calculadora de rasterización de QGIS?

Estoy queriendo hacer una simple operación de álgebra de mapas en el shell osgeo4w usando gdal_calc pero obtengo resultados erróneos cuando divido un raster con el otro. Cuando uso los mismos rásteres en QGIS y realizo la misma operación de álgebra de mapas con raster calculator, no obtengo ningún problema.

3voto

imagineerThis Puntos 210

Creo que lo mejor es que recortes una trama con la otra, y guardes los resultados como un .vrt para ahorrar tiempo.

Utiliza este vrt en tu cálculo anterior de gdal_calc. eso debería funcionar.

Nota al margen: La respuesta está en realidad en el mensaje de error. He investigado un poco más y he mirado el código aquí ( http://svn.osgeo.org/gdal/trunk/gdal/swig/python/scripts/gdal_calc.py ). Un comentario en la parte superior especifica que los rasters deben tener la misma extensión.

EDICIÓN POSTERIOR: Si tu problema parece ser que los valores son demasiado grandes para tu tipo de datos esto se debe a que gdalcalc determina el tipo de datos basándose en los rásteres de entrada y no en el tamaño apropiado de los datos de salida (creo que desde el enlace que proporciono puedes buscar tipo de datos y verás el comentario).

No estoy seguro de las opciones para cambiar el tipo de datos en la sintaxis de gdalcalc, pero podría preceder a su cálculo mediante la traducción de su trama de entrada con gdaltranslate en un tipo de datos más grande; 32bit-float debería estar bien. guardar como un vrt también ahorrará tiempo gdal_translate -ot Float32 -of VRT old.tif new.vrt

enlace: http://www.gdal.org/gdal_translate.html

Todavía más tarde Editar: De hecho, he comprobado gdal_calc.py en mi comp y encontró que tiene un --type parámetro que puedes introducir desde la línea de comandos. Creo que esto funcionará para su problema

Espero que eso ayude :)

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