Arcgispro’da Python ile FieldCalculater
Herkese merhaba,
FieldCalculater arcgis’de bulunan ve toplu güncelemeler de işlem yapmamızı sağlayan kullanışlı bir araçtır. Bu yazımızda python ile fieldcalculater’ı nasıl kullanacağımızı göreceğiz.
Bu yazıdaki Waikato District Council tarafından sağlanan WDC — Waste Water Line (Kirli su hattı )verisini kullanacağız.
Get ozan uzun’s stories in your inbox
Join Medium for free to get updates from this writer.
İlk olarak işlem yapacağımız fieldları ekleyelim.
arcpy.AddField_management(in_table="wdc-waste-water-line",field_name="Kot_Farki",field_type="FLOAT")
arcpy.AddField_management(in_table="wdc-waste-water-line",field_name="Egim",field_type="FLOAT")
arcpy.AddField_management(in_table="wdc-waste-water-line",field_name="E_lenght",field_type="FLOAT")
arcpy.AddField_management(in_table="wdc-waste-water-line",field_name="Hat_tipi",field_type="TEXT")Şimdi field calcualter penceresini açalım. Bunun için işlem yapacağımız field’da sağ tıklayıp calculate Field’a basıyoruz.
Pencereyi incelediğimizde
- Input Table: İşlem yapacağımız Featureclass.
- Field Name: İşlem yapacağımız Field.
- Expression Type: Kullanacağımız programa dili.
- Fields : Kullanacağımız fieldlar. Burada önemli olan bir field’ı kodun içerisinde kullanacağımız zaman bu pencereden çift tıklayarak kullanmamız gerekiyor.
- Helpers: Hazır fonksiyonlar.
- Kot_Farkı = : Burası kodları yazacağımız birinci yer. Field ismi değiştikçe buradaki isimde değişecek.
- Code Block: Eğer karmaşık bir kod yazıcak isek. Burada bir fonksiyon olarak yazmamız gerekiyor sonrasında ise o fonksiyonu bir önceki kısım kullanmalıyız.
İlk olarak basit bir şey yapalım ve kot farkını hesaplayalım bunun için veride UpStreamIn ve DownStream fieldlarını kullanacağız.
Ardından eğimi hesaplayalım. Bu sefer 3. field olarak Length ‘ı alacağız.
Şimdi hazır fonksiyonları kullanarak eğik mesafeyi hesaplayalım.
Artık daha karmaşık bir işlem yapalım boruların çaplarına göre hatları 3 sınıfa ayıralım. Çapı 300 ve altı olanları hat1 , çapı 300 ile 600 arasında olanlara hat2 ve 600 den büyük olanlara ise hat3 diyelim. Bunun için basit bir fonksiyon yazalım ve bu fonksiyonu Code Block içerisinde kullanalım.
def hat_tipi(cap):
tip=""
if cap<=300:
tip="hat1"
elif 300<cap<=600:
tip="hat2"
else:
tip="hat3"
return tipBöylece python kullanarak hem birden fazla field’ı kullanmış ve karmaşık işlemler sağlamış oluruz.









