Gostaria de remover pixels isolados (ou grupos de pixels <9) da minha imagem rasterizada.
library(raster)
# create some raster data
r <- raster(ncols=12, nrows=12)
set.seed(0)
r[] <- round(runif(ncell(r))*0.7 )
rc <- clump(r)
Antes de remover aglomerados de pixels <9
Depois de remover aglomerados de pixels <9 :
Em Erdas, existe a ferramenta Peneira para fazer isso, mas como substituí-la no R?
Respostas:
Observe que, a partir da
clump
função, o ID do grupo "4" tinha 2 células no lado direito, conectando-se às células à esquerda.fonte
Graças a @gene e https://geoscripting-wur.github.io/AdvancedRasterAnalysis/ , agora posso responder minha pergunta (copiada e modificada):
biblioteca (raster)
e resultado desejado (com uma linha e uma coluna de NA adicionadas em cada lado da varredura).
fonte
Uma resposta adicional para os dados projetados.
bfastSpatial::areaSieve()
usa um argumento de limite, de forma que grupos menores que o limite sejam removidos.https://www.rdocumentation.org/packages/bfastSpatial/versions/0.6.2/topics/areaSieve
fonte