ArcGIS Pro’da Kurallar ile Öznitelik Güncelleme

Grup şablonları, tek bir detay çizerken birden fazla detay oluşturmanın bir yoludur. Birincil detay ya da daha fazla detay oluşturmak için seçenekler bulunur. Bileşen şablonlarının detayları o grup şablonu için ayarladığınız özniteliklere göre otomatik olarak oluşturulur. Grup Şablonu Nasıl Oluşturulur hakkında daha fazla ayrıntı için daha önce hazırladığımız blog gönderisine bakabilirsiniz.

Normalde öznitelik girişleri yapmak için Attributes alanına giderek her yeni bilgi için tek tek giriş yaparsınız. Öznitelik kurallarını kullanarak bu işlemleri otomatikleştirebilirsiniz. Bu çalışmamızda grup şablonu özelliği ile birlikte birden fazla detay için aynı anda öznitelik kurallarını da kullanarak adres bilgileri ve direk numarası güncelleme işlemleri yapacağız.

Örnek kullanım senaryosu

  • Bir elektrik şebekesinde havai abone bağlantı hatlarının direkler vasıtası ile binalara enerji verdiğini ve bu detay çizimi için “Havai Abone + Kofra” grup şablonu kullanalım.
  • Grup şablonunda birincil (primary) olarak girdiğimiz “HavaiAboneHatti” katmanına bağlantısal olarak bağlı olduğu “Direk” katmanında bulunan “Direk Numarasını” aldıralım.
  • İkincil (secondary) olarak ise Abone bağlantı hattının bitiş noktasına “Kofra” katmanı oluşturmasını ve bu kofra katmanına “Yapı” katmanından adres bilgilerini almasını sağlayalım.

Grup şablonunda birincil olarak oluşturulan havai hat katmanına, direk katmanından “DirekNo” öznitelik bilgisini aldıralım. HavaAboneHatti katmanına sağ tıklayarak sırasıyla Design/Attribute Rules seçeneğini seçelim. Subtype alan bilgilerini seçtikten sonra kuralın yazılması istenen öznitelik alanını seçtikten sonra aşağıdaki Arcade kodunu yazalım.

var g = Geometry ($feature);

var fromElektrikJunctionGeometry = g.paths[0][0];

var fsElektrikJunction =FeatureSetByName($datastore, “ElektrikJunction”, [“DirekNo”], false);

var fromElektrikJunction = First(Intersects(fsElektrikJunction, fromElektrikJunctionGeometry) )

if (fromElektrikJunction == null) return {“errorMessage”: “Başlangıç Direk Bulunamadı”}

return fromElektrikJunction.DirekNo;

 

Şimdi grup şablonunda ikincil olarak oluşturulan Kofra katmana benzer şekilde Yapı katmanından adres bilgilerinden Mahalle bilgisini almasını sağlayacak ifadeyi yazalım. Bu örnek çalışmada Kofra katmanının Yapı poligon katmanı alanı içerisinde oluşturulmasını ve yapı olmayan alanlarda hata vermesini istiyoruz. Bunun için hata mesajını “Error” alanına yazdıktan sonra aşağıdaki Arcade kodunu yazalım. Ayrıca isteğe göre tetikleyici menüsünden ilk veri girişi sırasında (insert) ya da mevcut veri üzerinde bir değişiklik yapıldığında (update) kuralın çalışması için ayarlayabilirsiniz.

var fsYapi = FeatureSetByName($datastore, “Yapi”, [“Mahalle”])
var fsYapiIntersect = Intersects(fsYapi,$feature)
var Yapi = First(fsYapiIntersect)

if (Yapi == null) return {“errorMessege”: “Bina Bulunamadı”}

return Yapi.Mahalle

Artık grup şablon kullanarak detaylar oluşturduğunuzda, adres bilgilerini ve direk öznitelik bilgilerini otomatik aldırabilirsiniz. Bu çalışmayı kuruluşunuzda farklı örneklerde hazırlayarak veri giriş sürelerinizi kısaltacak ve veri doğruluğunu destekleyecek şekilde kullanabilirsiniz.

Daha fazla kaynağa aşağıdaki bağlantılardan ulaşabilirsiniz.

 

ArcGIS Pro’da Öznitelik Kuralları

Öznitelik kuralları, düzenleme deneyimini geliştirmek ve veri bütünlüğünü güçlendirmeye yardımcı olmak için bir veri kümesine eklenebilecek kullanıcı tanımlı kurallardır. Bu kurallar, öznitelik değerlerini doldurmak veya izin verilen özellik sınırlarını kısıtlamak için kullanılabilir ve detayları güncelleme sırasında uygulanır. Bir detayı düzenlerken kural ihlali yapılırsa, bir hata iletisi verir. Öznitelik kuralları Subtype/Domain gibi veritabanına atanan özellikleri destekler. Örneğin Veritabanınızda oluşturduğunuz bir domain değerlerine otomatik hesaplama eklemek istediğiniz durumlarda öznitelik kurallarını kullanabilirsiniz. Öznitelik kuralı tanımladığınız verilerinizi servisler olarak paylaşabilirsiniz. Servis oluştururken dikkat etmeniz gerekenler kural tipine göre değişkenlik gösterebilir. Detaylı bilgilere link üzerinden ulaşabilirsiniz.

Öznitelik kuralları yalnızca kurumsal coğrafi veri tabanında desteklenir.

  • Bir öznitelik kuralı tanımlamak için kullanılan ifade Arcade dili kullanılarak yazılan işlevlerle sınırlıdır.
  • Mevcut öznitelik kurallarını başka bir veri kümesine aktarmak için, aracı birden çok kez çalıştırmak yerine Export Attribute Rules aracını ve Import Attribute Rules aracını kullanabilirsiniz.

Not:Bir veri kümesine özellik kuralları ekledikten sonra, veri kümesi için minimum istemci sürümü ArcGIS Pro 2.1’dir. Bu, veri kümesinin ArcGIS Desktop’da kullanımı olmayacağı anlamına gelir. Ayrıca Validation kural tipi ArcGIS Pro 2.3 sürümü ile gelmiştir.

 

Öznitelik kurallarını eklemek için öncelikle Add Attribute Rule aracını çalıştırmalısınız. Araç içerisinde belirlediğiniz kuralın adını ve açıklamasını girdikten sonra kuralın hesaplama,kısıtlama veya doğrulama olması gerektiğini seçmelisiniz.

  • Hesaplama: Öznitelik tablonuz içerisinde girdiğiniz değerleri belirlediğiniz kurallara göre doldurur.
  • Kısıtlama: Öznitelik tablonuz içerisine girebildiğiniz değerlere kısıtlama getirir ve güncelleme sırasında bu kısıtlama değeri aşıldığı zaman size sizin belirlediğiniz bir uyarı penceresi getirir
  • Doğrulama: Belirtilen nitelik veya geometri gereksinimlerini ihlal eden özellikleri incelemek için mevcut verilerdeki hataları vurgular.

Aşağıdaki örnekte kullanılan kurallar:

  1. $feature.nufus / $feature.alankm2
  2. $feature.nufus > $feature.gencnufus

 

Yukarıdaki örnekte gösterilen kural iki numerik değere sahip öznitelik alanlarının birbirleri arasındaki ilişkiyi ifade etmektedir. Örnekte Nüfus değerinin Genç Nüfus değerinden daha küçük olamayacağı belirtilmiştir eklenen kural böyle bir durumda veri girişi yapmayacaktır.Aşağıdaki örnekte gösterilen kural ise bir birinden bağımsız iki numerik öznitelik alanındaki bilgileri, kurala eklenen formülasyona göre bir başka öznitelik alanına yazdırmaktır. Örnekte İllere göre nüfus değerlerinin değişmesi sonucunda Km²’ye düşen insan sayısı hesaplatılmaktadır.