ฉันมีความคิดว่าอะไรที่อาจเป็นประโยชน์กับคุณ มันจะเป็นไปตามสมมติฐานบางอย่าง แต่มันจะช่วย จำกัด รายการคุณลักษณะที่เหมือนกันที่เป็นไปได้ให้แคบลง นี่ไม่ใช่กระบวนการอัตโนมัติ แต่จะต้องดูสำเนาด้วยตนเอง ตามความคิดเห็นดูเหมือนว่าเครื่องมืออัตโนมัติจะไม่เปรียบเทียบคุณลักษณะดังนั้นจะช่วยให้คุณไม่ลบคุณลักษณะโดยไม่ตั้งใจ
ใช้ ArcMap
(1) ทำสำเนาไฟล์ข้อมูลรูปร่างของคุณในกรณีที่มีสิ่งผิดปกติ
(2) เพิ่มคอลัมน์ใน shapefile ของคุณเป็นสองเท่า
(3) คำนวณพื้นที่สำหรับแต่ละสถานที่โดยใช้รูปแบบที่สื่อความหมายมากที่สุด (แม่นยำที่สุด) ที่คุณสามารถทำได้ สิ่งที่การปัดเศษอาจไม่ใช่ปัญหา
(4) เรียกใช้สรุป (สรุป) ในคอลัมน์นั้น ตรวจสอบให้แน่ใจว่าคุณเลือกตัวระบุที่ไม่ซ้ำกันในการสรุปและทำเครื่องหมายทั้งตัวแรกและตัวสุดท้าย
(5) ในตารางผลลัพธ์ของคุณค้นหาระเบียนเหล่านั้นที่เขตข้อมูลนับสูงกว่า 1
(6a) ตรวจสอบคุณสมบัติด้วยตนเองและทำซ้ำกระบวนการจนกว่าจะไม่มีรายการซ้ำอีก
(6b) คุณสามารถสร้างรายการรหัสที่ไม่ซ้ำกันเหล่านั้นและลบคุณสมบัติผ่าน arcpy แต่คุณมีโอกาสที่จะมีสองคุณสมบัติที่ไม่ปรากฏในพื้นที่เดียวกัน
เทคนิคการใช้ ArcPy อื่น
ขณะที่ฉันกำลังสร้างคำตอบข้างต้นฉันคิดถึงความเป็นไปได้ที่ผู้เขียนหลายคนของข้อมูลนี้อาจใช้ตัวระบุที่เหมือนกันสำหรับการทำซ้ำคุณสมบัติ หากเป็นกรณีนี้คุณอาจสามารถค้นหารายการที่ซ้ำกันผ่านการวนซ้ำใน arcpy
วิธีที่ฉันคิดเกี่ยวกับการทำเช่นนี้โดยใช้ ArcPy อาจต้องเสียภาษีในระบบของคุณและใช้เวลาเล็กน้อย
(1) ทำสำเนาไฟล์รูปร่างของคุณ (ในกรณีอีกครั้ง)
(2) เพิ่มคอลัมน์ใหม่เพื่อแสดงว่าซ้ำกัน สิ่งที่ใช้ 'y' หรือ 'n' หรือ 0 หรือ 1 หรืออะไรก็ตามที่ใช้งานได้
(3) สร้างรายการในไพ ธ อนเพื่อเก็บตัวระบุที่ไม่ซ้ำกัน
(4) เรียกใช้ Update Cursor ( arcpy.UpdateCursor('LAYERNAME')
) สำหรับแต่ละระเบียนให้ตรวจสอบรายการของคุณเพื่อดูว่ามีตัวระบุนั้นและทำเครื่องหมายคอลัมน์ของคุณว่ามีรายการที่ซ้ำกันหรือไม่
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) จากนั้นคุณสามารถเปรียบเทียบหรือทำสิ่งที่คุณต้องการกับคอลัมน์ที่ทำเครื่องหมายไว้
อาจมีวิธีที่ดีกว่าในการทำการเปรียบเทียบ แต่สิ่งเหล่านี้เป็นสองวิธีที่ฉันเชื่อว่าควรใช้งานได้
แก้ไข
จากความคิดเห็นของelrobisคุณสามารถใช้สี่เหลี่ยมขอบเขตขั้นต่ำเพื่อลดโอกาสของการลบคุณลักษณะที่ไม่ถูกต้อง
ใช้ ArcMap คุณสามารถเรียกใช้เครื่องมือเรขาคณิตการ จำกัดขั้นต่ำในการจัดการข้อมูล หลังจากตรวจสอบตัวเลือกต่างๆฉันคิดว่าการใช้ตัวเลือกCONVEX_HULLน่าจะดีที่สุด
หากคุณเปรียบเทียบฟิลด์ MBG_APodX / Y1 , MBG_APod_X / Y2พร้อมกับMBG_Orientationสำหรับรายการที่ซ้ำกันคุณควรจะได้รับแนวคิดที่ดีเกี่ยวกับคุณลักษณะที่ซ้ำกัน ฉันขอแนะนำให้ใช้วิธีการสรุปที่ฉันอธิบายไว้ข้างต้นเพื่อเปรียบเทียบ เลือกหนึ่งในจุดยอด (พิกัด) จากสี่เหลี่ยมผืนผ้าที่มีขอบเขตเพื่อค้นหารายการที่ซ้ำกัน คุณอาจได้รับ 'การจับคู่' เล็กน้อยโดยบังเอิญ แต่เมื่อคุณเพิ่มในจุดยอดอื่น ๆ รวมถึงการวางแนวมันจะเป็นการเดิมพันที่ปลอดภัยพอสมควรซึ่งคุณลักษณะของผลลัพธ์นั้นซ้ำกัน
แม้ว่าฉันจะไม่ได้ใช้มัน แต่ก็ไม่แน่ใจในผลลัพธ์ที่ได้จากเครื่องมือนี้คุณอาจพบว่าการตรวจสอบรูปร่างไฟล์ผลลัพธ์นั้นง่ายขึ้นหากคุณใช้เครื่องมือสรุปสถิติใน ArcMap ดูเหมือนว่าคุณสามารถสรุปคอลัมน์หลาย ๆ แบบได้แทนที่จะเป็นตัวเลือกคอลัมน์เดียวของฉัน
ฉันไม่คิดว่าจะมีวิธีอัตโนมัติในการทำเช่นนี้โดยไม่ต้องกังวลว่าจะมีการลบคุณลักษณะที่ไม่ซ้ำซ้อน วิธีการเหล่านี้ควรช่วย จำกัด จำนวนสถานที่ที่คุณจะต้องตรวจสอบด้วยตนเอง