'ID' adlı özniteliğe dayalı dbf dosyalarında yinelenen kayıtlar arıyorum. 500.000 kayıttan 1.5 milyona kadar çeşitli dbf dosyalarım var ve çoğaltılmış bir dizi olduğunu biliyorum.
Kimlik özniteliği başka bir yerde olduğunda Evet veya Hayır (veya 1 veya 0 iyi) yazan bir alan 'Çoğalt' eklemek istiyorum. Field Calculator'da aşağıdaki python betiğini kullanmak, yinelenen giriş için 1 ve benzersiz giriş için 0 döndürür;
uniqueList = []
def isDuplicate(inValue):
if inValue in uniqueList:
return 1
else:
uniqueList.append(inValue)
return 0
isDuplicate(!FIELD_NAME!)
Bununla birlikte, örneğin 5 yinelenen kimliğin ilk kaydı da 0 olarak döndürülecektir (sonraki 4 tanesi yinelenen sayılır). Kimliği başka bir yerde var olduğu gibi 5 kopya olarak işaretlemek gerekir.
Aşağıdaki kodu kullanmak, bu kimliğin kaç kez gerçekleştiğine dair artımlı bir sayı verecektir.
UniqueDict = {}
def isDuplicateIndex(inValue):
UniqueDict.setdefault(inValue,0)
UniqueDict[inValue] += 1
return UniqueDict[inValue]
isDuplicateIndex( !YOUR_FIELD! )
Bu kaydın kimliği başka bir yerde varsa sadece 1 (veya Evet) istiyorum! (ArcGIS sürüm 10.1)
Yinelenen kayıtları (takip) tanımlamak için Python komut dosyası gibi diğer cevaplar gördüm ama oldukça işe yaramıyor.