Como gero um "gradiente" a partir de uma feição vetorial de linhas, variando entre o valor "1" onde há linha até o valor "0" nos pontos mais distantes dessas linhas?

48 views
Skip to first unread message

Márcio Fialho

unread,
Feb 3, 2021, 5:31:56 PM2/3/21
to qgisbrasil
Olá.

Preciso, a partir de uma feição vetorial composta por linhas ( Mapa Rodoviário) criar um raster cujos valores variem de "1" nos pontos que coincidem com as estradas até o valor "0" para os pontos mais distantes das linhas. Ou seja, cada ponto do raster deve assumir um valor entre 0 e 1, conforme se distancia ou aproxima das linhas. 
A principio criei uma coluna na feição vetorial e atribui o valor 1 e tentei interpolar com IDW mas não funcionou.

Desde já agradeço. 

Anderson Roberto da Silva

unread,
Feb 4, 2021, 7:13:40 AM2/4/21
to qgisb...@googlegroups.com
Olá,
1) Rasterizar o layer das estradas. Utilize o campo que contém o valor 1 conforme mencionado (Procure por Rasterize na caixa de ferramentas);
2) Use a função Proximity (Raster Analysis / Proximity ou procure por Proximity na caixa de ferramentas).



-- 
Anderson Roberto da Silva
Engenheiro Cartógrafo





--
Comunidade QGIS Brasil: http://qgisbrasil.org/
---
You received this message because you are subscribed to the Google Groups "qgisbrasil" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qgisbrasil+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qgisbrasil/b00a1f43-ad57-401b-8c0c-d51304b54f73o%40googlegroups.com.

fmr...@gmail.com

unread,
Feb 4, 2021, 9:48:09 PM2/4/21
to qgisbrasil

Obg Anderson. Vou tentar aqui. 

fmr...@gmail.com

unread,
Feb 8, 2021, 12:31:45 AM2/8/21
to qgisbrasil
Olá 
Tentei a dica acima mas não deu certo. 

A opção rasterize na caixa de ferramentas não permite a escolha do campo criado com o valor 1.  Após a rasterização ele cria um raster com o valor de 255 nas regiões onde não á linhas e as linhas ficam preenchidas com valores abaixo deste. 
Ao aplicar a função Proximity neste raster o Qgis me gera um novo  raster com valor 0 em todos os pixels (totalmente preto) .

O meu interesse seria gerar um raster que variasse de 1 ( ponto acima da Rodovia ) e ai fosse decrescendo ( 0,95 , 0,56, ....) a medida de nos distanciássemos das Rodovias até os pontos mais distantes  ( valor 0). 


Em quinta-feira, 4 de fevereiro de 2021 às 09:13:40 UTC-3, bya...@gmail.com escreveu:

Anderson Roberto da Silva

unread,
Feb 8, 2021, 7:45:18 AM2/8/21
to qgisb...@googlegroups.com
Olá.
Algumas observações:

1) Verifique se o campo contendo o valor "1" é númerico e não texto. Crie um campo do tipo inteiro;

2) Na função Rasterize, selecione o layer das linhas; No campo to "burn-in value", selecione o campo que contém o valor "1" (numérico). Em "size units", selecione Georeferenced units. As outras opções, altere conforme suas necessidades.
image.png

Verifique se foi gerado o raster corretamente, ou seja, nas linhas o valores do pixel deve ser igual a 1, no restante como "nodata". Caso contrário, verifique esta etapa;

3) Na função Proximity, selecione a imagem da rasterização das linhas. Na opção "A list of pixel values...", coloque o valor 1, de acordo o valor rasterizado anteriormente.
image.png

Teste outros parâmetros de acordo com suas necessidades.

Resultado da função Proximity. A cor vermelha abaixo representa a linha vetorial sob a imagem. Quanto mais claro for a cor, maior a distância em relação a cor mais escura (valor = 1).
image.png

Como vc deseja que os valores variem de 0 a 1, basta aplicar uma normalização. A imagem resultante da função Proximity retornam as distâncias em relação ao valor informado, que neste caso foi 1.

Testei rapidamente aqui e funcionou. Uma observação: meus dados estão em UTM.  


-- 
Anderson Roberto da Silva
Engenheiro Cartógrafo




fmr...@gmail.com

unread,
Feb 11, 2021, 12:44:04 AM2/11/21
to qgisbrasil
Deu certo agora. 
Muito obrigado Anderson Silva. 

Reply all
Reply to author
Forward
0 new messages