Memperbaiki ribuan poligon kecil yang tumpang tindih?

21

Saya menggunakan ArcMap 10.3.

Saya memiliki lapisan berbagai jenis penggunaan lahan. Saya menemukan bahwa banyak poligon saling tumpang tindih dan sebagai hasilnya poligon yang sama memiliki dua tipe penggunaan lahan yang berbeda.

Menggunakan jawaban @ radouxju , saya membangun topologi untuk lapisan penggunaan lahan (dengan aturan tidak boleh tumpang tindih). Lalu, saya menggunakan gabungan untuk memperbaiki poligon besar yang tumpang tindih.

Namun, saya memiliki ribuan poligon kecil yang tumpang tindih. Saya dapat memperbaiki semuanya secara manual yang akan memakan waktu.

Apakah ada cara yang lebih cepat untuk memperbaiki semua kesalahan ini?

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


Saya telah memperbarui peta untuk menunjukkan semua jenis penggunaan lahan. Poligon saling tumpang tindih; bukan sliver.

berkilau
sumber
2
Apakah Alat Integrate akan bekerja untuk Anda?
Fezter
@Fezter Saya tidak berpikir begitu karena mereka poligon tidak memiliki area yang sama dan saya tidak dapat menggunakan toleransi XY yang sama untuk seluruh lapisan.
mengkilap
1
@aelwan: Apa tujuan Anda dengan data ini? Apakah Anda membuat data ini untuk digunakan oleh orang lain (seolah-olah Anda adalah pencetus data)? Atau Anda mencoba "membersihkannya" untuk digunakan dalam peta atau analisis? Alasan saya bertanya adalah data ini seperti data sampah. Ini di luar analisis GIS, perlu sepenuhnya digigit ulang dan memiliki seseorang dengan otoritas (pengetahuan kerja) membuat keputusan berdasarkan informasi tentang di mana batas-batas ini seharusnya. Kalau tidak, saya hanya akan meninggalkan data apa adanya.
alexGIS
@alexGIS Saya sangat setuju dengan Anda tentang seberapa buruk datanya. Namun, itu adalah data TERBAIK yang saya dapatkan. Saya mencoba membersihkan untuk analisis.
mengkilap

Jawaban:

6

Kekhawatiran yang diangkat oleh @Adam Cara sangat valid. Namun ketika saya melihat persimpangan-diri tampak bahwa sebagian besar dari mereka adalah bit kurus pada batas antara 2 poligon besar Atau potongan / pulau terputus dari sebuah poligon besar yang duduk di dalam satu sama lain. Dalam hal ini menghapus tumpang tindih, dan menetapkan tumpang tindih atribut tetangga terdekat (mana yang lebih dulu) dapat bekerja.

Proses:

arcpy.Intersect_analysis("Landuse2b #","D:/Scratch/mpart.shp","ALL","#","INPUT")
arcpy.MultipartToSinglepart_management("mpart","D:/Scratch/spart.shp")
arcpy.Dissolve_management("spart","D:/Scratch/dissolved_1.shp","#","#","SINGLE_PART","DISSOLVE_LINES")
arcpy.Erase_analysis("Landuse2b","dissolved_1","D:/Scratch/erased.shp","#")
arcpy.DeleteField_management("spart","FID_Landus;OBJECTID;Lnduse2013;Shape_Leng;Shape_Area")
arcpy.SpatialJoin_analysis("spart","erased","D:/Scratch/sj_1.shp","JOIN_ONE_TO_ONE","KEEP_ALL"…..)
arcpy.Merge_management("sj;erased","D:/Scratch/merge_1.shp"….)
arcpy.Dissolve_management("merge_1","D:/Scratch/dissolved.shp","Lnduse2013","#","SINGLE_PART","DISSOLVE_LINES")

Uji:

arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")

Pesan:

  • Menjalankan: Persimpangan "terlarut #" D: \ Scratch \ test.shp ALL # INPUT
  • Waktu Mulai: Jumat 22 April 10:16:07 2016
  • Fitur Membaca ...
  • Fitur Retak ...
  • Fitur Perakitan ...
  • PERINGATAN 000117: Peringatan output kosong dihasilkan.
  • Berhasil pada Jumat 22 April 10:16:09 2016 (Waktu Berlalu: 2,34 detik)

Perhatikan pesan ini berarti bahwa tidak ada persimpangan-sendiri pada output dari final Dissolve

Hasil:

https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing

FelixIP
sumber
1
Solusi ini membuatnya "rapi", tetapi tidak "benar". Jika OP tidak khawatir bahwa area yang tumpang tindih dengan "Dairy" dan "Sheep / Beef" sekarang dikategorikan ulang menjadi "Buildup / Taman / Lainnya", dan kategorisasi sewenang-wenang lainnya yang saya lihat ketika membandingkan input ke output, maka solusi ini berhasil. Yang sedang berkata, itu adalah alur kerja yang elegan, kerja bagus.
alexGIS
1
Dengan data seperti itu, tidak ada yang tahu apa yang
BENAR
7

Jika poligon Anda adalah sliver, perintah eliminasi berfungsi dengan baik untuk menggabungkannya menjadi poligon area yang lebih besar atau tepi terpanjang.

Jika poligon tumpang tindih maka mungkin ada cara yang lebih mudah, tetapi saya akan memilih tumpang tindih ke lapisan yang terpisah, kemudian menyatukannya kembali, membuat sliver dan menggunakan perintah eliminasi.

Bryan Waller
sumber
Terima kasih atas waktu dan bantuan Anda. Poligon saya tumpang tindih. Untuk mengikuti jawaban Anda, bagaimana saya bisa memilih tumpang tindih ke lapisan yang terpisah? Tumpang tindih ditampilkan sebagai kesalahan area setelah saya membangun topologi.
mengkilap
Jalankan Intersect ( resources.arcgis.com/EN/HELP/MAIN/10.1/index.html#//… ) pada layer poligon. Hasil Intersect akan menjadi semua tumpang tindih di lapisan ini.
iRfAn
@ iRfAn Terima kasih, saya menjalankan persimpangan dan saya tumpang tindih.
mengkilap
@Bryan Waller Saya mencoba mengikuti apa yang Anda sarankan: Saya memilih overlaps ke layer terpisah menggunakan "intersect"; kemudian persatuan mereka kembali "TAPI TIDAK SILVERS YANG DIBUAT". Setelah saya menggunakan perintah eliminasi, saya masih dapat menemukan poligon yang sama memiliki dua tipe penggunaan lahan yang berbeda. Bantuan apa pun akan dihargai. Anda dapat menemukan lapisan penggunaan lahan di sini goo.gl/0aE3wq
shiny
6
  1. Pilih area kecil dan konversi menjadi dua file bentuk untuk melihat apakah proses ini berhasil.
  2. Buat bidang baru bernama test (number) di s1 dan s2.
  3. Perpotongan dua file bentuk, S1 dan S2.
  4. Area yang tumpang tindih akan diidentifikasi dalam file terpisah misalnya bernama Common1 (Area Tetasan pada gambar).
  5. Hitung uji lapangan sebagai 1 dalam Common.
  6. S1 S1 dan Umum
  7. Pilih 1 masukkan deskripsi gambar di sinidari bidang tes dan hapus area yang ditetaskan.
  8. Sekarang Gabung s2 dan umum. Perintah hapus dapat digunakan untuk menghapus area umum.
Shampa
sumber
@ Sampe Terima kasih atas bantuan Anda. Tumpang tindih yang saya miliki adalah dalam bentuk yang sama bukan dua file bentuk.
mengkilap
6

Sudahkah Anda mempertimbangkan untuk memecah masing-masing kelas tata guna lahan menjadi bentuk terpisah untuk bekerja dengannya seperti itu. Saya pertama kali berpikir untuk menjalankan persimpangan tetapi saya melihat bahwa gagal di atas. Jika Anda memiliki tujuh shapefile yang terpisah, Anda mungkin dapat memanipulasinya dengan lebih mudah.

Pertanyaan utama yang saya miliki adalah jika ada tumpang tindih, apakah Anda memiliki hierarki di mana kelas menang dan harus ditunjukkan pada akhirnya? Misalnya: jika Cropping dan Dairy tumpang tindih, mana yang Anda simpan? Setelah hierarki ini diselesaikan, potong 2 kelas sekaligus, mulai dengan yang terendah dan berakhir dengan yang tertinggi. Jika output Anda kosong pada intersect yang diberikan, itu berarti mereka tidak berpotongan.

Adam Kara
sumber
2
Anda memunculkan masalah yang paling penting di sini: Bagaimana cara mengklasifikasikan tumpang tindih? Membuat data "rapi" tidak berarti "benar".
alexGIS
@alexGIS Sekali lagi, saya setuju dengan Anda. Namun, mengingat tujuan analisis ini dan area kecil poligon data yang tumpang tindih, kategori tumpang tindih bukanlah tujuan utama dibandingkan dengan memperbaiki tumpang tindih.
mengkilap
Ini mungkin ide yang bagus untuk alasan lain. Tumpang tindih mungkin mewakili perubahan batas bidang dan pemangkasan seiring waktu.
nmtoken
5

Setelah membuat topologi, Anda telah mengidentifikasi kesalahan.

Dalam daftar yang menunjukkan kesalahan, Anda dapat memilih semua kesalahan dari jenis yang sama, klik kanan pada daftar ini dan pilih "perbaikan". Dalam kasus Anda, perbaikannya adalah "membuat fitur", yang akan membuat poligon baru jika dua poligon tumpang tindih. Ini adalah langkah pertama (perhatikan bahwa Anda dapat mencapai hasil yang serupa dengan menggunakan alat gabungan dengan lapisan penggunaan lahan Anda sebagai input tunggal, lalu multipart ke alat bagian tunggal (tapi kemudian tumpang tindih masih akan tumpang tindih, jadi Anda perlu menghapus salah satu dari nilai atribut), atau konversikan poligon Anda menjadi garis lalu kembali ke poligon (tapi kemudian Anda kehilangan atribut, Anda perlu penggabungan spasial untuk memulihkan atribut))

Langkah kedua akan terdiri dari menghilangkan poligon kecil. Masalahnya adalah Anda tidak benar-benar memiliki aturan untuk memutuskan nilai atribut mana yang ingin Anda pertahankan. Alat favorit saya adalah alat eliminasi , di mana Anda dapat memilih poligon tetangga mana yang akan digabung poligon kecil (berdasarkan batas bersama terbesar atau area terbesar)

Komentar terakhir: jika Anda memiliki aturan untuk kelas penggunaan lahan prioritas, pilihlah poligon kecil secara iteratif (yang tidak memiliki label) berdasarkan lokasi untuk menetapkan setiap kelas penggunaan lahan dengan mengurangi urutan prioritas dan gunakan kalkulator lapangan untuk menetapkan mereka label.

radouxju
sumber
4

Sementara saya setuju dengan orang lain tentang apakah mereka poligon tumpang tindih atau sliver, dari apa yang saya lihat di sini dengan gambar ini Anda menunjukkan kepada semua orang. Saya sarankan Anda untuk mengubah warna simbologi Anda untuk penggunaan lahan. Dengan cara ini Anda bisa melihat mana yang harus dituju atau yang lain. Satu warna yang Anda perlihatkan pada kami dalam warna pink sangat sulit dibaca dan mungkin memakan waktu untuk Anda.

Pada bagian kedua, saya akan memilih semua poligon yang tumpang tindih atau sliver dan mengekspornya ke shapefile baru. Dengan cara ini Anda dapat mengidentifikasi mereka apa yang sedang mereka gunakan.

PROBERT
sumber
Terima kasih atas bantuan Anda. Saya telah memperbarui peta untuk menunjukkan warna untuk semua penggunaan lahan.
mengkilap
4

Salah satu solusi yang mungkin, jika Anda memiliki Spatial Analyst atau 3D Analyst, yaitu Anda mengonversi poligon penggunaan lahan menjadi gambar raster menggunakan alat (Konversi Poligon ke Raster) untuk memastikan bahwa tidak ada poligon yang tumpang tindih yang akan keluar, karena Anda tidak bisa mendapatkan piksel yang tumpang tindih. Kemudian, ubah kembali raster ke poligon menggunakan alat (Raster ke Poligon), jika Anda masih membutuhkannya dalam format vektor. Dalam hal ini pilih ukuran sel resolusi tinggi (ukuran sel terperinci) untuk mendapatkan poligon berkualitas baik, tetapi Anda perlu mempertimbangkan memori. Anda mungkin perlu mencobanya beberapa kali dengan mengubah ukuran sel hingga Anda akan puas dengan hasilnya. Anda mungkin perlu melakukan beberapa penghalusan ke poligon keluaran, jika tidak sempurna, tetapi itu tergantung jika Anda memiliki setidaknya Lisensi Standar untuk ArcGIS Desktop. Saya tahu ini bukan tugas yang mudah, tetapi bisa menyelesaikan masalah Anda.

ahmadhanb
sumber
4

Periksa beberapa celah atau beberapa tumpang tindih antara poligon untuk menemukan toleransi dan gunakan alat Integrasi dari Arctoolbox dengan nilai toleransi yang tepat.

masukkan deskripsi gambar di sini

Venug
sumber