Mengubah Garis ke Poligon di QGIS menghasilkan Sliver Poligon


9

Saat mencoba untuk mempolimerisasi lapisan polyline di PyQGIS menggunakan

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

perintah dalam konsol python, itu tidak membuat poligon yang sesuai dengan garis tepi. Alih-alih itu menciptakan sliver poligon di sepanjang tepi melengkung. Mengapa poligon tidak dibuat di sepanjang garis tepi?

masukkan deskripsi gambar di sini

Pada poligonisasi, garis hitam seharusnya merupakan tepi dari poligon yang dibuat. Alih-alih hanya beberapa irisan dibuat sepanjang tepi melengkung (poligon biru).


Sudahkah Anda mencoba versi SAGA dari alat ini:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph

@ Joseph baru saja mencoba versi SAGA. Masih hasilnya sama.
Sjs

1
Coba bersihkan shapefile garis Anda dengan plugin Geometry Checker atau alat GRASS v.clean .
Joseph

2
@ Joseph data bersih secara topologis. Dapatkan hasil yang diinginkan menggunakan alat 'Polygonize'. Terima kasih atas komentarnya. Telah mengetahui tentang beberapa checker topologi :)
Sjs

Bagus, senang Anda menemukan solusinya =)
Joseph

Jawaban:


8

Dapatkan poligon yang tepat seperti yang diinginkan menggunakan algoritma 'Polygonize' (Memproses Toolbox -> QGIS Geoalgorithms -> Polygonize) di konsol 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)

0

Punya masalah yang sama saat menggunakan alat 'Garis ke Poligon' yang tersedia di menu Vector. Punya banyak poligon sliver kecil meskipun data secara topologi benar.

"Polygonize"

Geoalgoritma QGIS yang tersedia di bilah alat pemrosesan berfungsi untuk saya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.