¿Qué hacer con los valores de -3.4e + 38 nodata?

16

Estoy tratando de procesar algunos archivos raster bioclimáticos, como los que se pueden descargar de enlace (conjunto de bioclim). Parece que tienen valores de nodata establecidos en -3.4e+38 según QGIS (mirando la salida de gdalinfo, es -3.39999999999999996e+38 ).

Parece que las herramientas gdal no pueden lidiar con este valor de nodata, y qgis tampoco parece ser capaz de reconocerlo. En el estilo de capa, hay una entrada para -3.4e + 38 configurada en 100% transparente, pero aún muestra esos valores, aunque el selector "Identificar características" los muestra con un valor de -3.4e + 38.

He intentado crear un vrt para convertir los valores de nodata a -9999 en su lugar, pero tampoco ha funcionado.

¿Cómo puedo procesar estos archivos para tener valores de nodata utilizables?

    
pregunta rudivonstaden 29.11.2012 - 12:54

2 respuestas

4

GDAL can maneja estos valores. De hecho, el valor NoData predeterminado de GDAL es prácticamente el mismo que el suyo. Sin embargo, creo que el problema es un error de punto flotante en QGIS. Tengo el mismo problema con los valores NoData de punto flotante.

Si desea cambiar el valor NoData utilizando GDAL, puede usar gdalwarp o tal vez gdal_translate y establezca el valor de nodata a un entero desde allí (-dstnodata y -a_nodata respectivamente). En el pasado, he tenido éxito al establecer mi valor NoData en -999 en un ráster flotante de 64 bits. Sin embargo, dado que hemos establecido que hay un problema de punto flotante en este sentido, no me gustaría garantizar que esto funcione en todos los casos, sin embargo.

    
respondido por el MappaGnosis 29.11.2012 - 15:40
11

Logré encontrar una solución para este problema al convertir el formato de datos a Int16 desde Float32. El valor mínimo es entonces -32768 y se puede procesar como un valor de nodata. El siguiente comando hizo el truco:

gdal_translate -ot Int16 -a_nodata -32768 input.tif output.tif

Probablemente haya una solución mejor, pero al menos esto resuelve mi problema inmediato.

    
respondido por el rudivonstaden 29.11.2012 - 14:08

Lea otras preguntas en las etiquetas