Alterar valores nulos valores rasterizados para 0 no QGIS?


13

Preciso de ajuda ... Estou tendo problemas com o QGIS. Eu tenho alguns rasters que parecem ter valores nulos, mesmo que eu os tenha reclassificado para obter uma varredura booleana :(

Como posso alterar os valores NULL para 0?

Respostas:


14

ao lado da resposta @RK, você também pode usar r.null na grama .

r.null - Gerencia valores nulos de um mapa raster especificado.

EXEMPLOS

Defina valores específicos de um mapa classificado como NULL:

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

Defina valores NULL de um mapa para um valor específico:

 r.null map=fields null=99

espero que ajude você ...


9

Acho que o plug - in RasterCalc deve ser capaz de resolver seu problema. Depois de instalá-lo, você pode usar a seguinte consulta (assumindo que os valores NULL correspondam a -9999; você pode verificar esse valor na guia Transparência das propriedades da camada):

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

eq significa igual a. Isso indica ao RasterCalc que todos os pixels em seu raster com valores NULL devem ter seus valores definidos como 0. Estou assumindo que você tenha um raster de banda única.


1
Isso parece não funcionar (QGIS 1.8 / Rastercalc 0.2.5) - dando "expressão inválida" com uma varredura carregada, por exemploeq( EL_hm@1, NULL, 0 )
Simbamangu

1
@ Simbamangu, se você usar o valor real usado como NULL (-9999 por exemplo) - isso funcionará. por exemplo, eq (EL_hm @ 1, -9999, 0)
SS_Rebelious 6/13

1
@SS_Rebelious - você pode mencionar na sua edição que o valor NULL pode ser definido nas preferências ( General|Representation for NULL values) e isso deve ser refletido na expressão.
precisa saber é o seguinte

2

Não sei se você resolveu isso? Pode haver uma maneira mais simplificada, mas isso funciona bem para mim no QGIS mais recente (v2.8.1):

  1. Crie um novo polígono com uma coluna de atributo para altura / nível. desenhe uma forma de polígono com uma extensão maior que a extensão raster que você deseja alterar.
  2. rasterize esse polígono usando a ferramenta raster> conversion> rasterise.
  3. usando as ferramentas de análise GDAL> não preencha nenhum dado> e o polígono rasterizado como a camada de validade.
  4. O arquivo de varredura resultante agora deve ter valores onde anteriormente não havia dados. Estes serão algum valor aleatório abaixo de 0 (-9999 por exemplo) ou 0. Se for 0, então ótimo, você tem o que queria. Caso contrário, execute a etapa 5.
  5. usando SAGA> Grid-Tools> Camadas de varredura de mosaico, insira a camada de varredura preenchida e o polígono rasterizado. em áreas sobrepostas, selecione [3] Máximo e defina a extensão da saída para o raster original. Isso deve resultar em uma nova varredura que retém todos os seus valores acima de 0 e, ao mesmo tempo, atribui aos valores anteriores sem dados um novo valor 0.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.