Como suavizar polígonos vetoriais grandes do Raster

14

Eu tenho um arquivo raster de classificação de uso da terra (6 classes) de uma grande área. Mas eu preciso disso em polígonos vetoriais, então eu o vectorizei. Nenhum problema até agora, mas o resultado é - é claro - que todo pixel é exatamente vertorizado com todos os seus egdes :) Mas eu preciso dele suave como contornos. Então, tudo bem, eu poderia generalizá-lo com o algoritmo de Boyle, por exemplo, mas é demais para o meu computador calcular isso ...

Então o que eu poderia fazer? Obrigado! Martin

insira a descrição da imagem aqui

MAPA
fonte

Respostas:

9

Use o GRASS com a GUI nativa ou com o plug-in QGIS ou com o plug-in Sextante e use a ferramenta v.generalize, escolhendo o algoritmo "Chaikens".

Giovanni Manghi
fonte
Obrigado, isso está funcionando, uau! Eu nunca tentei fazer isso de gis com o Sextante, sempre o fiz diretamente com grama (e não funcionou)!
MAP
A ferramenta v.generalize, disponível no QGIS, facilita uma série de ferramentas de generalização, das quais o algoritmo "chaikens" é apenas uma delas. Os outros são: douglas, douglas_reduction, lang, redução, reumann, remove_small, boyle, deslizamento de média, distância de ponderação, hermita, cobras, rede e deslocamento.
Ragnvald
0

Você também pode usar o ArcGIS com (ET GeoWizards) para fazer isso:

1- Use o "Polygon Smooth" do ArcToolbox> Ferramentas de Cartografia> Generalização

2-, então você pode ter algumas lacunas de acordo com a tolerância de suavização que você definiu.

3-se sim, você pode usar o "Eliminate Polygon Part" ArcToolbox ou "Fill Holes" das ET GeoWizards Tools e definir a 'Área máxima de furos a serem removidos' nas áreas que você deseja preencher.

4-Feito!

Matt
fonte
2
Nota O OP está procurando soluções QGIS, Grass, SAGA. O polígono suave e a eliminação consomem muita memória - talvez uma solução melhor seria generalizar a varredura antes das operações com vetores.
Aaron