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.
Respuesta
¿Demasiados anuncios?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 :)