Çakışan tampon çokgenler sorununu düzleştirmenin üstesinden gelmek ve aynı zamanda sağlam bir çözüm bulduğunu düşünmek için bir süredir aynı soruya bir cevap arıyorum. Aslında @ Whuber'ın yorumu,
Prensip olarak, sentroid, çevre ve alan hala bir çokgeni benzersiz olarak tanımlamayabilir, ancak karşı örnekler biraz daha anlaşılır.
@ Paul'un cevabı denemeye devam etmemin ana nedeniydi. Spatial Join aracının ARE_IDENTICAL_TO operatörünü kullanır , çünkü bu diğer özdeş dedektörler arasında en verimlidir. İşte adımlar:
- Tüm şekilleri birbirinden farklı tutmak için girdinizi Öz Birleştirin;
- Satırların orijinal OBJECTID'lerini (yani, OID alan türü) tutmak / kopyalamak için sahte bir alan oluşturun, örneğin EX_OID ;
- Hem hedef hem de birleştirme özellik parametreleri olarak işlenmek istenen özellik sınıfında Uzamsal Birleştir'i çalıştırın. Daha önce oluşturulan kukla alanların alan eşlemelerinin (iki kez görünür) FIRST birleştirme kuralına sahip olduğundan emin olun (varsayılan veya LAST'i seçin, diğerleri üst üste binmelerin bir özetini kullandıkları için istenen çıktıyı vermeyebilir). Bu adım, üst üste binenlerin (yani, İLK) üstünde oturan ortak şekil OBJECTID'i seçer;
Aşağıdaki adımlar Python İLE veya OLMADAN iki şekilde yapılabilir:
PİTON İLE
- Bulmak istediğimiz benzersiz kimlikleri çıkarmak için aşağıdaki kodu kullanın:
print tuple(set([row.getValue("EX_OID_1") for row in arcpy.SearchCursor("Output_of_the_Spatial_Join_Operation")]))
.
Benim durumumda EX_OID_1 olan kukla OID alanının ikinci kopyasını kullandığımı unutmayın;
- Bu kodun çıktısını kopyalayın ve olarak işlenen orijinal özellik sınıfının Tanım
Sorgusuna yapıştırın
OBJECTID IN (<PASTE_COPIED_VALUES_HERE>)
. Sonuç, çakışan parçaların birleşik özelliklerini gösterecektir. Yine de burada 30.000 karakter boyut sınırlaması var. Bu sorunun üstesinden gelmek için "python olmadan" adımlarını izlemeniz gerekir.
PİTON OLMADAN
Benim durumumda EX_OID_1 olan kukla OID alanının ikinci kopyasındaki benzersiz değerleri listelemek için Frekans aracını kullanın;
Son olarak katıl NesneKimliği Frekans aracının çıkışı ile orijinal özellik sınıfının alanını EX_OID_1 "yalnızca eşleşen kayıtları tutun" seçeneklerini seçerek.