Como quantificar pixels e seus valores em uma imagem Raster.

5,618 views
Skip to first unread message

David Muniz

unread,
Oct 3, 2014, 1:02:51 PM10/3/14
to qgisb...@googlegroups.com
Bom dia amigos do grupo QGis Brasil,

queria ajuda de vocês usuários experientes e profissionais para um problema que encontrei na confecção e análise dos meus mapas no QGis.

Primeiramente vou me apresentar para mostrar o por que do meu raciocínio e questionamentos.

Sou Biólogo e atualmente sou aluno do programa de Pós-graduação de Biodiversidade e Conservação, no qual desenvolvo um estudo em qual proponho fazer analises espaciais  da vegetação buscando relacionar com a medidas da diversidade de fauna (Resumidamente essa é uma das idéias centrais).

Com isso escolhe como um dos métodos o Índice de Vegetação por Diferença Normalizada (NDVI) para caracterizar a vegetação através de imagens de satélite fornecidas pelo Lansat 8.
A principio fiz as correções atmosférica das mesmas no QGIS, com o complemento Geosud TOA Reflectance,  seguindo as instruções do Sidney (Geosaber).
No caso da imagens Landsat 8 o sensor OLI usa as bandas 4 (vermelho visível) e 5 (infravermelho próximo), informações obtidas também através do Sidney (Geosaber). 
Para o calculo do NDVI foi utilizado o tutorial elaborado por Vanessa Cecília Benavides Silva, disponibilizado no site do Anderson Medeiros.
Após seguir o tutorial obtivesse uma imagem imagem raster com NDVI, que apliquei categorias com falsa cor.
Para limitar apenas ás minhas áreas de estudo foi feito polígonos através de trackpoints de gps feitos em campo, após adquirir os polígonos de cada área foi geoprossesado (Geometrias) de cada um em busca  do ponto centroide de cada polígono.

Após encontrar os centroides apliquei um buffer de 3000m ao redor de cada ponto para limitar a minha área de estudo.

Com o buffer fiz um corte utilizando a ferramenta extração (cortador) na imagem raster com o NDVI.

Resultado disso que obtive círculos com raio de 3000m das minhas áreas de estudo com o NDVI.

Agora preciso quantificar todos os pixels e seus valores dentro do buffer feito, pois cada pixel tem uma coloração que varia numa escala de cores do azul até o vermelho (Spectral) que possui valores que variam entre -1 e 1.

Só que não sei como posso realizar essa tarefa, de quantificar os valores de todos os pixels dentro do buffer, com objetivo de obter um valor único para a área, pois as imagens raster não possuem tabela de atributos.

Existe alguma forma de fazer isso que estou propondo acima?

Segue imagens para ilustrar o que fiz até o momento.

Caso minha escrita não tenha sido clara por favor me solicitem uma explicação do que ficaram em dúvida.

Desde já agradeço a contribuição de todos e pelo grupo em proporcionar uma grande difusão de conhecimentos.

Atenciosamente,

David Barros Muniz





Captura de Tela 2014-10-03 às 13.57.52.png
Captura de Tela 2014-10-03 às 13.59.43.png
Captura de Tela 2014-10-03 às 13.58.42.png
Captura de Tela 2014-10-03 às 13.59.58.png

Jorge Santos

unread,
Oct 3, 2014, 2:18:48 PM10/3/14
to qgisb...@googlegroups.com
Você precisa relcassificar o seu arquivo raster para transformá-lo de contínuo para discreto, agrupando os pixels.

Verifique este tutorial do Anderson Medeiros:


Jorge Santos
Técnico em Geoprocessamento
http://www.processamentodigital.com.br/

--
Comunidade QGIS Brasil: http://qgisbrasil.wordpress.com
---
Você recebeu essa mensagem porque está inscrito no grupo "qgisbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para qgisbrasil+...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para qgisb...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/qgisbrasil.
Para mais opções, acesse https://groups.google.com/d/optout.

Franklin Januário

unread,
Oct 6, 2014, 6:50:21 AM10/6/14
to qgisb...@googlegroups.com
Bom dia David,

Se você quer a média dos valores na área do buffer você pode usar o estatística por zonas no menu raster, agora se você quiser a informação pixel a pixel, você pode vetorizar o raster cortado para pontos e a partir daí abrir a tabela de atributos para análise dos valores.

Precisei vetorizar quando queria encontrar valores específicos dentro do raster, pois de fato, o QGIS não tem nada que mostre os valores nativamente.

Att.

David Muniz

unread,
Oct 16, 2014, 12:00:01 AM10/16/14
to qgisb...@googlegroups.com
Boa noite Jorge Santos,

tentei fazer o que você recomendou, reclassificando o meu arquivo raster, mas não consegui.

Segui os passos do link que recomendaste, mas não estou conseguindo. O tutorial é sobre reclassificação de um raster tododata (relevo), antes de reclassifiar ele faz uma analise de MDE, não sei se tenho que fazer alguma analise equivalente no meu raster de NDVI.

Realizei a reclassificação sem fazer nenhuma analise anterior no meu raster de NDVI e sempre dá o seguinte erro:

Algorithm r.reclass - Creates a new map layer whose category values are based upon a reclassification of the categories in an existing raster map layer. starting...

'ascii' codec can't encode character u'\u0301' in position 44: ordinal not in range(128) See log for more details


Já tentei vários formatos e disposição do arquivo de classes em txt. mas sempre dá o mesmo erro.

Coloco umas imagens em anexo para ilustrar o processo que fiz.

Quando utilizo a ferramenta identificar feições consigo encontrar o valor do píxel, mas depois que tendo fazer a reclassificação com base no arquivo txt. sempre dá erro.

Não sei onde estou errando, pode ser em algo básico pois não tenho muita experiência de QGIS.

O que exatamente você quis dizer em transformar de contínuo para discreto e em agrupamento de pixels?

Espero que possa me ajudar.

Atenciosamente,

David Barros Muniz
Captura de Tela 2014-10-16 às 00.39.16.png
Captura de Tela 2014-10-16 às 00.39.44.png
Captura de Tela 2014-10-16 às 00.41.53.png
Captura de Tela 2014-10-16 às 00.42.05.png
Captura de Tela 2014-10-16 às 00.42.25.png

David Muniz

unread,
Oct 16, 2014, 12:22:47 AM10/16/14
to qgisb...@googlegroups.com
Boa noite Franklin Januário,

muito obrigado por sua sugestão.

Mas também não consigo realizar nenhuma das duas sugestões que fez.

A primeira em utilizar a estatística por zonas no meu raster, não aparece nada depois que preencho a janela.

Coloquei umas imagens em anexo para ilustrar o procedimento que estou fazendo, como não tenho muita experiência no QGIS, provavelmente devo está fazendo algo errado.

A segunda opção de vetorizar o raster para pontos não sei nem como começar, fiz até onde eu sei através de raster em conversão utilizei a ferramenta poligonizar (raster para vetor), mas desse jeito ele não faz ponto a ponto e só me dá valores de 0 a 1 na tabela de atributos.

Se você puder me indicar um tutorial de como se faz esse procedimento ou me explicar uma passo a passo ficarei muito grato.

Espero que possa continuar me ajudando.

Atenciosamente,

David Barros Muniz
Captura de Tela 2014-10-16 às 01.02.20.png
Captura de Tela 2014-10-16 às 01.02.33.png
Captura de Tela 2014-10-16 às 01.09.56.png
Captura de Tela 2014-10-16 às 01.17.22.png
Captura de Tela 2014-10-16 às 01.17.43.png

Augusto Vieira

unread,
Oct 16, 2014, 6:58:59 AM10/16/14
to qgisb...@googlegroups.com
Davi

Para transformar o raster em pontos siga esse tutorial que o Felipe passou na mensagem anterior!



Augusto

David Muniz

unread,
Oct 22, 2014, 12:18:39 PM10/22/14
to qgisb...@googlegroups.com
Muito obrigado Augusto Vieira -IPESA,

com o link do slideshare que o Felipe passou e você me repassou na mensagem anterior, consegui fazer o que o Franklin Januário sugeriu.

Transformei o formato do meu raster cortado pelo buffer em XYZ, depois abri esse arquivo em um editor de texto e acrescentei a linha x y z ao inicio do arquivo e salvei. Após isso abri esse arquivo que alterei com a ferramenta Adicionar uma Camada de Texto Delimitada, na janela dessa ferramenta você seleciona o arquivo xyz que alteraste, depois no campo formato do arquivo, selecione delimitadores personalizados e selecione os itens tabulação e espaço. Em seguida aperte o botão ok, que ele carregara o arquivo na barra de camadas.

O arquivo abrirá como uma camada vetorial, ou seja, já possui uma tabela de atributos completa. Os campos x e y, são os valores de latitude e longitude, e o campo z é o valor do pixel o qual estava procurando.

Para analisar os valores dos pixels (coluna z), fui na aba vetor, item analisar e selecionei a ferramenta estatísticas básicas.

Nessa janela que abriu seleciono a camada vetorial de interesse, no meu caso a  que transformei em pontos, o campo alvo que escolho é a coluna z. Após isso clico em ok, que ele vai me dá valores como Média, Desvio Padrão, Soma, Min, Max, N, CV, Número de valores únicos, Intervalo e Mediana.

Segue abaixo algumas imagens do procedimento que realizei.

Caso alguém discorde me fale a razão.

Muito obrigado a todos que contribuirão para solução do meu problema.
Captura de Tela 2014-10-22 às 13.01.36.png
Captura de Tela 2014-10-22 às 13.11.18.png
Captura de Tela 2014-10-22 às 13.03.27.png
Captura de Tela 2014-10-22 às 13.04.00.png
Captura de Tela 2014-10-22 às 13.04.37.png
Captura de Tela 2014-10-22 às 13.04.54.png
Captura de Tela 2014-10-22 às 13.05.13.png
Captura de Tela 2014-10-22 às 13.05.37.png

Denize Monteiro

unread,
Jan 10, 2017, 10:59:36 PM1/10/17
to qgisbrasil
David, estou procurando com posso fazer a mudança de pixel, para da classe no cálculo de NDVI e calcular área. Você fez isso? No QGIS?






taissa santos

unread,
Feb 27, 2017, 10:09:22 AM2/27/17
to qgisbrasil
Bom dia David Muniz,

Eu trilhei a mesma reflexão que a sua para analisar meus dados mais com outro modelo biologico.
E eu tenho um problema parecido com seu. Eu criei meus buffers a partir de uma imagem NDVI, mas quando abro a tabela de atribudos do meu buffers so aparece um ponto de LAT e LONG. Sendo que os buffers foram criados a partir de varios pontos e nao de somente um...

Voce sabe me dizer o que pode estar acontecendo?

Obrigada,

Taissa

Jorge Santos

unread,
Feb 27, 2017, 10:13:44 AM2/27/17
to qgisb...@googlegroups.com
O GRASS GIS tem um algoritmo top para realizar extração de valores de um pixel.

O Anderson Medeiros publicou um tutorial sobre isso, veja: http://andersonmedeiros.com/como-converter-valores-dos-pixels-em-dados-vetoriais-com-qgis/

É mais prático do que converter o raster para XYZ como eu fazia.

Jorge Santos
Analista de Geoprocessamento
----------------------------------------------

Skype: jorgepsantos2002
Twitter: http://twitter.com/jpsantos2002
Comunidade QGIS Brasil: http://qgisbrasil.org/

---
Você recebeu essa mensagem porque está inscrito no grupo "qgisbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para qgisbrasil+unsubscribe@googlegroups.com.

Para postar nesse grupo, envie um e-mail para qgisb...@googlegroups.com.

taissa santos

unread,
Feb 27, 2017, 11:19:42 AM2/27/17
to qgisbrasil
Bom dia Jorge Santos!

Muito Obrigada por seu conselho ele deu certo.
Eu sou nova em ferramentas de Geoprocessamento e na verdade eu gostaria de tirar a média do valor dos pixels oriundo a de um mapa de NDVI.

Sendo assim teria como voce me orientar me dizendo como posso fazer esse calculo. E como posso identificar o Buffer ao qual pertence cada média. Eu consegui extrair o "vectorized", a partir do torial, mas nao sei como os valores da média de pixel.

Agradeço Muitissimo suas orientações!!

Vou colocar nos agradecimentos da minha these à "equipe online de geoprocessamento sempre disposta ajudar"!!

tais lima

unread,
Apr 12, 2018, 8:28:34 PM4/12/18
to qgisbrasil
Outra opção para extrair dados estatísticos básicos é usando o ENVI, vou tentar explicar. 
1) Depois de baixar o programa, selecione a opção ENVI CLASSIC, apenas digitando na barra do seu computador você encontra, pois ele vem associado com os novas atualizações do programa.

2) Feito isso vc vai em FILE --> Open Image File (Escolhe a imagem raster de interesse) e depois que abrir uma outra janela vc seleciona --> Load Band. 

3)Feito isso, aparecerão três janelas em diferentes zooms da imagem. Segundo passo, --> Open Vector File (o mesmo que vc usa no qgis) e seleciona um SRC pra ele tmb, se é UTM, qual a Zona se é norte ou sul, de acordo com o SRC da sua imagem raster, aperta ok. 

4) Depois abrirá outra janela com o vetor, seleciona o vetor e aperta -->Load Selected, aqui ta o pulo do gato, quando vc apertar esse botão, ira aparecer um janelinha perguntando se vc quer que o vetor apareça em uma janela separada, no caso #NewVectorWindow ou se vc quer que o vetor apareça junto com raster, dai vc seleciona #Display1. 

5)Depois abrirá mais uma janelinha e vc seleciona o vetor novamente, vai em -->File e seleciona --.> Export Active Vector to ROI, mais uma vez aparecerá uma janelinha com duas opções, uma para criar apenas um ROI e outra para cada atributo do seu vetor, ele criar um ROI individual, porém dentro do mesmo arquivo, eu uso a segunda opção pois trabalho com talhões e cada um deve ter um numero de pixels, media, max, min e desvio; depois escolho a opção NAME para vincular ao ROI e OK. pronto, sua região de interesse está criada. 

6)Daí vc volta nas janelinhas com a imagem raster, seleciona --> Overlay --> Region of Interess ; (aparecerar uma janelinha #1 ROI Tool; selecione --> Select All e --> Stats. Quando acabar salve como aquivo de texto e escolha um lugar para seu arquivo. Espero que tenham entendido, é complicado, mas dá menos trabalho do que fazer de um por um e quando se trabalha com muitos dados, facilita muito! 

Abraços!
Reply all
Reply to author
Forward
0 new messages