ArcGIS Pro’da Olasılıklı Değer (Contingent Values) ile N-kırılımlı Subtype/Domain Oluşturmak

ArcGIS Pro 2.3 versiyonu ile birlikte gelen olasılıklı değerler olarak adlandırabileceğimiz Contingent Values, bir öznitelik alanındaki değerleri diğer bir öznitelik alanındaki değerler ile bağımlı hale getirmenize olanak sağlayan yeni bir veri tasarım özelliğidir.

Bir öznitelik değerine domain tanımlama işlemiyle o öznitelik için geçerli değerleri bir açılır liste ya da değer aralığı olarak sınırlandırabildiğimizi biliyoruz. Olasılıklı değer (Contingent Value) ise öznitelik alanındaki bir değer için seçiminizi başka bir öznitelik alanındaki değerlere bağlı olarak kısıtlamanızı sağlayarak bu modeli daha da genişletir. Böylece olasılıklı değerler, geçerli öznitelik değeri girişlerinin sayısını azaltmak için ek sınırlamalar uygulayarak veri bütünlüğünü sağlamanıza yardımcı olur.

Bu işlemi, bir seçim yapmanın bir sonraki geçerli seçim kümesini belirleyeceği bir karar ağacı oluşturmak gibi düşünebilirsiniz. Gündelik hayattan bir örnek ile anlatmak gerekirse; bir araba satın alma sürecini düşünebilirsiniz. Seçim yapmak için izleyeceğiniz karar ağacı aşağıdaki gibi olacaktır.

İlk önce alacağınız arabanın markasını seçersiniz. Örneğin, Honda.

Bu seçmiş olduğunuz markaya göre modelleri seçersiniz. Honda örneği için bu modeller CRV, Civic vb. olabilir.

Eğer seçiminizi Toyota olarak değiştirmek isterseniz, Corolla, Auris gibi farklı araba modelleri listesi mevcut olacaktır.

Ardından seçmiş olduğunuz araba modeline de bağlı olarak, ilgili markanın ilgili modeline ait renklere erişebilirsiniz. 

Karar ağacındaki her seçim, daha önce seçtiğinize bağlı seçeneklerin olası değerlerinin bir listesini sunar. Farklı bir araba markası seçmek o markaya ait araba modellerin listesinin açılmasını sağlayacaktır. Ardından seçtiğiniz araba modeli o modele ait olası renk seçeneklerini karşınıza çıkaracaktır. Farklı modeller, farklı renk seçenekleri ile sınırlanabilir. Karar ağacında yapmış olduğunuz seçimleriniz Toyota> Auris> Mavi olabileceği gibi her aşamada seçtiğinize bağlı olarak Honda> Civic> Kırmızı şeklinde de olabilir.

Olasılıklı değerler, verilerinizde bir alandaki değerler için yaptığınız seçimin başka bir alan için olası geçerli değerler listesinin kısıtlandığı alan bağımlılıklarını ayarlamanıza olanak tanır. Bu yeni yetenek sayesinde altyapı hizmeti sunan şirketler için CBS’deki gerçek dünya varlıklarını modellemek daha kolay olacaktır. Çünkü şebeke varlık yapısı göz önünde bulundurulduğunda -örneğin elektrik altyapısı, elektrik direği, enerji nakil hattı, hat tipi, vb. – birbirine bağlı birçok varlık bulunmaktadır.

Bir N-kırılımlı enerji iletim ve dağıtım hattının kesitlerinin incelendiği örneği ele alırsak: Hat tipinin Dağıtım Hattı, İletim Hattı gibi alt türlerden (Subtype) oluştuğunu ve buna bağlı Hat Konumu ve Kesit gibi diğer özniteliklerin ise alabileceği değerlerin farklı domainler ile ifade edildiğini aşağıdaki tablodan inceleyebilirsiniz.

Bu senaryoya göre enerji iletim ve dağıtım hattının bulunduğu konuma göre kesitlerinin alabileceği değerler değişmektedir. Araba satın alma süreci örneğinde anlatmış olduğumuz gibi bu süreci bir karar ağacı ile açıklamak gerekirse, ilk kararınız enerji hattının tipini seçmek olacaktır.

Bu seçiminize göre seçmiş olduğunu hat tipinin bulunabileceği konumlar listelenecektir; Havai ve Yeraltı gibi.

Hattın konumunu da seçtikten sonra bu enerji hat tipine ve hat konumuna uygun olan kesit seçenekleri listelenecektir.

Eğer seçiminizi havai değil de yeraltı olarak değiştirirseniz ya da hat tipini dağıtım yerine iletim olarak değiştirirseniz kesit için seçebileceğiniz değerlerde aşağıdaki karar ağaçlarında olduğu gibi değişecektir.

Öznitelik alanları arasındaki bu tür bağımlılıklar, ArcGIS Pro 2.3 versiyonu ile birlikte gelen olasılıklı değerler (Contingent Values) özelliği kullanılarak ayarlanabilir. Olasılıklı değer tanımlayabilmek için Contingent Values görünümünü açmanız gerekmektedir. Bu görünümü açmak için aşağıdaki yolları kullanabilirsiniz;

  • Contents penceresindeki katman üzerine sağ tıklayıp açılır liste menüden Design seçeneğinin üzerine gelerek Contingent Values seçeneğini tıklamak
  • Catalog penceresindeki katman üzerine sağ tıklayıp açılır liste menüden Design seçeneğinin üzerine gelerek Contingent Values seçeneğini tıklamak
  • Fields görünümündeyken Fields şerit menüsünün Design grubundan Contingent Values butonuna tıklamak
  • Subtypes görünümündeyken Subtypes şerit menüsünün Design grubundan Contingent Values butonuna tıklamak

Bu seçeneklerden her biri Contingent Values görünümünü ve şerit menüsünü açmanızı sağlayacaktır.

Alan Grubu Oluşturma

Alan grubu, bir tablo veya detay sınıfındaki alanların adlandırılmış bir koleksiyonudur. Bu alan grubu birbirine bağımlı olacak bütün alanları içermelidir. Ayrıca burada seçmiş olduğunuz alan sayısı sizin N-kırılımlı veri modelinizde kaç seviye kırılım gerçekleştirilebileceğini de göstermektedir. Bu nedenle, yukarıdaki enerji dağıtım örneği için hat tipi, hat konumu ve kesitten oluşan bir alan grubu oluşturulmalıdır. Bir alan grubu oluşturulduktan sonra, o gruptaki alanlara diğer alanlar ile olan bağımlılıkları tanımlayabilirsiniz.

Olasılıklı Değer Oluşturma

Alan grubu oluşturulduktan sonra bağımlı olan alanlar için olasılıklı değerleri daha önceden oluşturmuş olduğunuz domainlerin aracılığıyla tanımlayabilirsiniz. Her olası durumu ve değerleri bu tabloda oluşturmanız gerekmektedir.

Birden fazla alan grubunuz olabilir tüm bunları Contingent Values görünümündeki Field Group seçeneğinden yönetebilirsiniz. Eğer çalıştığınız detay sınıfı alt türlere sahipse bunları da Contingent Values görünümünden görüntüleyebilirsiniz. Böylece her alt tür için olasılıklı değerleri farklı şekilde ayarlayabilirsiniz.

New butonuna tıklayarak her bir olasılıklı değerinizi ekleyebilirsiniz. Enerji dağıtım örneğine bakacak olursak; “EnerjiHatti” alan grubunda hat tipi, konumları ve kesitleri için oluşturulmuş olasılıklı değerler kümesi aşağıdaki gibi olacaktır.

Verileriniz için olasılıklı değer oluşturarak yaratmış olduğunuz bu kısıtlamalar, uygulama sırasında öznitelik tablosuna veri girişi yaparken doğru seçimleri yapmanızı sağlayacaktır. Seçmiş olduğunuz her bir öznitelik değeri bir sonraki alan için seçebileceğiniz olası değerleri kısıtlayacaktır. Böylece kodlu değer domain özelliğini kullanarak oluşturduğunuz açılır liste özelliğini bir adım daha ileriye taşıyarak bu domain içinden de seçilebilecek öznitelik değerlerini kısıtlayabilirsiniz. Ayrıca, N-kırılımlı verilerinizin tasarımını CBS platformuna hızlıca aktarmış olursunuz.

Olasılıklı değer özelliği ArcGIS Pro 2.3 versiyonu ile birlikte gelen bir özelliktir. Eğer ArcMap kullanıcısı iseniz ve bu tür bir özelliği kullanmak isterseniz Attribute Assistant eklentisi size bu konuda yardımcı olacaktır. Attribute Assistant, yeni detaylar oluştururken veya bir coğrafi veri tabanında var olan detayları düzenlerken öznitelik bilgilerini doldurmak için bir dizi önceden tanımlanmış metot kullanan bir düzenleme eklentisidir. Bu eklenti öznitelik kurallarını ve bunların ne zaman çalıştırılacağını tanımlamak için iki yapılandırma tablosu kullanır. Bu tablolar, bir dizi kuralı yapılandırmanızı ve kuralın ne zaman çalışacağını belirlemenizi sağlayan DynamicValue ve Generate ID aracı ile ardışık ID üretmenizi sağlayan GenerateID tablolarıdır. Olasılıklı değer özelliğini kullanarak birkaç tık işlemi ile yapmış olduğunuz kurallar ve kısıtlamalardan farklı olarak Attribute Assistant’da önceden tanımlanmış metotlara ve gerekli durumlarda Python kod satırlarına ihtiyacınız olabilmektedir. Daha detaylı bilgi almak için Attribute Assistant çözümünün web sayfasını buradan inceleyebilirsiniz.

Daha fazla bilgi edinmek için;

  • Olasılıklı Değerler (Contingent Values) hakkındaki ArcGIS Pro Help dokümanlarını buradan inceleyebilirsiniz.
  • Attribute Assistant çözümünün web sayfasını buradan inceleyebilirsiniz.
  • Alt tür (Subtypes) ve Subtypes View hakkındaki ArcGIS Pro Help dokümanlarını buradan inceleyebilirsiniz.
  • Domain ve Domain View hakkında ArcGIS Pro Help dokümanlarını buradan inceleyebilirsiniz.

 

Önceki Yazı
Haritanızın Performansını Nasıl Arttırabilirsiniz?
Yazıyı görüntüle
Sonraki Yazı
Nasıl Yapılır: “Packaging succeeded, but publishing failed” hatasını giderme.
Yazıyı görüntüle