Como converter raster em vetor no QGIS: 5 métodos
Publicado em Atualizado em

Para converter um raster em polígonos vetoriais no QGIS, abra Raster > Converter > Raster para vetor (poligonizar), escolha sua banda, dê um nome ao campo de saída e execute. Você obtém um polígono por grupo conectado de pixels que compartilham um valor, com esse valor na tabela de atributos. Essa é a resposta certa para um raster classificado e a errada para uma fotografia. Quatro outros métodos cobrem os rasters que a poligonização não consegue ler.
O método 2 é um plugin que desenvolvemos, portanto avalie essa seção levando isso em conta. Ele recebe as mesmas cinco linhas que os outros quatro.
A resposta curta
Abra as propriedades do raster e leia duas coisas: o tipo da banda e o número de valores distintos. Eles escolhem o método por você.
| Sua entrada | Método | Custo |
|---|---|---|
| Raster classificado (cobertura do solo, uma reclassificação de declividade, uma máscara) | Método 1, Raster > Converter > Raster para vetor (poligonizar) | Gratuito, no QGIS principal |
| Ortofoto, imagem de drone ou de satélite | Método 2, um modelo de segmentação | Plugins gratuitos precisam de uma placa NVIDIA. Plugins na nuvem têm planos gratuitos e depois uma assinatura |
| Raster contínuo (NDVI, declividade, uma banda de reflectância) | Método 3, Reclassificar por tabela, depois poligonizar | Gratuito, no QGIS principal |
| MDE ou qualquer superfície de elevação | Método 4, Raster > Extrair > Contorno, ou Contornos dos Polígonos | Gratuito, no QGIS principal |
| Mapa de papel digitalizado ou uma planta | Método 5, GRASS r.thin mais r.to.vect | Gratuito e lento. Existe traçado por IA pago |
Cada caminho de menu, id de algoritmo e padrão abaixo foi conferido na documentação do QGIS 3.44 e na documentação estável do GDAL em 23 de agosto de 2026. Os caminhos de menu pressupõem o layout padrão do QGIS, que um plugin pode alterar.
Método 1: poligonizar
Trabalhe em um SRC projetado. Duas etapas abaixo usam uma distância ou uma área em unidades da camada, e em graus esses números não significam nada.
O algoritmo é Raster para vetor (poligonizar), id gdal:polygonize, que encapsula o utilitário do GDAL gdal_polygonize.

Abra a ferramenta
Raster > Converter > Raster para vetor (poligonizar), ou a Caixa de Ferramentas de Processamento, em GDAL, Conversão de raster.
Escolha a banda
Banda 1, a menos que suas classes estejam em outro lugar. Apenas uma banda, então reduza um raster RGB a uma única banda de classes.
Dê um nome ao campo
DN é o padrão. Renomeie-o para landcover_code, em vez de DN.
Decida sobre a conectividade de 8
Desativada por padrão, portanto os pixels precisam compartilhar uma borda inteira para se unir. Ative-a para que pixels que se tocam diagonalmente também se unam. Desativada, uma feição diagonal fina se divide em uma cadeia de polígonos. No nosso teste com o WorldCover, abaixo, ativá-la reduziu em 21% a contagem de polígonos e em nada a de vértices: ela agrupa pixels, não os suaviza.
Salve em um arquivo real
O padrão é uma camada temporária. 100 km² de cobertura do solo a 10 m geraram 9.221 polígonos e um GeoPackage de 4,9 MB, então grave direto em um arquivo.
![A caixa de diálogo Polygonize do QGIS: Land cover 10 m [EPSG:32631], Band 1 (Palette), campo landcover_code, conectividade de 8 desmarcada, saída para um GeoPackage.](/_next/image?url=%2Fblog%2Fraster-to-vector-qgis%2F02_polygonize_dialog.jpg&w=3840&q=75&dpl=dpl_BQSjgVriQdo7BQHEs5XFkbdrSQbY)
Duas coisas economizam tempo. Primeiro, defina um valor NoData para a classe que você não quer: o GDAL então lê a máscara de validade da banda e ignora esses pixels, em vez de envolver tudo em um enorme polígono de fundo. Essa é a reclamação mais comum sobre a saída da poligonização, e é uma propriedade do raster, não uma configuração da ferramenta.

Segundo, observe o tipo da banda. gdal:polygonize sempre grava um campo inteiro, portanto converte uma banda float na entrada, e isso falha de duas maneiras dependendo de como o raster armazena seus valores. Nenhuma delas gera um aviso. Uma banda Float32 passa primeiro pelo Método 3.
A escada e o ruído: crivo primeiro, simplificar como cobertura
A poligonização traça limites de pixels, então uma borda diagonal de campo volta como degraus em ângulo reto, um por pixel. Uma classificação Sentinel de 10 m produz escadas de 10 m.

Essa é a saída correta, e nenhuma configuração dentro da poligonização a altera. O que a corrige é uma etapa no raster antes de poligonizar e uma etapa de cobertura depois. Em um quadrado de 10 km do ESA WorldCover em torno de Crest, na Drôme, a poligonização retornou 9.221 polígonos e 200.656 vértices, e 57% desses polígonos eram menores que cinco pixels. Aplicar um crivo de 10 pixels antes reduziu isso para 2.660 polígonos e mudou a classe de 1,75% dos pixels.
A correção vetorial habitual então estraga o mapa. O Simplify do QGIS trabalha um polígono por vez, então dois vizinhos simplificam de maneira diferente a borda que compartilham: com tolerância de 10 m, isso abriu 88 ha de lacunas e 81 ha de sobreposições no quadrado de 10.000 ha. O Simplify coverage trata a camada como uma única malha e não deixou nenhuma.
| Etapa no quadrado de 10 km | Polígonos | Vértices | GeoPackage | Pixels cuja classe mudou | Lacunas e sobreposições |
|---|---|---|---|---|---|
| Poligonizar, padrão com conectividade de 4 | 9.221 | 200.656 | 4,9 MB | 0% | 0 |
| Poligonizar, com conectividade de 8 | 7.284 | 200.656 | 4,7 MB | 0% | 0 |
| Crivo de 5 px, depois poligonizar | 3.886 | 168.060 | 3,6 MB | 0,94% | 0 |
| Crivo de 10 px (o padrão), depois poligonizar | 2.660 | 155.920 | 3,2 MB | 1,75% | 0 |
| Crivo de 50 px, depois poligonizar | 1.001 | 122.440 | 2,4 MB | 5,36% | 0 |
| Crivo de 10 px, depois Simplify a 10 m | 2.660 | 57.896 | 1,5 MB | 4,11% | 169 ha |
| Crivo de 10 px, depois Simplify coverage a 10 m | 2.660 | 84.984 | 1,9 MB | 2,63% | 0 |
O crivo supera o filtro $area pelo mesmo motivo. Excluir todos os polígonos abaixo de 500 m² remove 5.263 pontinhos, os mesmos que um crivo de 5 pixels absorve, mas deixa 94 ha de buracos; o crivo entrega esses pixels ao maior vizinho, então o mapa continua sem lacunas. Dos 51 tutoriais do QGIS no YouTube do nosso corpus de pesquisa que citam o Polygonize, nenhum executa o Crivo antes.

No QGIS, a limpeza inteira tem quatro etapas, nesta ordem.
Aplique o crivo ao raster
Raster > Análise > Crivo, id gdal:sieve, antes de poligonizar. O limite é em pixels e o padrão é 10, ou seja, 1.000 m² em um raster de 10 m. Todo trecho menor que isso assume o valor do seu maior vizinho. A mudança de classe cresce com o limite: 1,75% dos pixels em 10, 8,19% em 100.
Poligonize o raster filtrado
Método 1, como acima. Não precisa de Dissolve: a poligonização já grava um polígono por trecho.
Simplify coverage
Caixa de Ferramentas de Processamento, Vector coverage, native:coveragesimplify, disponível no QGIS desde a 3.36. A tolerância é em unidades da camada e o padrão é 1. Em um raster de 10 m, não removeu nada a 5 m e removeu 45% dos vértices a 10 m, então comece em um pixel. Mantenha o Simplify comum para trechos isolados que não compartilham nenhuma borda, como uma classe sobre NoData.
Suavize, mas apenas nas curvas
native:smoothgeometry, em elementos genuinamente curvos: riachos, linhas costeiras, áreas de vegetação. O deslocamento padrão é 0.25, e as iterações controlam o quanto ele fica arredondado. Defina Maximum node angle to smooth como 90 e os cantos mais agudos permanecem nítidos, preservando os cantos de edifícios e parcelas.
Como medimos isso. ESA WorldCover 2021 v200, bloco N42E003, um quadrado de 10 km centrado em Crest (44,728 N, 5,022 E), reprojetado para EPSG:32631 a 10 m por vizinho mais próximo, em 23 de setembro de 2026. “Pixels cuja classe mudou” grava os polígonos de volta na mesma grade e os compara com o raster original. Lacunas e sobreposições são a área que nenhum polígono cobre e a área que dois polígonos cobrem. As linhas de poligonização, crivo, Simplify e Simplify coverage foram refeitas com as ferramentas do QGIS 3.44.7 (GDAL 3.12, GEOS 3.14) e deram as mesmas contagens. Uma janela, um produto de cobertura do solo e um tamanho de pixel: um raster de 30 m ou de 1 m muda todos os números.
Use quando: o raster contém classes como inteiros.
Ignore quando: a banda é float, uma fotografia ou elevação.
Método 2: um modelo de segmentação para fotografias
Um modelo de segmentação aprendeu como os objetos são visualmente, então os encontra em uma fotografia onde nenhum valor de pixel os separa. Desenvolvemos um desses, AI Segmentation. Esta seção trata da nossa própria ferramenta.
Poligonize a mesma ortofoto e você obtém ruído. Um telhado vermelho e um carro vermelho têm valores de pixel semelhantes, assim como um telhado cinza e uma estrada cinza. As classes existem na sua cabeça, não no arquivo.
Instale pelo gerenciador de complementos
Sem GPU, sem ambiente Python e sem pesos de modelo para baixar.
Crie uma conta
É necessário. Cota gratuita, depois € 39 por mês, sem impostos.
Escolha um modo
Os dois modos na nuvem enviam imagens para um servidor. O pequeno modelo local permanece na sua máquina.
Execute sobre sua extensão
Volta uma camada de polígonos no SRC do projeto, com label, class, score, area_m2 e perimeter_m em cada feição.
Filtre a saída
A saída bruta do modelo precisa de filtragem, assim como a saída da poligonização precisa de limpeza. Em uma execução no centro de Paris, mantive 82 polígonos de 635, e esses 82 continham 84% da área construída.

Cinco outros plugins fazem esse trabalho, e o nosso está na última linha. Os custos e planos gratuitos foram verificados em 23 de agosto de 2026.
| Ferramenta | O que você instala | GPU | Conta | As imagens deixam sua máquina | O que sai | Custo |
|---|---|---|---|---|---|---|
| Deepness (código-fonte) | Gerenciador de complementos, depois os pacotes Python e um modelo ONNX | Opcional, CPU funciona | Não | Não | Camada de polígonos, caixas delimitadoras ou um raster | Gratuito |
| Geo-SAM | Gerenciador de complementos, depois dependências e pesos do modelo na caixa de diálogo de configurações | Opcional, os cliques rodam na CPU | Não | Não | Camada de polígonos, em nível de pixel ou simplificado | Gratuito |
| samgeo | Um pacote Python no seu ambiente, sem painel QGIS | Recomendado | Não | Não | GeoJSON, Shapefile ou GeoPackage que você mesmo carrega | Gratuito |
| Mapflow (site) | Gerenciador de plugins | Não | Sim | Sim no serviço em nuvem, seu upload GeoTIFF ou o serviço de blocos que você indicar. Uma opção on-premise para empresas é oferecida | Camada de polígonos | Créditos, pago |
| Bunting Labs AI Vectorizer | Gerenciador de complementos | Não | Sim | Sim, em blocos do raster | Vértices na camada que você está vetorizando | Teste, depois 29 dólares por mês |
| AI Segmentation (nosso) | Gerenciador de complementos | Não | Sim | Sim nos dois modos na nuvem, não no pequeno modelo local | Camada de polígonos no SRC do projeto, com label, class, score, area_m2 e perimeter_m | Cota gratuita, depois € 39 por mês, sem impostos |
Um limite para cada um.
- Deepness executa o modelo que você fornecer, então você precisa encontrar ou treinar um primeiro.
- Geo-SAM aceita cliques e caixas, um objeto por vez.
- samgeo não tem interface QGIS. Você escreve Python.
- Mapflow oferece modelos prontos para edifícios, florestas, estradas e canteiros de obras.
- Bunting Labs AI Vectorizer acompanha linhas enquanto você vetoriza.
- AI Segmentation, o nosso, envia imagens para um servidor nos dois modos na nuvem. Apenas o pequeno modelo local permanece local.
Use quando: a entrada é uma fotografia e há mais objetos do que você desenharia manualmente.
Ignore quando: as imagens não podem sair da sua máquina, que um plugin local como Deepness ou Geo-SAM pode atender.
Experimente gratuitamente no QGIS, sem cartão
Método 3: reclassifique e depois poligonize
Poligonizar um raster contínuo falha de uma de duas maneiras, dependendo de como os valores são armazenados.
Armazenado como números inteiros escalados, como os produtos NDVI são distribuídos, você obtém um polígono para quase todos os pixels. Medi 39.801 polígonos em 40.000 pixels em uma cena Sentinel-2.
Armazenado como floats brutos entre -1 e 1, a conversão para inteiro achata todos os valores para -1, 0 ou 1 antes do início do traçado. A mesma cena voltou como 238 polígonos em duas classes. Parece limpo, mas os valores desapareceram.

Declividade, elevação, temperatura e uma banda de reflectância bruta fazem o mesmo. A ferramenta traça limites entre valores inteiros, e um raster contínuo não tem limites que valha a pena traçar. Portanto, crie as classes você mesmo com Reclassificar por tabela, id native:reclassifybytable.
Abra Reclassificar por tabela
Caixa de Ferramentas de Processamento, Análise raster. O raster contínuo é a entrada.
Digite a tabela de classes
Três colunas: mínimo, máximo, novo valor. Aceita -inf, inf e nan para NoData. Uma máscara de vegetação tem três linhas.
| Mínimo | Máximo | Valor |
|---|---|---|
| -inf | 0.2 | 1 |
| 0.2 | 0.5 | 2 |
| 0.5 | inf | 3 |
Defina o tipo de dados da saída
Nos parâmetros avançados, Output data type tem Float32 como padrão. Defina Byte ou Int16 para que a poligonização funcione corretamente.
Verifique os limites do intervalo
Range boundaries tem como padrão min < value <= max, o que decide onde um pixel exatamente em 0.2 será colocado. Escolha de acordo com o significado da sua definição de classe.
Poligonize o resultado
Execute o Método 1 no raster reclassificado e depois as quatro etapas de limpeza.

Use quando: você consegue dizer em números onde uma classe termina e a próxima começa.
Ignore quando: o que você quer é um objeto, não um intervalo de valores.
Método 4: curvas de nível a partir de um MDE
Para elevação, não poligonize. Use Contorno em Raster > Extrair > Contorno, id gdal:contour.
Abra Contour
Raster > Extrair > Contorno, com o MDE como entrada.
Defina o intervalo
O padrão é 10.0 nas unidades do raster, então um MDE métrico recebe uma linha a cada 10 m.
Dê nome ao atributo
A elevação vai para ELEV por padrão. Mantenha-o e use-o para os rótulos.
Decida sobre Produce 3D vector
Marque para incluir a altura em cada vértice. Deixe desmarcado para um mapa impresso, pois muitos softwares removem o Z.
Mude para polígonos de contorno para bandas preenchidas
O algoritmo irmão gdal:contour_polygon fornece bandas preenchidas entre duas elevações, com ELEV_MIN e ELEV_MAX em cada polígono. Esse é o indicado para um mapa hipsométrico ou uma extensão de inundação, e evita poligonizar um MDE reclassificado manualmente.


Os contornos de um MDE lidar saem com ruído porque a superfície tem ruído. Suavize o raster antes da etapa de contorno, nunca as linhas depois: linhas suavizadas se cruzam.
Use quando: o que você quer é um nível: elevação, profundidade, chuva, concentração.
Ignore quando: o raster já contém classes.
Método 5: mapas de papel digitalizados
Se você veio do ArcGIS procurando o equivalente QGIS do ArcScan, ele não existe. O QGIS não tem traçado interativo de raster, em que você clica em uma linha de uma digitalização e a ferramenta a acompanha, e prefiro dizer isso a fazer você procurar pelos menus. Para saber o que mais muda quando você migra, veja QGIS vs ArcGIS Pro.
O caminho gratuito passa pelo GRASS, que acompanha a maioria dos instaladores do QGIS.
Aplique um limiar à digitalização
Transforme a folha digitalizada em um raster binário: linhas em um valor e papel no outro.
Afine as linhas
r.thin reduz cada traço a uma largura de um único pixel.
Vetorize
r.to.vect com o tipo de feição line. A documentação do GRASS alerta que isso cria nós excessivos em junções e ramificações pendentes, então reserve tempo para a limpeza.
Existem outras duas rotas. Potrace e AutoTrace funcionam fora do QGIS: bitmap entra, vetor sai, e depois você georreferencia o resultado. Eles funcionam bem em digitalizações de alto contraste e ignoram a geografia.
Dentro do QGIS, o Bunting Labs AI Vectorizer (listagem no repositório QGIS) completa automaticamente uma linha enquanto você vetoriza, voltado para mapas geológicos, as-builts e plantas. Ele envia blocos do raster para os servidores deles, não há plano gratuito além de um teste, e os preços publicados começam em 29 dólares por mês, conforme verificado em 23 de agosto de 2026.
Para algumas poucas feições, a vetorização manual com aderência ainda vence. Eu não criaria um fluxo de traçado para menos de aproximadamente cinquenta feições.
Use quando: a digitalização contém linhas limpas e centenas de feições.
Ignore quando: a folha está apagada, hachurada ou anotada sobre as linhas.
O que lembrar
| O que as propriedades dizem | Método |
|---|---|
| Banda inteira, menos de cem valores distintos | Método 1, crivo, poligonizar, depois Simplify coverage |
| Três bandas de uma fotografia | Método 2, um modelo de segmentação |
| Banda float, milhares de valores distintos | Método 3, reclassificar por tabela, depois Método 1 |
| Elevação em metros ou qualquer superfície suave | Método 4, contorno ou polígonos de contorno |
| Uma folha digitalizada sem valores de classe | Método 5, GRASS ou vetorização manual |
A contagem de valores distintos resolve a questão. Abaixo de cem, alguém já classificou o raster, e a poligonização traça essas classes de forma limpa.
Na casa dos milhares, ninguém classificou nada, então você define os limiares manualmente no Método 3 ou entrega o trabalho a um modelo no Método 2.
A escada é uma saída correta, e nenhuma configuração dentro da poligonização a remove. Aplique o crivo ao raster primeiro e depois o Simplify coverage, não o Simplify, para que os vizinhos mantenham uma única borda compartilhada.
Cada etapa de limpeza move vértices, então calcule qualquer área que alimente um relatório a partir do raster, e não dos polígonos.
A poligonização não consegue ler uma fotografia em nenhuma configuração, porque as classes estão na sua cabeça, não no arquivo.
Perguntas frequentes
Raster para polígono é a mesma coisa que raster para vetor?
Não exatamente. Raster para vetor inclui polígonos, linhas e pontos. Raster para polígono é especificamente o caminho da poligonização, Raster > Converter > Raster para vetor (poligonizar), que é o Método 1. Os contornos do Método 4 também são raster para vetor, mas resultam em linhas.
Por que a poligonização me dá um único polígono gigante ao redor de tudo?
A classe de fundo não tem um valor NoData definido, então o GDAL a traça como dado real. Defina NoData nessa classe nas propriedades do raster e execute o Método 1 novamente.
Por que a poligonização criou um polígono para quase todos os pixels?
O raster é contínuo, não classificado, então quase nenhum par de pixels vizinhos tem o mesmo valor. Reclassifique-o primeiro: Método 3.
Como removo as bordas em escada?
Aplique o crivo ao raster antes de poligonizar, depois execute o Simplify coverage em cerca de um pixel e, por fim, o Smooth apenas em feições curvas. O Simplify comum trabalha polígono a polígono e abre lacunas entre vizinhos. Calcule as áreas a partir do raster se elas alimentarem um relatório.
O QGIS tem um equivalente ao ArcScan?
Não. O QGIS principal não tem traçado interativo de raster. O Método 5 oferece o caminho gratuito, GRASS r.thin e depois r.to.vect, e a opção paga, o plugin Bunting Labs a partir de 29 dólares por mês.
Posso poligonizar uma foto aérea ou uma imagem de satélite?
Não, e a saída ficará parecida com estática, pois um telhado vermelho e um carro vermelho compartilham valores de pixel. Use um modelo de segmentação: Método 2.
Como removo os polígonos minúsculos que a poligonização cria?
Execute Raster > Análise > Crivo no raster antes de poligonizar. Ele funde cada trecho abaixo do limite ao seu maior vizinho. Excluir polígonos pequenos depois deixa buracos.
Raster para vetor é gratuito no QGIS?
Sim para os Métodos 1, 3 e 4: poligonização, reclassificação, curvas de nível e os algoritmos de limpeza fazem parte do QGIS principal. Apenas o caso de fotografias e o traçado pago de digitalizações custam dinheiro.
O guia de footprints de edificações acompanha a etapa de filtragem do início ao fim, e o artigo sobre SAM no QGIS explica quais objetos esses modelos encontram bem. A central de IA do QGIS compara os plugins lado a lado. Se você só precisa de edificações, nossa ferramenta gratuita de footprints de edificações os extrai de dados abertos no navegador, sem plugin.
, abra 

