Apakah ada opsi dalam QGIS untuk mengisi lubang dalam poligon secara otomatis dengan mengatur parameter misalnya area maksimum, jarak antar garis batas? Saya ingin menghapus / mengisi lubang yang sangat "tipis" / kecil.
Apakah ada opsi dalam QGIS untuk mengisi lubang dalam poligon secara otomatis dengan mengatur parameter misalnya area maksimum, jarak antar garis batas? Saya ingin menghapus / mengisi lubang yang sangat "tipis" / kecil.
Jawaban:
Menggunakan QGIS 2.10.1-Pisa dengan Memproses versi 2.10.2, ada beberapa alat yang tersedia dari Processing Toolbox :
Semoga ini membantu!
Saya menghadapi masalah yang sama dengan Anda dengan shapefile ini, memiliki banyak celah di antara poligon.
Untuk menyelesaikan masalah, Anda dapat menggunakan sedikit modifikasi metode tshiffle:
Tindakan ini akan membuat shapefile baru yang hanya terdiri dari satu poligon, jadi Anda harus meledakkannya menjadi satu bagian. Untuk itu, Anda bisa menggunakan Vector / Geometry Tools / Multipart ke alat singleparts.
Setelah itu, hapus entitas eksternal. Sekarang Anda memiliki, dalam bentuk baru, beberapa poligon yang menutupi celah cakupan asli Anda.
Mungkin ada solusi yang lebih elegan di luar sana, tetapi ini selalu berhasil untuk saya.
1) Buat poligon "mengisi lubang". Untuk melakukan ini, gambar poligon raksasa lebih besar dari aslinya dan gunakan alat "perbedaan". Jika Anda menggambar poligon yang jauh lebih besar, Anda akan memiliki semua poligon "lubang-mengisi" plus satu poligon lebih besar yang mengelilingi bentuk aslinya. Hapus poligon besar itu, pertahankan poligon "mengisi lubang".
2) Gabungkan poligon "mengisi lubang" dengan shapefile asli. Jika Anda hanya ingin mengisi lubang yang sesuai dengan kriteria tertentu (yaitu di bawah X jumlah kilometer persegi) Anda dapat memfilter untuk itu di sini.
3) Larutkan poligon yang baru digabungkan pada bidang yang sama.
Saya telah melihat beberapa penjelasan mengikuti jalur yang sama dengan gtapko dan tshiffle, tetapi tidak ada yang berhasil untuk saya karena geometri yang tidak valid membuat alat perbedaan menjadi tidak berfungsi. Jadi, saya datang dengan solusi saya sendiri yang tidak 100% terotomatisasi, tetapi dapat dikelola. Mungkin seseorang sudah menemukan ini, tapi saya akan mengambil risiko:
1) Buat ID pada lapisan asli yang rusak
Membuat atribut ID itu sederhana, tetapi juga solusi saya, jadi saya akan membahasnya.
Pertama, Anda harus membuka tabel atribut Anda dan kemudian pergi ke Kalkulator Bidang , yang merupakan tombol yang cukup mirip sempoa. Di sana, Anda akan diberikan opsi untuk membuat bidang baru atau memperbarui yang sudah ada. Pada gambar di atas saya membuat yang baru bernama "ID". Rumusnya tepat di akhir gambar. (Maaf karena QGIS saya diatur dalam bahasa yang berbeda. Karena desain dan formula persis sama di seluruh versi bahasa, saya pikir itu tidak akan menghalangi kami di sini.)
2) Ubah poligon menjadi garis
Langkah ini terletak di bagian Vector> Geometry menu. Bentuk Anda yang dikonversi akan terlihat seperti ini:
Tepat setelah mengonversi poligon menjadi garis, Anda harus melakukan sebaliknya, yaitu ...
3) Ubah garis menjadi poligon
Pilihannya tepat di sebelah satu sama lain. Sekali lagi, jangan pedulikan kendala bahasa di sini.
4) Bersukacitalah Alasan Anda melakukan langkah 2 dan 3 adalah karena sekarang Anda yakin garis-garis itu akan dianggap sebagai poligon, yang berarti mereka sekarang memiliki garis mereka sendiri di Tabel Atribut. Jika Anda memeriksanya, akan terlihat seperti ini:
Yang pertama adalah SELALU seluruh poligon (percayalah, saya telah menghapus beberapa ratus baris hari ini ...) dan sisanya adalah garis longgar di tengah. Anda dapat mengaktifkan pengeditan dan bersiap untuk bertindak. Jika Anda memutuskan untuk mencoba ini, dua hal yang harus Anda ingat adalah: mengatur ID-bijaksana meja Anda , dengan cara ini Anda yakin Anda tidak kehilangan apa pun dan menggunakan shift untuk memilih kelompok data, seperti halnya program lain .
Aku sadar ini bukan creme de la creme dari QGIS pemecahan masalah, tetapi jika Anda menghadapi situasi di mana alat-alat yang tidak bekerja karena geometri valid baris ini membuat (Aku bahkan mencoba membubarkan oleh ID, tetapi tidak berhasil), maka ini mungkin jalan keluar.