Eu tenho duas camadas: uma camada raster e uma camada vetorial (polígono). Consigo ver os valores dos pixels de varredura, mas não sei como combiná-los com as informações da camada de polígono. Mais especificamente, eu gostaria de:
- somar valores de todos os pixels dentro das bordas de um polígono
- conte o número de pixels com um valor específico dentro das bordas de um polígono
Alguém pode ajudar e aconselhar sobre como fazer isso no QGIS?
Respostas:
Antes era necessário usar v.rast.stats no plug-in GRASS, mas agora você pode usar as Estatísticas Zonais incorporadas no menu Raster.
Você tem uma camada de polígono carregada e a varredura. Você executa o item de menu.
isso responderá a parte a) da sua pergunta.
O v.rast.stats e outras ferramentas fornecerão uma saída mais detalhada, mas provavelmente um fluxo de trabalho simples para b) é extrair cada polígono (use o menu Raster | Extração | Clipper) e, em seguida, execute um histograma em cada um. Depende da estrutura dos seus dados, com que frequência você precisa fazê-lo etc.
fonte
Para seu primeiro objetivo, como Willy disse, você pode usar o módulo v.rast.stat. O módulo criará novas colunas preenchidas no seu banco de dados de vetores com os valores estatísticos que você procura (valor mínimo, máximo, média, desvio padrão, contagem e etc.).
Quanto à sua segunda pergunta, você precisa "ocultar" os valores abaixo (ou acima) do seu limite. Uma maneira de fazer isso é usar a calculadora raster do qgis e inserir a seguinte expressão para calcular:
O parêntese criará uma máscara, o que significa que todos os valores acima de 10 terão o valor de 1 e todos os valores abaixo do valor de 0. E, em seguida, você multiplica os dois valores pelos valores originais. E obviamente 0 por algo é igual a 0.
Defina o valor do nodata como igual a 0 para o raster de máscara produzido e, em seguida, execute novamente v.rast.stats.
fonte