Gunakan Eliminate (Diperlukan Lisensi ArcInfo)
Hilangkan poligon dengan menggabungkannya dengan poligon tetangga yang memiliki area terbesar atau perbatasan bersama terpanjang. Eliminate sering digunakan untuk menghilangkan poligon sliver kecil yang merupakan hasil dari operasi overlay, seperti Intersect atau Union.
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000005p000000.htm
Pengguna ArcGIS 10 Perhatikan ada Fitur BARU di Opsi untuk Alat ini.
Sekarang dimungkinkan untuk mempertahankan POLYGON atau POLYLINE asli dengan opsi> ex_features (Opsional) Input polyline atau kelas fitur atau lapisan polygon yang mendefinisikan batas-batas poligon, atau bagian-bagiannya, yang tidak boleh dihilangkan.
Untuk melakukan ini dengan tangan di QGIS, buka
Settings|Project Properties...
PadaGeneral
tab di bagian bawah adalahSnapping options...
Periksa lapisan yang ingin Anda jepret, atur mode keto vertex
dan atur toleransi ke beberapa nilai kurang dari jarak terdekat antara dua titik yang Anda miliki. Jika Anda tidak yakin, atur unit kepixels
dan toleransi ke sesuatu seperti 5 sehingga jika ada beberapa detail fiddly Anda dapat memperbesar langsung dan pastikan bahwa Anda tidak mengambil titik yang salah.Kemudian edit layer vektor Anda, pilih alat simpul, dan pindahkan titik yang salah ke rekan-rekan mereka.
Melakukannya secara otomatis agak sulit. AFAIK QGIS tidak memiliki plugin untuk mengotomasinya, dan meskipun PostGIS dibangun di atas GEOS yang memang memiliki fungsi gertakan, mereka tidak terpapar ke PostGIS. Dimungkinkan untuk menulis kueri untuk memeriksa setiap titik poligon untuk tetangga dalam jarak gertakan, tetapi saat ini di luar akal saya untuk memperluas.
GRASS memiliki v.clean.snap yang dapat Anda akses melalui QGIS, tetapi ada langkah ekstra untuk membuat dataset GRASS.
sumber
Jika Anda terbiasa dengan QGIS: Pada trunk QGIS 1.9 (dapat diinstal sebagai qgis.dev melalui installer OSGEO, lihat homepage qgis) adalah fungsi baru dalam menu vektor yang disebut "Eliminate sliver polygons", yang melakukan apa yang Anda inginkan. ingin. Anda dapat memilih poligon yang bermasalah dan menggabungkannya ke poligon yang berdekatan berdasarkan batas umum atau proposisi area. Cobalah!
sumber
Jika Anda adalah pengguna QGIS daripada Anda mendapatkan semua kekuatan GRASS, karena itu adalah GIS sepenuhnya topologi. Di dalam QGIS aktifkan plugin GRASS, buat lokasi / mapset tempat mengimpor data Anda.
Buka mapset dan impor layer kotor Anda dengan v.in.ogr: mainkan dengan dua parameter lanjutan "snapping threshold for boundaries" dan "ukuran minimum area yang akan diimpor".
Anda juga dapat menggunakan opsi yang disediakan modul v.clean.
sumber
ArcGIS memiliki aturan topologi yang akan membantu Anda mengidentifikasi dan memperbaiki kesenjangan dalam data Anda seperti apa yang Anda maksud. Untuk membuat Aturan Topologi, Anda akan memerlukan lisensi ArcEditor atau ArcInfo dan menyimpan Kelas Fitur Anda dalam Dataset Fitur dalam geodatabase pribadi atau file.
Anda kemungkinan besar ingin menerapkan aturan " Must Not Have Gaps ". Setelah Anda membuat basis aturan dengan semua aturan yang menurut Anda perlu, Anda ingin memvalidasi topologi yang akan mengidentifikasi semua kesalahan dalam data Anda.
Kemudian, menggunakan Inspektur Kesalahan dan Perbaiki Kesalahan Topologi Alat , Anda dapat memilih secara individual atau massal kesalahan yang ingin Anda perbaiki dan bagaimana Anda ingin memperbaikinya (yaitu- membuat poligon baru untuk mengisi kekosongan atau bergabung dengan poligon yang lebih besar di dekatnya) .
sumber
Ada fungsi "Hilangkan sliver poligon" di QGIS 2.12 (Lyon) Toolbox. Saya yakin itu juga dalam beberapa versi sebelumnya.
sumber
Yah, saya telah menggunakan fungsi PostGIS (saya gunakan pada QGIS saya secara langsung) yang mengeksekusi snap rekursif untuk menyelesaikan masalah ini. Hasilnya cukup baik, itu hanya menuntut nilai toleransi toleransi yang bagus untuk mendapatkan hasil terbaik. Jika Anda bersedia untuk mencoba, periksa (dalam kasus saya geometri semua multi, maka st_multi dalam eksekusi saya):
sumber
Bukan solusi yang sempurna, tetapi salah satu dari dua hal ini bekerja untuk saya dalam banyak kasus:
Dalam QGIS, simpan layer dalam format GEOJSON. Tetapi sebelum menyimpan, dalam kotak dialog "save layer as", atur presisi koordinat ke 3 (15 adalah default). Ini akan memiliki efek menyatukan simpul yang sangat dekat satu sama lain.
Buka Mapshaper , unggah file, dan tekan "simplify." Di sudut kiri atas ia akan memberi tahu Anda berapa banyak persimpangan garis yang ditemukannya, dan akan memberi Anda opsi untuk memperbaikinya. Saya menemukan perbaikan ini berfungsi sekitar separuh waktu.
sumber
Saya belum pernah menggunakannya, tetapi ET Geowizards , yang membawa banyak alat pengolah ArcEditor dan ArcInfo hanya ke lisensi tingkat ArcView (alias Standar ArcGIS) memiliki Eliminate Wizard yang "Menghilangkan poligon (sliver) yang tidak diinginkan dengan menggabungkannya ke dalam poligon yang berdekatan atau menghapusnya " . Toolkit panduan akan memberi Anda $ 250 usd ( daftar harga ).
sumber
Saya menghadapi masalah yang sama, yang dengan mengeksplorasi alat-alat saya diselesaikan dengan mudah meskipun saya tidak tahu logikanya. ! [Pada alat buka kotak alat Manajemen Data, buka Kelas Fitur dan jalankan skrip Integrasi dengan klik dua kali] [1]
di jendela Script pilih kelas fitur yang memiliki masalah dan dalam toleransi XY tambahkan lembah dengan mengukur jarak dengan bantuan alat ukur di beberapa titik dan dapatkan lembah rata-rata menempatkan nilai itu di lingkungan toleransi dan menerapkan masalah diselesaikan Saya lakukan tidak sekarang bagaimana tetapi diselesaikan dengan akurasi sekitar 90%. ! [masukkan deskripsi gambar di sini] [2]
Saya mencoba semua metode lain yang dijelaskan dalam jawaban di atas tetapi sulit dan rumit untuk mendapatkan koreksi otomatis untuk kesenjangan antara poligon yang berdekatan.
sumber