Eu tenho um shapefile com áreas da cidade, mas infelizmente o shapefile contém apenas linhas únicas. O shapefile fica assim:
Eu quero converter essas linhas em um shapefile de área-polígono no QGIS. Eu tentei com a ferramenta "Linhas para polígonos" (Vetor> Ferramentas de geometria> Linhas para polígonos), mas não funcionou corretamente. Depois de usar essa ferramenta, o shapefile fica assim:
Existe alguma outra maneira de converter o arquivo de shapefile de linha em um shapefile de polígono de área no QGIS?
A propósito, estou usando o QGIS 2.14.3 Essen.
Respostas:
A
Polygonize
ferramenta da caixa de ferramentas Processamento ainda funciona bem para mim em linhas simples:No entanto, é necessário que as linhas se cruzem ou compartilhem vértices comuns. E as linhas não devem ter auto-interseção.
Pode ser necessário ajustar os vértices dos cantos para fazê-lo funcionar. Normalmente, defino a tolerância de snap para 10 pixels no vértice.
fonte
Apenas uma dica, se você não encontrar a
Polygonize
ferramenta. Na minha instalação do QGIS 2.18.3 (Windows), não encontrei aPolygonize
ferramenta naVector geometry tools
Caixa de Ferramentas. Demorei um pouco para perceber que eu precisava instalar apython-shapely
biblioteca com OSGeo4W (obrigado Nick Hopton: Perfect Polygons in QGIS ).fonte
Olhando para a sua imagem, eu assumiria que cada linha não abrange totalmente uma área, as linhas estão apenas atuando como cercas e não se reconectando no início. Seus polígonos estão sendo criados a partir das extremidades das linhas, para que a ferramenta 'linhas para polígonos' esteja funcionando bem, pois os dados são o problema.
Receio que o único que você possa fazer seja digitalizar uma nova camada de polígonos. Felizmente, o QGIS tornou isso muito fácil com a ferramenta de digitalização de traços (um ícone de ímã), disponível na versão 2.14
fonte
Se não houver furos, eu criaria uma camada de rascunho com um único polígono grande o suficiente para cobrir toda a sua área. Então eu o interceptaria com o resultado de linhas para polígonos e o dividiria ainda mais, conforme necessário.
fonte
Posso sugerir o uso de um
"Virtual Layer"
meioLayer > Add Layer > Add/Edit Virtual Layer...
.Vamos supor que temos cinco recursos de linha
"lines"
, veja a imagem abaixo.Com a seguinte consulta, é possível alcançar o resultado.
A camada virtual de saída será semelhante
Como já foi mencionado por @AndreJ, as linhas devem se cruzar ou compartilhar vértices comuns. E as linhas não devem ter auto-interseção. Em termos de limpeza da topologia da camada, posso sugerir a exploração do
v.clean
conjunto de ferramentas GRASS.Caso as linhas tenham auto-interseção, você pode usar um ConvexHull com a seguinte consulta
Referências:
fonte
Se as polilinhas se sobrepuserem, a
Polygonize
ferramenta não poderá lidar com isso da seguinte maneira:No entanto, a
Lines to polygons
ferramenta funciona conforme o esperado da seguinte maneira:fonte