Generalização de varredura - buffers em rasters, expande pixels?

12

É possível criar buffers para pixels de arquivos rasterizados? Na verdade, preciso expandir os pixels classificados como 1 (em branco na figura) com um intervalo espacial de 1 ou 2 pixels, a fim de realizar alguma generalização. Estou usando o QGIS, isso é possível com gdal ou algo assim?

insira a descrição da imagem aqui

vascobnunes
fonte

Respostas:

13

O QGIS fornece uma interface para o GRASS GIS, que começou como um GIS raster e, portanto, deve fornecer algumas ferramentas eficientes para resolver esse problema. Referindo-se às suas páginas de manual de comandos raster , podemos encontrar as seguintes soluções:

r.buffer - buffer direto dos glóbulos brancos.

r.cost - pode calcular distâncias para células brancas. Siga isso com uma comparação para selecionar células de curta distância.

r.grow - uma operação morfológica local projetada especificamente para expandir os glóbulos brancos em seus vizinhos imediatos.

r.mfilter - um filtro focal geral. Várias estatísticas focais, como max, média, soma, mediana e desvio padrão, podem detectar a presença de glóbulos brancos nas vizinhanças locais. Siga isso com uma comparação para selecionar essas células.

r.neighbors - um filtro focal ainda mais geral, que pode ser usado de maneira semelhante ao r.mfilter.

r.amostra - reamostrar em uma grade mais grossa é uma maneira de expandir os glóbulos brancos. O resultado será um pouco "irregular".

r.spread - permitir que os glóbulos brancos "se espalhem" em suas vizinhanças obterá o buffer desejado.

Devemos esperar que r.buffer, r.grow e talvez r.mfilter usem o código mais eficiente. (Eu não os testei para descobrir.)

whuber
fonte
1

Eu diria que é possível. Só não tenho certeza se você pode fazer isso com o QGIS, já que eu não o conheço o suficiente. O QGIS pode fazer estatísticas sobre o bairro? Supondo que os pixels pretos sejam zero e os pixels brancos sejam 1, uma função estatística da vizinhança 3x3 calculando o máximo de células resultará em '1' para os pixels adjacentes da borda branca. Você pode isolar esses pixels em um segundo procedimento (ou executar estatísticas de vizinhança pela segunda vez para uma segunda linha de pixels).

G-wizard
fonte