Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 2) – Subtype ve Domain Sayısını Bulmak
Günlük işlerimizde oldukça fazla kullandığımız “file geodatabase” yani “gdb” uzantılı dosyalarımızda bulunan subtype ve domain sayılarını Python kodu ile hızlı bir şekilde bulabiliriz.
Üzerinde işlem yapılacak “gdb” dosyasını kullanıcının seçmesini sağlayabilir veya doğrudan dosya yolunu tanımlayabilirsiniz. Aşağıdaki örnekte kullanıcı tarafından seçilebilecek bir parametre olarak tanımlanmıştır.
gdb = arcpy.GetParameterAsText(0)
Domain listesini oluşturmak
İlk olarak belirtilen “gdb” dosyasındaki domain listesini alalım.
desc = arcpy.Describe(gdb)
domains = desc.domains
Bu noktadan sonra;
for domain in domains:
döngüsü ile domain bilgilerini yazdırabilir veya görüntüleyebilirsiniz.
Not: Eğer yazdığınız kodu ArcToolbox içinde kullanacaksanız;
print (msg)
komutu işe yaramayacaktır. Bu komut ancak ArcMap’in Python penceresinde kullanılabilir.
Subtype sayısını öğrenmek
arcpy.env.workspace = gdb
Tsubtype = 0
for dataset in arcpy.ListDatasets():
for fcls in arcpy.ListFeatureClasses('','',dataset):
fcls_path = os.path.join(gdb, fcls)
subtypes = arcpy.da.ListSubtypes(fcls_path)
for subtype in subtypes:
Tsubtype = Tsubtype + 1
döngüsü ile subtype sayısını yazdırabilir veya görüntüleyebilirsiniz.
Not: Eğer yazdığınız kodu ArcToolbox içinde kullanacaksanız;
print (msg)
komutu işe yaramayacaktır. Bu komut ancak ArcMap’in Python penceresinde görüntülenebilir.
Domain ve değerlerini öğrenmek
Tdomain = 0
Tvalue = 0
domains2 = arcpy.da.ListDomains(gdb)
for domain in domains2:
Tdomain = Tdomain + 1
coded_values = domain.codedValues
for val, desc in coded_values.items():
Tvalue = Tvalue + 1
Yukarıdaki içi içe bulunan döngüden “Tdomain” değeri ile Domain sayısını, “Tvalue” değeri ile Domain değerlerinin sayısını öğrenebilirsiniz.
Esri Türkiye, 2019