Saya memiliki shapefile dengan 16.400 poligon. Setiap poligon menunjukkan perluasan spesies burung untuk seluruh dunia.
Sekarang saya harus menghitung poligon yang tumpang tindih. Saya mencobanya dengan serikat dan membubarkan (menghitung serikat), tetapi serikat tidak bekerja untuk banyak poligon.
Kemudian saya mencoba memotong benua, tetapi ini juga tidak berfungsi karena banyaknya poligon. Apalagi saya mencoba metode ini , juga tidak berhasil.
Karena itu saya bertanya kepada Anda, apakah ada cara untuk menghitung poligon yang tumpang tindih jika 16400 poligon berada dalam satu bentuk?
Saya bekerja dengan 10.0 dan dapat bekerja dengan 10.2. Solusi ArcPy juga luar biasa.
Saat ini saya sedang berpikir tentang membuat jala ikan dan beralih pada baris shp dengan 16400 poligon dan menulis 1 ke bidang nilai sel jala jika poligon ada di sel ini dan daripada mengambil baris berikutnya (poligon) dan jika ini juga dalam hitungan sel jala +1.
Tetapi saya tidak tahu apakah ini solusi yang baik dan bagaimana mewujudkannya. Atau saya harus belajar R untuk menggunakan pendekatan ini .
Hasilnya: Ini harus berupa bentuk di mana Anda memiliki poligon baru dari yang tumpang tindih dan bidang di mana tumpang tindih dihitung.
Jadi pada akhirnya harus ada shapefile di mana Anda dapat melihat berapa banyak spesies burung yang ditemukan di tempat yang sama.
Jawaban:
Saya akan merekomendasikan menggunakan alat Fitur Count Overlapping (Analisis) .
sumber
Menggunakan token geometri lengket, Anda dapat mencoba sesuatu seperti ini:
Untuk data sampel di atas, kode akan mengembalikan jumlah tumpang tindih berikut:
Kode apa adanya hanya akan mengembalikan jumlah poligon yang memiliki setidaknya satu tumpang tindih.
sumber
Metode yang sangat sederhana adalah:
join_count
bidang.sumber
Saya kira Anda sudah mencoba metode ini: Menghitung dan meraster tumpang tindih poligon di ArcGIS Desktop?
16.400 poligon tidak banyak. Namun, salah satu solusi potensial adalah dengan hanya melakukan Spasial Gabung biasa. Dalam
ArcMap toolbox, > Analysis Tools -> Overlap -> Spatial Join
.Atur kedua fitur
target
danjoin
ke dataset yang sama dan tentukan output. Biarkan sisa pengaturan.Setelah beberapa saat, Anda akan mendapatkan kembali shapefile yang berisi kolom "gabung hitung". Kurangi 1 dari ini (karena jelas setiap fitur harus berpotongan sendiri), dan itu harus menjadi jumlah "tumpang tindih" (sebenarnya berpotongan) untuk setiap poligon.
Saya baru saja melakukannya
sumber
Saya mengunduh dan mencoba alat "Hitung Tumpang Tindih Poligon". Mungkin berhasil, tetapi butuh waktu yang sangat lama (mungkin karena ukuran file, tetapi input saya FC hanya memiliki <5.000 catatan).
Sementara saya menunggu alat itu dijalankan, saya membuka jendela ArcMap lain dan hanya butuh beberapa langkah cepat untuk mendapatkan apa yang saya inginkan. 1) Gabung Spasial - menggunakan kelas fitur yang sama dengan Target dan Gabung Fitur dan memilih opsi "Gabung Satu ke Banyak". 2) Larutkan - menggunakan output dari langkah terakhir. Gunakan "TARGET_FID" sebagai bidang pembubaran dan untuk statistik Anda dapat SUM bidang "Gabung_Count" atau COUNT bidang "JOIN_FID". 3) Dalam file output dari dari langkah 2, gunakan kalkulator bidang kurangi 1 dari bidang statistik ("SUM_Join_Count", atau "COUNT_JOIN_FID") - karena setiap fitur berpotongan dengan sendirinya.
Saya sarankan menggunakan metode ini di atas alat "Count Overlapping Polygon". Saya mulai menjalankan alat COP ~ 5 menit sebelum memulai metode Join-> Dissolve ini dan hasilnya memberi saya cukup waktu untuk menulis ini sebelum alat "Count Overlapping Polygon" selesai.
Semoga ini membantu!
sumber