Tengo una imagen que hice con un polígono AOI. El área de contorno se configuró en valor de píxel = 0 y tengo un valor de nodata de -32768. Quiero redefinir el valor de nodata en cero. Solía hacer esto con ArcMap fácilmente en la calculadora ráster, pero en QGIS no veo cómo podría hacerlo. ¿Algunas ideas?
7
Respuestas:
En QGIS, puede usar la Calculadora ráster con el siguiente cálculo:
Con este cálculo, si el valor de la celda es -32768, obtendrá un 0 en esa celda y si es diferente de -32768, la celda mantendrá el valor que tenía.
fuente
La solución más simple en un solo paso y, en mi opinión, más confiable para reclasificar NoData a cero es usar la herramienta Reclasificar valores de cuadrícula (SAGA) en la caja de herramientas de procesamiento.
Después de seleccionar el ráster para reclasificar, simplemente desplácese hasta la parte inferior del cuadro de diálogo y asegúrese de que la
replace no data values
casilla esté marcada. El valor predeterminado es cero (pero, por supuesto, puede sustituirlo por otro). Luego, desmarque lareplace other values
casilla y deje todos los demás campos solos (por lo que todo lo que está haciendo es asegurarse de que una casilla esté marcada y desmarcar otra, no se requieren otras configuraciones).fuente
Encontré una solución para esto. Primero convierto la imagen en una capa vrt (gdalbuildvrt) con -srcnodata 0, luego la traduzco nuevamente a un archivo tif con gdal_translate -a_nodata. Funcionó bien! :)
fuente
Supongo que puedes hacer eso con la calculadora ráster .
Si no con la ayuda de GRASS plugin y r.null, lo hará fácilmente. Esa opción significa que primero tendrá que crear un conjunto de mapas GRASS para importar su ráster.
fuente
r.null
Lo hice por mí.Al tener el mismo problema, al final utilicé Python directamente; es posible que tenga que ajustar numpy.where para su propósito específico. En el caso a continuación, los valores de los píxeles se mantienen como están si son> = 0, todos los demás píxeles, en este caso solo los que tienen el valor sin datos, se establecen en "0"
fuente
He intentado usar el complemento rastercalc y la Calculadora ráster y ninguno funcionó: error de sintaxis. Lo que funcionó fue la herramienta Deformar y especificar los valores de nodatos de origen y destino (vea la respuesta de underdark a una pregunta similar ¿ Cómo excluir los valores faltantes de la capa ráster? )
fuente
Lo que funcionó para mí fue exportar el ráster como archivo .asc, luego abrirlo en un editor de texto y usar buscar y reemplazar para reemplazar el antiguo valor NoData con el valor que quería.
fuente
En mi caso, era una imagen satelital que necesitaba convertir a 8 bits y no mostraba valores de datos al usar -scale en gdal_translate.
Pude resolver el problema exportando el ráster (capa de clic derecho -> exportar -> guardar capa como ...) a un nuevo archivo como datos renderizados (casilla de verificación en la parte superior de la ventana de diálogo).
fuente
Para el script python, puede usar la siguiente línea antes de WriteArray.
fuente