Saya punya ide apa yang bisa bekerja untuk Anda. Ini akan didasarkan pada beberapa asumsi, tetapi itu akan membantu mempersempit daftar fitur identik yang mungkin Anda miliki. Ini tidak akan menjadi proses otomatis, tetapi akan membutuhkan melihat duplikat secara manual. Didasarkan pada komentar, sepertinya alat otomatis tidak membandingkan atribut sehingga ini akan membantu Anda tidak secara tidak sengaja menghapus fitur.
Menggunakan ArcMap
(1) Buat salinan shapefile Anda jika terjadi kesalahan.
(2) Tambahkan kolom ke shapefile Anda sebagai ganda.
(3) Hitung area untuk setiap fitur menggunakan format paling deskriptif (paling tepat) yang Anda bisa. Sesuatu di mana pembulatan mungkin tidak menjadi masalah.
(4) Jalankan ringkasan (merangkum) pada kolom itu. Pastikan Anda memilih pengidentifikasi unik di ringkasan dan tandai pertama dan terakhir.
(5) Di tabel output Anda, cari catatan di mana bidang hitung lebih tinggi dari 1.
(6a) Secara manual memeriksa fitur dan ulangi proses sampai tidak ada duplikat lagi.
(6b) Anda bisa saja membuat daftar id unik itu dan menghapus fitur melalui arcpy, tetapi Anda menjalankan kemungkinan memiliki dua fitur tidak dikenal dengan area yang sama.
Teknik Lain Menggunakan ArcPy
Ketika saya sedang membangun jawaban di atas, saya memikirkan kemungkinan bahwa entah bagaimana beberapa penulis data ini mungkin benar-benar menggunakan pengidentifikasi unik yang sama untuk fitur duplikat. JIKA itu yang terjadi, Anda mungkin dapat menemukan duplikat melalui perulangan di arcpy.
Cara saya berpikir tentang melakukan ini menggunakan ArcPy bisa membebani sistem Anda dan mengambil sedikit.
(1) Buat salinan shapefile Anda (untuk berjaga-jaga lagi)
(2) Tambahkan kolom baru untuk menunjukkan duplikat. Sesuatu yang mengambil seperti 'y' atau 'n' atau 0 atau 1 atau apa pun akan berhasil.
(3) Buat daftar dengan python untuk menyimpan pengidentifikasi unik.
(4) Jalankan Kursor Pembaruan ( arcpy.UpdateCursor('LAYERNAME')
). Untuk setiap catatan, periksa daftar Anda untuk melihat apakah itu berisi pengidentifikasi itu dan tandai kolom Anda untuk duplikat jika ada.
myList = []
rows = arcpy.UpdateCursor("layername")
for row in rows:
if str(row.UniqueIdentifier) in myList:
#value duplicated
row.DuplicateColumnName = "y"
else:
#not there, add it
myList.append(row.UniqueIdentifier)
rows.updateRow(row)
(5) Kemudian Anda dapat membandingkan atau melakukan apa pun yang Anda inginkan dengan kolom bertanda itu.
Mungkin ada cara yang lebih baik untuk melakukan perbandingan ini, tetapi itu adalah dua yang menurut saya harus berhasil atau paling tidak membantu Anda memulai.
Edit
Berdasarkan komentar oleh elrobis , Anda dapat menggunakan persegi batas minimum untuk semakin mengurangi kemungkinan menghapus fitur yang salah.
Menggunakan ArcMap, Anda dapat menjalankan alat Geometri Batas Minimum dalam Manajemen Data. Setelah memeriksa opsi, saya pikir menggunakan opsi CONVEX_HULL mungkin yang terbaik.
Jika Anda membandingkan bidang MBG_APodX / Y1 , MBG_APod_X / Y2 bersama dengan MBG_Orientation untuk duplikat, Anda harus bisa mendapatkan ide bagus tentang fitur yang digandakan. Saya menyarankan menggunakan metode Summarize yang saya jelaskan di atas untuk membandingkan. Pilih salah satu simpul (koordinat) dari persegi panjang pembatas untuk menemukan duplikat. Anda mungkin mendapatkan beberapa 'kecocokan' yang tidak disengaja, tetapi begitu Anda menambahkan dalam simpul plus orientasi lainnya, itu akan menjadi taruhan yang cukup aman bahwa fitur hasil adalah duplikat.
Meskipun saya belum menggunakannya dan saya tidak yakin dengan hasil dari alat ini, Anda mungkin menemukan memeriksa shapefile yang dihasilkan lebih mudah jika Anda menggunakan alat Ringkasan Statistik di ArcMap. Sepertinya Anda dapat meringkas beberapa kolom seperti itu alih-alih opsi kolom tunggal saya.
Saya tidak berpikir akan ada cara yang sepenuhnya otomatis untuk melakukan ini tanpa khawatir kemungkinan menghapus fitur tidak duplikat. Metode-metode ini akan membantu membatasi jumlah fitur yang perlu Anda tinjau secara manual.