Modificare i valori null valori raster su 0 in QGIS?


13

Ho bisogno di aiuto ... Sto riscontrando problemi con QGIS. Ho alcuni raster che sembrano avere valori null, anche se li ho riclassificati per ottenere un raster booleano :(

Come posso modificare i valori NULL su 0?

Risposte:


14

oltre alla risposta di @RK, puoi usare anche r.null in grass .

r.null - Gestisce i valori NULL di una determinata mappa raster.

ESEMPI

Imposta valori specifici di una mappa classificata su NULL:

r.null map=landcover.30m setnull=21,22

Imposta i valori NULL di una mappa su un valore specifico:

 r.null map=fields null=99

spero che ti aiuti ...


9

Penso che il plugin RasterCalc dovrebbe essere in grado di risolvere il tuo problema. Dopo averlo installato, è possibile utilizzare la seguente query (presupponendo che i valori NULL corrispondano a -9999; è possibile verificare questo valore nella scheda Trasparenza delle proprietà del livello):

eq ([your_raster] @ 1, -9999, 0)

eq significa uguale a. Questo dice a RasterCalc che tutti i pixel del tuo raster con valori NULL dovrebbero avere i loro valori impostati su 0. Suppongo che tu abbia un raster a banda singola.


1
Questo non sembra funzionare (QGIS 1.8 / Rastercalc 0.2.5) - dando "espressione non valida" con un raster caricato, ad es.eq( EL_hm@1, NULL, 0 )
Simbamangu

1
@Simbamangu, se utilizzerai il valore effettivo usato come NULL (-9999 per esempio) - funzionerà. ad es. eq (EL_hm @ 1, -9999, 0)
SS_Rebelious

1
@SS_Rebelious - potresti voler menzionare nella tua modifica che il valore NULL può essere impostato nelle preferenze ( General|Representation for NULL values) e questo dovrebbe riflettersi nell'espressione.
Simbamangu

2

Non so se hai risolto questo? Potrebbe esserci un modo più snello ma questo funziona bene per me nell'ultimo QGIS (v2.8.1):

  1. Crea un nuovo poligono con una colonna di attributi per altezza / livello. disegna una forma poligonale con un'estensione maggiore dell'estensione raster che desideri modificare.
  2. rasterizza questo poligono usando lo strumento raster> conversione> rasterizza.
  3. utilizzando gli strumenti di analisi GDAL> non inserire dati> e il poligono rasterizzato come livello di validità.
  4. Il file raster risultante dovrebbe ora avere valori in cui in precedenza non c'erano dati. Questi saranno o un valore casuale inferiore a 0 (-9999 per esempio) o 0. Se è 0 allora fantastico hai quello che volevi. In caso contrario, eseguire il passaggio 5.
  5. usando SAGA> Grid -Tools> Mosaick Raster Layers inserisci il livello raster riempito e il poligono rasterizzato. nelle aree sovrapposte selezionare [3] Massimo e impostare l'estensione di output sul raster originale. Ciò dovrebbe comportare un nuovo raster che conserva tutti i tuoi valori su 0, assegnando ai valori precedenti senza dati un nuovo valore pari a 0.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.