Saya memiliki shapefile dengan area kota tetapi sayangnya shapefile hanya berisi satu garis. Shapefile terlihat seperti ini:
Saya ingin mengonversi garis-garis tersebut ke shapefile area-poligon di QGIS. Saya mencobanya dengan alat "Garis ke poligon" (Vektor> Alat Geometri> Garis ke poligon), tetapi tidak berfungsi dengan benar. Setelah menggunakan alat ini, shapefile terlihat seperti ini:
Apakah ada cara lain untuk mengubah garis shapefile ke area poligon shapefile di QGIS?
Omong-omong, saya menggunakan QGIS 2.14.3 Essen.
Jawaban:
The
Polygonize
alat dari toolbox Pengolahan masih berfungsi dengan baik untuk saya pada garis sederhana:Namun perlu bahwa garis berpotongan, atau berbagi simpul umum. Dan garis seharusnya tidak memiliki persimpangan pribadi.
Anda mungkin perlu mengambil simpul sudut untuk membuatnya bekerja. Saya biasanya mengatur toleransi gertakan ke 10 piksel ke titik.
sumber
Hanya sebuah petunjuk jika Anda tidak dapat menemukan
Polygonize
alatnya. Dalam instalasi QGIS 2.18.3 saya (Windows) saya tidak dapat menemukanPolygonize
alat diVector geometry tools
dalam Toolbox. Butuh beberapa waktu untuk menyadari bahwa saya perlu menginstalpython-shapely
perpustakaan dengan OSGeo4W (terima kasih Nick Hopton: Perfect Polygons in QGIS ).sumber
Melihat gambar Anda, saya akan berasumsi bahwa setiap baris tidak sepenuhnya mencakup area, garis hanya bertindak sebagai pagar dan tidak menyambung kembali di awal. Poligon Anda sedang dibuat dari ujung garis sehingga alat 'garis ke poligon' berfungsi dengan baik, datanya adalah masalahnya.
Saya khawatir satu-satunya yang dapat Anda lakukan yang dapat saya pikirkan adalah mendigitalkan lapisan poligon baru. Untungnya QGIS telah membuatnya sangat mudah dengan alat digitalisasi jejak (ikon magnet) yang tersedia di 2.14
sumber
Jika tidak ada lubang, saya akan membuat lapisan awal dengan poligon tunggal yang cukup besar untuk menutupi seluruh area Anda. Lalu saya akan memotongnya dengan hasil garis-ke-poligon Anda dan membaginya lebih lanjut sesuai kebutuhan.
sumber
Saya dapat menyarankan menggunakan
"Virtual Layer"
melaluiLayer > Add Layer > Add/Edit Virtual Layer...
.Anggaplah kita memiliki lima fitur garis
"lines"
, lihat gambar di bawah.Dengan Permintaan berikut, dimungkinkan untuk mencapai hasil.
Output Virtual Layer akan terlihat seperti
Seperti yang telah disebutkan oleh @AndreJ , garis akan memotong atau berbagi simpul umum. Dan garis seharusnya tidak memiliki persimpangan pribadi. Dalam hal membersihkan topologi layer, saya dapat menyarankan menjelajahi
v.clean
toolset GRASS.Dalam kasus garis memiliki persimpangan sendiri, Anda dapat menggunakan ConvexHull dengan Query berikut
Referensi:
sumber
Jika polyline saling tumpang tindih,
Polygonize
alat tidak dapat menanganinya sebagai berikut:Namun
Lines to polygons
alat bekerja seperti yang diharapkan sebagai berikut:sumber