ArcGIS Pro SDK ile Add-in Geliştirme

Daha önceki “ArcGIS Pro SDK ile ArcGIS Pro Başlangıç Ekranı Değiştirme” yazımızda ArcGIS Pro açılış ekranın nasıl özelleştirilebileceği ve ArcGIS Pro SDK kullanımı hakkında bilgi vermiştik. Bu yazımızda ArcGIs Pro SDK kullanarak ArcGIS Pro yeteneklerini kendi özel süreçlerimiz gerçekleştirmek için kullanabileceğimiz add-in (eklenti) oluşturma ve kullanmayı öğreneceğiz.

Proje Oluşturma

Önceki yazımızda gerekli geliştirme ortamı olan Visual Studio ve ArcGIS Pro SDK kütüphane tanımlarını oluşturduktan sonra öncelikle Visual Studio’da yeni bir proje oluşturuyoruz.

Ekrana gelen seçeneklerde yazılım dili olarak C#, ortam olarak Windows ve proje tipi olarak da ArcGIS Pro SDK seçeneklerini seçiyoruz. Ekrana gelen listeden “ArcGIS Pro Module Add-in” proje şablonunu seçip sağ alt kısımdaki “Next” düğmesine basıyoruz.

Açılan ekranda proje bilgilerini ve dosyalarımızın oluşturulacağı konumu seçiyoruz. “Create” düğmesine basarak projemiz açılır.

Hazırlık

“Solution Explorer” panelinde proje adına fare ile sağ tıklama sonrası açılan menüden “Add -> New Item” (Ekle – Yeni Parça) menü parçaları seçilerek projemize bir düğme oluşturmak için yeni bir sınıf oluşturma sürecini başlatırız.

Açılan ekranda “ArcGIS Pro Add-ins” proje şablonu seçildiğine listelenen parça tiplerinden “ArcGIS Pro Button” seçeneği seçilirek yeni düğme sınıfı oluşturulur. İsterseniz sınıf adını bu ekranda belirleyebilirsiniz. Yeni düğmemiz oluşturulup, “OnClick” metodu hazırlanmıştır. Bu metot düğmeye basıldığından tetiklenendir.

Bu metot içerisine aşağıdaki kod parçasını ekleyelim. Böylelikle ArcGIS Pro içerisinde add-in düğmemize basıldığında Visul Studio içerisindeki konsola bir yazı düşecektir.

System.Diagnostics.Debug.WriteLine("DENEME");

“Config.daml” dosyası add-in ayarlarını konfigüre edebileceğiniz etiketler bulunmaktadır. İçerisinde yeni oluşturulan düğme hakkında bilgiler oluşmuş olacaktır. ArcGIS Pro içerisinde düğmemizin görünüm resmini değiştirmek ile başlayabiliriz. Bunun için belirlediğiniz resmi “Images” dizini içerisine kopyaladıktan sonra “smallImage” ve “largeImage” etiketlerinde atayacağınız resmin adını girebilirsiniz. “caption” etiketine ait değeri değiştirerek, düğmemizin görüntülenen etiketini değiştirebiliriz.

Oluşturduğumuz proje ile bilgisayarlarınızdaki ArcGIS Pro ile entegre çalışmasını kontrol etmek için projemizi bu haliyle çalıştırmasını gerçekleştirelim. Uygulamamızı çalıştıralım. ArcGIS Pro yüklendikten sonra “Add-in” düğme grubuna basıldığında, oluşturmuş olduğumuz add-in düğmesi görüntülenecektir.

Oluşturduğunuz add-in düğmesine basıldığında Visual Studio içerisindeki “Output” panel içerisinde yazmış olduğumuz çıktı görüntülenecektir.

Süreç

Düğmemizi oluşturduktan sonra artık kendimize ait bir sürecimizi işletebiliriz. Örnek olarak, harita üzerinde seçilen obje hakkında bilgilerinin gösterilmesini sağlayalım.

QueuedTask.Run(() =>
            {
                if (MapView.Active is null || MapView.Active.GetSelectedLayers().Count == 0)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Harita bileşeni veya seçili katman bulunmuyor.", "Hata");
                    return;
                }
                var featLayer = MapView.Active.GetSelectedLayers().First() as FeatureLayer;
                if (featLayer == null || featLayer.SelectionCount == 0)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Katman bulunmuyor.", "Hata");
                    return;
                }
                var featSelectionOIDs = featLayer.GetSelection().GetObjectIDs();
                if (featSelectionOIDs.Count == 0)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Katmanda seçili bir obje yok.","Hata");
                    return;
                }
                var insp = new ArcGIS.Desktop.Editing.Attributes.Inspector();
                foreach (var oid in featSelectionOIDs)
                {
                    insp.Load(featLayer, oid);
                    foreach (var f in featLayer.GetFieldDescriptions())
                    {
                        System.Diagnostics.Debug.WriteLine(f.Name + "-"+insp[f.Name]);                       
                    }
                }
            });

Kodumuzu çalıştırıp, ArcGIS Pro içerisinde bir katman ekleyelim. Sonra katmanda seçim yapıp, add-in düğmemize basalım. Ekleyip seçtiğiniz objelere ait bilgiler “Output” panelinde görüntülenecektir.

Daha fazla bilgi için Esri Türkiye Profesyonel Hizmetler ile iletişime geçebilirsiniz.

Esri Türkiye 2021

Önceki Yazı
Portal for ArcGIS Yama Güncellemesi ile Güvenliğinizi Arttırın
Yazıyı görüntüle
Sonraki Yazı
Katmanlı ArcGIS Enterprise Ortamlarında İçeriği Taşıma
Yazıyı görüntüle