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.