Converter linhas em polígonos no QGIS produz polígonos de tira

9

Ao tentar poligonalizar a camada de polilinha no PyQGIS usando

processing.runandload("qgis:linestopolygons",explode_path,polygon_path)

comando no console python, ele não cria polígonos correspondentes às arestas da linha. Em vez disso, cria polígonos de fita ao longo das bordas curvas. Por que os polígonos não são criados ao longo das arestas da linha?

insira a descrição da imagem aqui

Na poligonização, as linhas pretas devem ser as arestas dos polígonos criados. Em vez disso, apenas algumas lascas são criadas ao longo das bordas curvas (polígonos azuis).

Sjs
fonte
Você já experimentou a versão da ferramenta SAGA:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph
@ Joseph tentou a versão SAGA agora. Ainda o resultado é o mesmo.
Sjs 23/09/16
11
Tente limpar seu shapefile de linha com o plugin Geometry Checker ou a ferramenta GRASS v.clean .
Joseph
2
@ Joseph, os dados são topologicamente limpos. Obteve o resultado desejado usando a ferramenta 'Poligonizar'. Obrigado pelos comentários.
Conheci
Nice one, feliz que você encontrou a solução =)
Joseph

Respostas:

8

Obtenha os polígonos exatos conforme desejado, usando o algoritmo 'Polygonize' (Processing Toolbox -> QGIS Geoalgorithms -> Polygonize) no console python.

import processing
polygon_path = "C:\\Documents and Settings\\User\\polygonsFormed.shp"
line_path = "C:\\Documents and Settings\\User\\inputLine.shp"
processing.runandload("qgis:polygonize",line_path,False,False,polygon_path)
Sjs
fonte
0

Teve o mesmo problema ao usar a ferramenta 'Linhas para polígonos' disponível no menu Vetor. Tem muitos polígonos pequenos, embora os dados estejam topologicamente corretos.

"Poligonalizar"

O geoalgoritmo do QGIS disponível na barra de ferramentas de processamento funcionou para mim.

Karthikeyan
fonte