ArcGIS API for JavaScript ile Web Uygulamaları – 8 Etiketleme

ArcGIS API for JavaScript ile Web Uygulamaları – 8 Etiketleme

Etiketleme

Harita üzerinde gösterimi yapılan objelere ait görsellikle birlikte, objenin nitelikleri (attributes)  kullanılarak harita üzerinde etiketler gösterimi sağlanabilmektedir. Etiketleme özelliği birçok farklı API içerisindeki sınıf tarafından sağlanmaktadır. Bununla birlikte gösterimini sağladığımız haritamızın 2D veya 3D olmasına ve üzerinde gösterilen katmanın tipi, geometri tipine göre de farklı özellikler ve kaynaklar mevcuttur. Daha detaylı bilgi için linke tıklayınız.

Örneğimizde 2D bir web haritasında feature tipinde bir katman içerisinde öznitelik bilgileri kullanılarak farklı etiketlemeler gerçekleştireceğiz.

Adımlar

  • Bilgisayarınızda öncelikle bir web sunucusu bulunmalı. Bu web sunucusunda bir HTML dosyası barındırın ve herhangi bir metin editörü dosyayı açınız.
  • Önceki blog yazılarımızdan HTML şablonu kopyalayınız.
  • Etiketleme için ArcGIS Online üzerinden yayınlanan genele açık dünya şehirleri feature servisini kullanacağız.

Bu servis içerisinde birçok nitelik barındırmaktadır.  Aşağıda örnek değerleri görebilirsiniz:

Basit Etiketleme

Etiketleme için LabelClass sınıfı kullanılacaktır.

              const labelClass = {
                // autocasts as new LabelClass()
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: "red",
                    haloColor: "white",
                    haloSize: "1px",
                    font: {
                        // autocast as new Font()
                        family: "Arial Unicode MS",
                        size: 12,
                        weight: "bold"
                    }
                },
                labelPlacement: "above-center",
                labelExpressionInfo: {
                    expression: "$feature.ADMIN_NAME"
                }
            };

Bu sınıf içerisinde etiketimizi yazı tipi, renk, konumu, etiket değeri v.b. özelliklerini belirleyebiliyoruz. Sembol olarak TextSymbol sınıfında türettiğimiz sembolümüzde font olarak “Arial Unicode MS” kullanılmıştır. Etiket değeri olarak objemizin içerisindeki “ADMIN_NAME” nitelik değerinin kullanılması sağlanmıştır.

Oluşturduğumuz etiket nesnesi “labelClass” ‘ı, katmanımız içerisinde “labelingInfo” özelliğine tanıtımını da aşağıdaki gibi gerçekleştiriyoruz:

            map.layers = [new FeatureLayer({
                portalItem: {
                    // autocasts as new PortalItem
                    id: "6996f03a1b364dbab4008d99380370ed"
                },
                labelingInfo: [labelClass],
            })];

HTML kodun son hali aşağıdaki gibi olmalı:

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>ArcGIS JavaScript API Örnekleri: Etiketleme</title>
    <style>
        html,
        body,
        #haritaBlogu {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
        }
    </style>
    <link rel="stylesheet" href="https://js.arcgis.com/4.20/esri/themes/light/main.css">
    <script src="https://js.arcgis.com/4.20/"></script>
    <script>
        require([
            "esri/config",
            "esri/Map",
            "esri/views/MapView",
            "esri/layers/FeatureLayer",
        ], function (esriConfig, Map, MapView, FeatureLayer) {
            // API anahtarı girilmeli
            esriConfig.apiKey = "XXXXX"
            var map = new Map({
                basemap:  "arcgis-imagery-standard"
            });
            var view = new MapView({
                container: "haritaBlogu",
                map: map,
                center: [35, 39], // boylam, enlem
                zoom: 7
            });
            const labelClass = {
                // autocasts as new LabelClass()
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: "red",
                    haloColor: "white",
                    haloSize: "1px",
                    font: {
                        // autocast as new Font()
                        family: "Arial Unicode MS",
                        size: 12,
                        weight: "bold"
                    }
                },
                labelPlacement: "above-center",
                labelExpressionInfo: {
                    expression: "$feature.ADMIN_NAME"
                }
            };
            map.layers = [new FeatureLayer({
                portalItem: {
                    // autocasts as new PortalItem
                    id: "6996f03a1b364dbab4008d99380370ed"
                },
                labelingInfo: [labelClass],
                renderer: {
                    type: "simple", // autocasts as new SimpleRenderer()
                    symbol: {
                        type: "simple-marker", // autocasts as new SimpleMarkerSymbol()
                        color: "rgba(0,100,0,0.6)",
                        size: 3,
                        outline: {
                            color: "yellow",
                            width: 4
                        }
                    }
                }
            })];
        });
    </script>
</head>
<body>
    <div id="haritaBlogu"></div>
</body>
</html>

Harita görünümü aşağıdaki gibi görüntülenir.

Gelişmiş Etiketleme

Harita üzerinde gelişmiş etiketlemede yapılabilmektedir. Örneğin farklı bir özniteliğin değerinin, belirlenen bir değerden az veya çok olması durumunda farklı renklendirmeler, belirli bir ölçekte sadece istenen bilginin etiket olarak gösterilmesi gibi gelişmiş etiketleme seçenekleri desteklenmektedir.

İlk örneğimizde sadece Türkiye verilerinde görüntülemek istiyoruz. Bunun için özniteliklerde “FIPS_CNTRY” kullanılarak sadece “TU” verisi içeren değerler kümesi belirliyoruz. Bu küme sadece Türkiye içerisindeki etiketlerde geçerli olacaktır. Bu kümenin etiketi olarak “FIPS_CNTRY” değerini mavi renkte göstereceğiz.

            const sadeceTurkiyeLabelClass = {
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: "blue",
                    haloColor: "white",
                    haloSize: "1px",
                },
                labelExpressionInfo: {
                    expression: "$feature.FIPS_CNTRY"
                },
                labelPlacement: "below-left",
                where: "FIPS_CNTRY = 'TU'"
                };

Yukarıdaki kodu uyguladığımızda aşağıdaki harita görünümü oluşacaktır:

Harita üzerine dikkatlice bakıldığında, Türkiye içerisindeki gösterimi yapılan objelere ait etiketlerde mavi karakter ile “TU” görüntülenmekteyken, Türkiye dışında ülke kodu görüntülenmemektedir. Bu koşulu sağlayan durum etiket sınıfında mevcut “where” özelliğinin kullanılmasıdır.

Bir diğer örneğimizde ise etiketin öznitelik değerinin farklı renklerde durumuna göre görüntülenmesi. Örnek verimizde “POP_RANK” olarak ülke nüfusunun hangi kategoride olduğu bilgisi bulunmaktadır. Bu değeri kullanarak etiketlerimizde farklı renklerde bir değer gösterebiliriz.

            const azNufusLabelClass = {
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: [255,201,14],
                    haloColor: "white",
                    haloSize: "1px",
                },
                labelExpressionInfo: {
                    expression: "$feature.POP_RANK"
                },
                labelPlacement: "below-right",
                where: "POP_RANK <= 2"
            };
            const cokNufusLabelClass = {
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: [0,162,232],
                    haloColor: "white",
                    haloSize: "1px",
                },
                labelExpressionInfo: {
                    expression: "$feature.POP_RANK"
                },
                labelPlacement: "below-right",
                where: "POP_RANK > 2"
            };

Bu gösteriminin sağlanması için 2 farklı etiket oluşturup, “where” koşullarını birbirleriyle ilişkilendirmek. Aşağıdaki harita görünümünde görüldüğü üzere bazı il adlarında rakamlar ve nüfus yoğunluğuna göre farklı renklerde görüntülenmektedir.

Anlatılan farklı örnekleri tek bir uygulama içerisinde kullanımı aşağıda belirtilmektedir.

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>ArcGIS JavaScript API Örnekleri: Etiketleme</title>
    <style>
        html,
        body,
        #haritaBlogu {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
        }
    </style>
    <link rel="stylesheet" href="https://js.arcgis.com/4.20/esri/themes/light/main.css">
    <script src="https://js.arcgis.com/4.20/"></script>
    <script>
        require([
            "esri/config",
            "esri/Map",
            "esri/views/MapView",
            "esri/layers/FeatureLayer",
        ], function (esriConfig, Map, MapView, FeatureLayer) {
            esriConfig.apiKey = "XXXXX"
            var map = new Map({
                basemap: "arcgis-imagery-standard"
            });
            var view = new MapView({
                container: "haritaBlogu",
                map: map,
                center: [35, 39], // boylam, enlem
                zoom: 7
            });
            const labelClass = {
                // autocasts as new LabelClass()
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: "red",
                    haloColor: "white",
                    haloSize: "1px",
                    font: {
                        // autocast as new Font()
                        family: "Arial Unicode MS",
                        size: 12,
                        weight: "bold"
                    }
                },
                labelPlacement: "above-center",
                labelExpressionInfo: {
                    expression: "$feature.ADMIN_NAME"
                }
            };
            const sadeceTurkiyeLabelClass = {
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: "blue",
                    haloColor: "white",
                    haloSize: "1px",
                },
                labelExpressionInfo: {
                    expression: "$feature.FIPS_CNTRY"
                },
                labelPlacement: "below-left",
                where: "FIPS_CNTRY = 'TU'"
            };
            const azNufusLabelClass = {
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: [255, 201, 14],
                    haloColor: "white",
                    haloSize: "1px",
                },
                labelExpressionInfo: {
                    expression: "$feature.POP_RANK"
                },
                labelPlacement: "below-right",
                where: "POP_RANK <= 2"
            };
            const cokNufusLabelClass = {
                symbol: {
                    type: "text", // autocasts as new TextSymbol()
                    color: [0, 162, 232],
                    haloColor: "white",
                    haloSize: "1px",
                },
                labelExpressionInfo: {
                    expression: "$feature.POP_RANK"
                },
                labelPlacement: "below-right",
                where: "POP_RANK > 2"
            };
            map.layers = [new FeatureLayer({
                portalItem: {
                    // autocasts as new PortalItem
                    id: "6996f03a1b364dbab4008d99380370ed"
                },
                labelingInfo: [labelClass, sadeceTurkiyeLabelClass, azNufusLabelClass, cokNufusLabelClass],
                renderer: {
                    type: "simple", // autocasts as new SimpleRenderer()
                    symbol: {
                        type: "simple-marker", // autocasts as new SimpleMarkerSymbol()
                        color: "rgba(0,100,0,0.6)",
                        size: 3,
                        outline: {
                            color: "yellow",
                            width: 4
                        }
                    }
                }
            })];
        });
    </script>
</head>
<body>
    <div id="haritaBlogu"></div>
</body>
</html>

 

ArcGIS JavaScript API ile yazılmış diğer örnekleri incelemek için linke tıklayınız.

İleri düzey ArcGIS Developer eğitimleri,atölye çalışmaları ve yol gösterme hizmetleri için Esri Türkiye Profesyonel Hizmetler birimi ile irtibata geçiniz.

Esri Türkiye 2021

ArcGIS Desktop’ta Parsel Koordinatlarını Dışa Aktarma

ArcGIS teknolojisinin sunduğu coğrafi işlem araçlarıyla bir kadastro parselinin koordinatlarını kolaylıkla bir tablo verisi olarak kaydedebilir ve dışa aktarabilirsiniz. Bu yazımızda sıklıkla bir aplikasyon krokisi oluşturmak için kullanılan parsel sınır noktalarını ArcMap’te veya ArcGIS Pro’da otomatik olarak nasıl elde edebileceğinize değineceğiz.

ArcGIS Desktop yazılımlarında parsel sınır koordinatlarını dilerseniz detay sınıfınızın öznitelik tablosuna ekleyebilir veya dilerseniz koordinat değerlerini tablo formatında kaydederek elde ettiğiniz verileri farklı platformlara aktarabilir ve iş arkadaşlarınızla paylaşabilirsiniz.

Doğru Koordinat Sistemini Tanımlama

İster ArcGIS Pro kullanıcısı olun isterseniz çalışmalarınızı ArcMap’te sürdürüyor olun, iş akışlarınızı belirli bir koordinat sisteminde gerçekleştirirsiniz.

Bir parsel koordinatlarını görüntülemek için ilk adım işlem gerçekleştireceğiniz verileri incelemektir. İsteğinize yönelik koordinat değerlerini elde edebilmeniz için çalıştığınız veri kümesinin veya coğrafi işlem araçlarıyla oluşturacağınız çıktı detay sınıfınızın doğru koordinat sisteminde tanımlanmış olması gerekmektedir.

ArcGIS Pro’da bir koordinat sistemi belirtmek veya verilerin coğrafi dönüşümü ile ilgili ayrıntılı bilgi edinmek için bağlantıdaki sayfaya göz atabilirsiniz.

Coğrafi işlem araçlarıyla oluşturacağınız çıktı detay sınıflarının koordinat sistemini yapılandırma hakkında detaylı bilgi almak için sayfayı inceleyebilirsiniz.

Parsel Sınır Noktalarından Bir Detay Sınıfı Oluşturma

Veri kümenizin koordinat sistemini uygun bir şekilde yapılandırdıktan sonra ikinci adım parselin köşe noktalarından bir detay sınıfı oluşturmaktır. Bu işlemi değerleri elde etmek istediğiniz parseli seçtikten sonra veri yönetimi coğrafi işlem araçlarından Feature Vertices To Points (Data Management) aracını kullanarak gerçekleştirebilirsiniz.

Feature Vertices To Points coğrafi işlem aracı, girdi veri kümenizin kırılım noktalarından veya belirtilen köşelerinden bir nokta detay sınıfı oluşturmanızı sağlar.

Örneğin, aşağıdaki görseldeki gibi bir çalışma alanında bulunan kadastro parsellerinin sınır konumlarını elde etmek istediğinizi varsayalım. Örnekte olduğu gibi işlemi gerçekleştirmek istediğiniz parseli seçtikten sonra Feature Vertices To Points aracıyla çokgen geometrisindeki parsel detayınızdan nokta geometrisine sahip bir detay sınıfı oluşturabilirsiniz.

Çalışmalarınızda kullandığınız parsel verilerini farklı kaynaklardan elde etmiş olabilirsiniz. Bu nedenle üzerinde çalışma yapacağınız veri kümeniz çeşitli dosya formatlarına veya farklı vektör geometrilerine sahip olabilir. Feature Vertices To Points aracıyla çizgi veya çokgen geometrisine sahip vektör veri kümeleri üzerinde işlem gerçekleştirebilirsiniz.

Görselde Feature Vertices To Points aracıyla oluşturulan yeni nokta detay sınıfı gösterilmektedir.

Bu araç, parsel sayısallaştırılırken çizilen her verteksin kırılım noktaları yani köşelerinden bir nokta detay sınıfı elde etmenizi sağlar. Her kırılım noktası yerine farklı konumlara ait bir detay sınıfı üretmek isterseniz aracın Point Type (Nokta Türü) parametresini yapılandırabilirsiniz.

Parsel Sınır Noktalarına Koordinat Değerlerini Ekleme

Parsel köşelerini oluşturduktan sonraki adım detay sınıfının öznitelik tablosuna koordinat çifti değerlerini eklemektir. Verilerin sayısallaştırma işlemini siz gerçekleştirmediyseniz bu adıma geçmeden önce uygun sınır konumlarını Select (Seçim) araçlarıyla seçmeniz gerekebilir. Detay sınıfınıza belirlediğiniz köşe koordinat değerlerini eklemek için Add XY Coordinates (Data Management) aracını kullanabilirsiniz.

Add XY Coordinates aracı kullanılarak koordinat değerleri eklendikten sonra parsel sınır noktalarını içeren detay sınıfının öznitelik tablosu.

Add XY Coordinates aracı, çalıştığınız veri kümesinin koordinat sistemini referans almaktadır. Diğer bir deyişle, çalıştığınız harita dokümanı veya projenin koordinat sistemine göre değerler elde etmenizi sağlamaz. Bu nedenle, işlem gerçekleştireceğiniz detay sınıfının doğru koordinat sisteminde tanımlandığından emin olmalısınız. Ayrıca aracın girdi detayları üzerinde değişiklikler yaptığını ve eğer girdi veri kümenizin öznitelik tablosunda POINT_X, POINT_Y alanları bulunuyorsa yeniden hesaplanacağını göz önünde bulundurmalısınız.

Parsel Koordinatlarını Tablo Verisi Olarak Dışa Aktarma

ArcGIS teknolojisiyle gerçekleştirdiğiniz çalışmalardan elde ettiğiniz verileri farklı formatlarda kaydederek dışa aktarabilirsiniz. Bu sayede işlemleriniz sonucunda ürettiğiniz yeni bilgileri iş arkadaşlarınızla paylaşabilir veya verilerin çeşitli platformlarda ve veri tabanlarında depolanmasını sağlayabilirsiniz.

Bir detay sınıfının öznitelik tablosunu farklı tablosal veri formatlarında (.csv, .txt, .dbf, .xls veya .xlsx) kaydetmek için Export Tables aracını veya dönüşüm coğrafi araçlarından Table To Table aracını kullanabilirsiniz.

Export Tables aracıyla bir detay sınıfının tüm öznitelik tablosu kayıtlarını dışa aktarabileceğiniz gibi, sadece seçili kayıtların oluşturduğunuz yeni tabloya eklenmesini de sağlayabilirsiniz.

Farklı dosya formatında bir tablo oluşturmak için aracın iletişim kutusunda çıktı konumu (Output Location) için kaydetmek istediğiniz dosya konumunu seçerek çıktı tablonuzu isimlendirdiğiniz Output Name alanında kaydetmek istediğiniz dosya formatının uzantısını eklemeniz gerekmektedir.

Export Table aracında eğer çıktı tablonuzu bir coğrafi veri tabanında konumlandırırsanız, herhangi bir dosya uzantısı eklemenize gerek kalmadan oluşturduğunuz tabloyu bir coğrafi veri tabanı tablosu olarak kaydedersiniz.

Artık parsel koordinatlarını içeren çıktı tablonuzu kaydedilmesi için belirlediğiniz dosya yoluna giderek uygun yazılımlarda görüntüleyebilirsiniz.

Farklı formatlarda kaydettiğiniz tablo verilerinizi hedef kitleniz ile paylaşmadan önce düzenlemeniz gerekebilir. Çıktı tablonuzda yer almasını istediğiniz belirli sütunları aracı çalıştırmadan önce aracın iletişim kutusundaki Fields alanından da yapılandırmayı tercih edebilirsiniz.

ArcMap’te bir parselin koordinatlarını tablo verisi olarak nasıl dışa aktarabilirim?

Cevap çok basit! ArcGIS Pro veya ArcMap kullanıcısı olmanız bu işlem için izlemeniz gereken adımları değiştirmeyecektir. Aynı detaylara dikkat ederek benzer araçlarla aynı iş akışını gerçekleştirebilirsiniz.

ArcMap’te gerçekleştirmek için iş akışını yeniden gözden geçirelim:

  • Doğru Koordinat Sistemini Tanımlama

ArcMap’te bir koordinat sistemi belirtmek veya verilerin coğrafi dönüşümü ile ilgili ayrıntılı bilgi edinmek için bağlantıdaki sayfayı inceleyebilirsiniz.

ArcMap’te coğrafi işlem ortam ayarlarını yapılandırma hakkında detaylı bilgiye bağlantıya tıklayarak erişebilirsiniz.

  • Parsel Sınır Noktalarından Bir Detay Sınıfı Oluşturma

ArcMap’te Feature Vertices To Points aracının kullanımıyla ilgili detaylı bilgi için bağlantıya tıklayabilirsiniz.

  • Parsel Sınır Noktalarına Koordinat Değerlerini Ekleme

ArcMap’te Add XY Coordinates aracının kullanımıyla ilgili detaylı bilgi için bağlantıya tıklayabilirsiniz.

  • Parsel Koordinatlarını Tablo Verisi Olarak Dışa Aktarma

Bu adıma kadar izlemeniz gereken tüm adımlarda kullandığınız araçlar aynı isimle ArcMap’te de bulunmaktadır. Ancak son adımda farklı formatlarda bir tablo oluşturmak için ArcMap’te kullanacağınız aracın ismi Export Data aracıdır.

Export Data aracı, ArcMap’te genellikle bir detay sınıfını kaydetmek için sıklıkla kullanılan araçlardan birisidir. Diğer bir deyişle, farklı formatlarda yalnızca bir tablo oluşturmaktan fazlasını gerçekleştirmenizi sağlar.

ArcMap’te detayları dışa aktarma ilgili detaylı bilgi için bağlantıya tıklayabilirsiniz.

ArcMap’te bir detay sınıfının öznitelik tablosunu dışarı aktarmak için Table Options (Tablo Ayarları) butonuna tıklayarak Export (Dışa Aktar) seçimini yapabilirsiniz.

Son olarak Export Data iletişim kutusunda çıktı konumunu ayarladığınız alana tıkladığınızda kaydetmek istediğiniz dosya formatını ve tablonuzun ismini belirleyebilirsiniz.

Şimdi Sıra Sizde

ArcGIS teknolojisiyle bir parsel koordinatlarından tablo verileri oluşturmayı örnek bir çalışma üzerinden incelediniz. Artık sizlerde kendi verilerinizle bu iş akışını gerçekleştirebilirsiniz.

Eğer ArcGIS yazılımlarıyla ilgili bilgilerinizi geliştirmek ve CBS alanındaki yetkinliğinizi belgelemek isterseniz sizi sertifikalı eğitimlerimize de bekleriz!

Pandemi dolayısıyla yalnızca uzaktan katılım sağlayabileceğiniz çevrimiçi eğitimlerimizi web sayfamızdaki eğitim kataloğu ve eğitim takviminden inceleyebilir sizin için en uygun eğitimi seçebilirsiniz. Bu konu hakkında yardım ya da danışmanlık almak isterseniz bizlerle iletişime geçebilirsiniz.

Esri Türkiye Akademi web sayası

Esri Türkiye, Haziran 2021

ArcGIS Dashboards Beta 2 Yenilikleri

Geçen yıl, dünya çapında her zamankinden daha fazla gösterge paneli (ArcGIS Dashboards) oluşturuldu ve herkese açık olarak paylaşıldı. Kullanım alanları; halk sağlığı, acil durum yönetimi ve afet müdahalesinden kamu güvenliği ve kamu olaylarına kadar değişiyordu. Gösterge panelleri, bir topluluktan veya bir kurumdan alınan ilgili güncel bilgileri anlama şeklimizi değiştirir ve veri tüketimini kolay ve rahat hale getirir. Herkese açık olarak paylaşılan gösterge tabloları, yalnızca görünen kısımdır. Pek çok gösterge tablosu, karar vermeye, eğilimleri görselleştirmeye ve durumu gerçek zamanlı olarak izlemeye yardımcı olmak için oluşturulur ve paylaşılır.

ArcGIS Dashboards teknolojisi, daha iyi performans, geliştirilmiş özellikler ve yenilenmiş tasarımlarla artan kullanıma adapte olmuştur.

Covid-19 Yayılımının Günlük Güncellendiği herkese açık gösterge paneli

ArcGIS API for JavaScript 4.x ile yeniden düzenlenen yeni nesil ArcGIS Dashboards, Nisan 2020’de beta olarak kullanıma sunuldu.

ArcGIS Dashboards Beta, ArcGIS platformundaki en son yeniliklerden yararlanır, böylece hem haritalar hem de gösterge tabloları daha performanslı olur. Arcade ifadeleri desteği, öğelere ek bağlam eklemeye yardımcı olur ve izleyicilerinizin dikkatini önemli değerlere, olaylara ve durumlara çeker. Yüzdelik dilim istatistikleri gibi ek ölçümler, yeni tarih filtreleme seçenekleri ve boş olmayan ve farklı değerler içeren sayımlarla birlikte kullanıma sunuldu.

Beta ile her ay binden fazla gösterge tablosu oluşturuldu. Gösterge panolarının mevcut sürümüyle aynı kullanıcı arayüzü sayesinde, beta sürümüyle bir gösterge tablosu oluşturmak veya düzenlemek çok kolaydır. Çalışmaya başlamak için GeoNet alanındaki yazıyı inceleyebilirsiniz.

Yeni güncellemede yer alan bazı önemli noktalar aşağıdaki gibidir:

Seçime dayalı gösterim

Gösterge paneli öğelerinin görünümünü yalnızca bir seçim yapıldığında gerçekleşecek şekilde ayarlamak için yeni bir geliştirme seçeneği mevcuttur. Oluşturanların, verilerin ne zaman ve nasıl bir panoda görüntülendiğine ilişkin koşulları veya bağımlılıkları belirlemesine olanak tanır. Bunu şöyle düşünün; hiçbir koşulunuz yoksa, gösterge paneliniz ve tüm veri görselleştirmeleri, kullanıcıların tüm bilgileri aynı anda görebilmesi için çalışma zamanında görüntülenir. Seçime dayalı ekranla, verilerinizin bir seçimini yalnızca bir veya daha fazla koşul karşılandığında görüntülemeyi seçebilirsiniz. Bir seçimin gerekli olduğunu belirtmek için bir mesaj veya bir resim özelleştirilebilir ve bu öğeler üzerinde gösterilebilir.

Actions kısmında yeni gelen ” Yalnızca filtrelendiğinde oluştur” seçeneği

Grafik ayarlarının yapılandırmasının Actions sekmesinde, Yalnızca filtrelendiğinde oluştur geçiş düğmesini etkinleştirin. Bu seçenek, liste öğelerinin yalnızca seçiciden bir seçim yapıldığında işleneceğini belirler. Etkinleştirildiğinde, liste öğesinde artık herhangi bir bölge listelenmez. Bunun yerine öğe, “Bir veya daha fazla öğe için seçim gerekli” varsayılan mesajını gösterir. Bu mesaj, bir gösterge tablosu kullanıcısının listeyi görmek için ne yapması gerektiğine dair bazı ipuçları verir. Daha özel bir uyarı verilmesi istenirse “General” sekmesinde “No Selection” içinde ne yapılacağına dair ipucu yazılabilir. Artık bir kullanıcı kontrol panelini açtığında, o bölgedeki ürünlerin dağılımını grafik olarak görmek için önce bölge seçmesi gerektiğini biliyor olacak.

Seçim tabanlı gösterim ile; gösterge panelinizde bir seçim yapmaları ve aradıkları bilgileri almaları için izleyicilere rehberlik edebilirsiniz. Kullanıcıya, panelleri nasıl kullanabileceğini anlatan bilgiler eklenebileceği için fazla CBS deneyimi olmayan kişilerin kullanımında kolaylık sağlayabilirsiniz.

Genel olarak, seçime dayalı ekran, daha odaklı ve bağlama duyarlı bir gösterge paneli oluşturmaya yardımcı olur ve hedef kitlenizin ihtiyaç duydukları bilgileri daha verimli bir şekilde almasına yardımcı olur.

Aşağıda farklı bir örneğin nasıl yapıldığını inceleyebilirsiniz:

Dashboards Beta’da seçim tabanlı görüntülemeyi yapılandırma

 

Bağımsız tablolar artık bir veri kaynağı olarak desteklenmektedir

Bağımsız tablo (standalone table) içeren web haritalarına başvurabilir veya ilgili tablo içeren bir katmanı kullanabilirsiniz. Veri kaynağı olarak bağımsız tablolar içeren tüm mevcut gösterge panelleri artık beklendiği gibi açılacaktır.

Map Viewer Beta’da oluşturulan haritalardan yararlanın

Map Viewer Beta’nın heyecan verici yetenekleri olan; grup katmanları, nokta yoğunluğu, kümeleme, açılır pencere iyileştirmeleri ve yer imleri gibi özellikleri kullandığınız web haritalarını ArcGIS Dashboards Beta 2’de de kullanabilirsiniz. Aşağıdaki örneklerde; kümeleme (clustering) ve nokta yoğunluğu (dot density) kullanılan web haritalarının ArcGIS Dashboard Beta’da nasıl görüntülendiğni inceleyebilirsiniz.

Kümeleme gösteriminin ArcGIS Dashboards’ta görüntülenmesi

 

Nokta yoğunluğu ile gösterilen nüfus bilgisi ve sağlık kuruluşlarının dağılımı gösterimi

 

Esri Türkiye 2021

ArcGIS StoryMaps Yenilikleri (Mart 2021)

Bu ay, ArcGIS StoryMaps’teki en popüler özelliklerden yani bloklardan bazılarını, hikaye anlatımınızı güçlendirmek için ek yetenekler ve özelliklerle geliştiriyoruz.

  • Video oynatma seçenekleri
  • Sidecar’da (İkili görünüm’de) kaydırma
  • Yeni yerleştirme seçenekleri
  • Ve daha fazlası…

Video oynatma seçenekleri

Sidecar (ikili görünüm) ve map tour (harita turu) şimdi medya panellerine yüklenen videolar için yeni oynatma seçenekleri sunuyor. Bu seçenekler çoktan satır içi videolarda mevcut olanlarla aynıdır; oynatmak için tıkla, kontrolsüz otomatik oynatma, kontrollü otomatik oynatma. Kontrollü otomatik oynatmada videonun sonsuz döngüye girip girmeyeceğini seçebilirsiniz.

Hareketli panel düzeninde ikili görünüm bloklarındaki medya panel videoları ekranı kapladıkları için ve arka planda oynatıldıkları için her zaman kontrolsüz otomatik oynatma olarak ayarlıdır.

Daha fazla bilgi için What’s new in ArcGIS StoryMaps (September 2020) dokümanının Videolar için otomatik oynatma seçenekleri kısmını inceleyebilirsiniz.

Sidecar’da (İkili görünüm’de) kaydırma

Kaydırma bloğu, hikayelerde interaktif karşılaştırmalar sağlamanın popüler bir yolu olduğunu kanıtlamış durumda. Şimdi, hikaye okuyucularınıza ikili görünüm bağlamında aynı deneyimi yaşatmak için kaydırma bloğu ekleyebilirsiniz.

Ana hikaye anlatısında kaydırma kullanırken olduğu gibi, iki görüntüyü ya da haritayı karşılaştırmak için ikili görünüm kullanabilirsiniz. Bu özellik sabit ya da hareketli panel düzenlerinin ikisi için de kullanılabilir. Hareketli panel düzenine kaydırma aracı (Swipe) eklerseniz, kaydırma aracı kullanıldığında eklenen medyanın tam bir şekilde görüntülenebilmesi için anlatı panelinin soluklaştığını fark edeceksiniz.

Kaydırma kullandığınız sırada ekrandaki anlatı için de ayrılmış bir alanınız olduğu için ikili görünüm kullanmak yararlı bir hikaye anlatım tekniğidir. Kaydırma ile ilgili söyleyecek çok şeyiniz varsa slaydı çoğaltarak anlatınızı birkaç slaydı içerecek şekilde ayarlayabilirsiniz.

Daha fazla bilgi ve hikayelerinizde kaydırma ile kıyaslamanın nasıl kullanıldığına dair birçok örnek için Swipe right for a powerful storytelling tool dokümanını ve güncellenmiş kaydırma öğreticisi‘ni inceleyebilirsiniz.

 

Yeni yerleştirme seçenekleri

Yerleştirme, webdeki başka bir yerden içerikleri bir hikaye içerisine dahil etmenin güçlü bir yoludur. Çok fazla türde web içeriği olduğu için yerleştirmeler esnektir ve içeriği görüntüleme ve içeriğe bağlantı için çok çeşitli yollar sunar. Bu ay, yerleştirmeler ile etkileşim sırasında okuyucuların deneyimlerini özelleştirmenize olanak sunan yeni seçenekler eklendi. Bu seçenek hikaye, dizüstü bilgisayar, masaüstü bilgisayar ya da yatay yönlendirmeye sahip tabletlerde görüntülendiğinde uygulanır.

İlk seçenek, canlı yerleştirmelerin üzerine gelindiğinde beliren etkileşim için tıkla panelini kaldırır. Bu deneyim, okuyucuların yanlışlıkla kaydırılabilir/yakınlaştırılabilir bir yerleştirme ile etkileşimde bulunmasını önlemek için tasarlanmıştır. Ancak, yerleştirme kaydırılabilir/yakınlaştırılabilir değilse, bu panel istenmeyen veya gereksiz olabilir.

Bu seçeneğin işaretinin kaldırılması, yalnızca kaydırılabilir alanı veya canlı haritaları olmayan içerik için önerilir. Etkileşimli grafikler, canlı bilgi grafikleri veya gösterge panelleri (yakınlaştırılabilir haritalar veya kaydırılabilir alanlar olmayan) bu yeni seçenekten yararlanabilecek içerik örnekleridir. Eğer Esri Topluluğu’nda ArcGIS StoryMaps bloğunu takip ediyorsanız bu seçeneğin daha önceden iframe parametresi ile mümkün olduğunu biliyor olabilirsiniz. Şimdi ise hikaye oluşturucuda kullanımı çok daha kolay bir kutucuk ile mümkün.

İkinci seçenek, yeni sekmede aç butonunu kaldırma yeteneği sunar. Bu buton bazen yerleştirilmiş içeriğin üst köşesinde bulunan buton ya da menü ile çatışabilir. Eğer gerekliyse, kaldırma yeteneğine artık sahipsiniz. Bu seçenek, bir yerleştirmeyi genişletmenin bir amacı veya değeri olmadığında da kullanılabilir. Survey123 formları, interaktif grafikler ve bilgi grafikleri genellikle yeni sekmede açılmaya gerek duyulmayan yerleştirme örnekleridir.

Bu iki ayar yazarlara, yerleştirilen belirli içeriğe dayalı olarak okuyuculara doğru deneyimi sağlama konusunda daha fazla esneklik sağlar. Daha önce mevcut olan yerleştirme görüntüleme seçenekleri, yerleştirme işleminizin telefon ve tablet gibi daha dar ekranlı cihazlarda dikey yönde nasıl göründüğünü etkiledikleri için artık Küçük ekranlar bölümünde gruplandırılmıştır.

Hikayelerinizi yerleştirilmiş içerik ile zenginleştirin adlı doküman sayesinde hikayelerinizde yerleştirmeleri kullanma ile ilgili daha fazla bilgi edinebilirsiniz.

Ve daha fazlası…

  • Bir detay servisi kullanılarak oluşturulan harita turları için, her bir konum için beş farklı görüntü ekine kadar gösterebilirsiniz.
  • Ekspress haritalar ve harita turlarında kullanılan özel yapılmış altlık haritalar yayınlama sırasındaki paylaşma sorunları kontrol edilmiştir.
  • Onaylanan temalar grubu silinirse bir hata gösteren kuruluş ayarları sayfasıyla ilgili ve bir temada değişiklikler yayınlandıysa onaylanan tema grubundan kaldırılan bir temayla ilgili olanlar da dahil olmak üzere çeşitli hatalar düzeltilmiştir.
  • Bir süredir devam eden bir yazılım hatası olan Google Chrome’daki bazı harita turu düzenlerindeki portre görüntülerinin esnemesine neden olan bug tespit edilmiştir. Eğer böyle bir sorunla karşılaşırsanız düzeltmek için Chrome 89’a yükseltmeniz gerekmektedir.

Esri Türkiye, 2021

Bu yazı için bir etiket bulunmamaktadır.
ArcGIS API for JavaScript ile Web Uygulamaları – 6

ArcGIS API for JavaScript ile Web Uygulamaları – 6

StreamLayer

Akış katman olarak da adlandırabileceğimiz ‘StreamLayer’, kendinizin oluşturacağı ‘WebSocket’ ’leri veri kaynağı olarak tanımaktadır. Böylelikle canlı olarak herhangi bir kaynakta üretilen mekânsal verileriniz, web haritaları üzerinden kolayca gösterimini sağlayabileceksiniz.

‘StreamLayer’, akış katmanlarında veya kendinizin oluşturacağı ‘WebSocket’ servislerine bağlantı kurarak, gerçek zamanlı izlenen (tracked) nesneler kümesinin gözlemlenmesini sağlamaktadır. Gözlemleme olarak nesnesinin konumu, nitelikleri veya her ikisini içermektedir. Akış katmanları nokta, çoklu çizgi veya poligon tipinde konumsal nesneler olabilir.

Akış katmanı haritaya eklendikten sonra, gerçek zamanlı olarak sunucu tarafından gönderilen güncellemeleri kullanıcılar görüntüleyebilecektir. ‘FeatureLayer’ tipinde katmandan farklı olarak konumsal nesnelerin güncel verisini görüntülemek için her defasında sunucundan bilgi çekmek için güncelleme işlemine gerek kalmamaktadır. Akış katmanı, akış servisi tarafından veri yayınının akışını dinleyerek dinamik olarak güncel veriyi görüntülemektedir.

Akış katmanında veri kaynağı olarak 2 kaynak tipi geçerli:

  • ArcGIS GeoEvent Server tarafından oluşturulmuş akış katman servisi kaynağı
  • Özel oluşturulmuş websocket akış servisi kaynağı

Adımlar

  1. Bilgisayarınızda öncelikle bir web sunucusu bulunmalı. Bu web sunucusunda bir HTML dosyası barındırın ve herhangi bir metin editörü dosyayı açınız.
  2. Önceki blog yazılarımızdan HTML şablonu kopyalayınız.

1.      ArcGIS GeoEvent Server servis kaynağı

“https://geoeventsample1.esri.com:6443/arcgis/rest/services/LABus/StreamServer” örnek bir ArcGIS GeoEvent Server akış servis adresini kullanarak haritamıza bir StreamLayer katmanını web haritası üzerinde gösterimini sağlayacağız.

1.1 Öncelikle harita ve görünümünü oluşturuyoruz.

   var map = new Map({
     basemap: "topo-vector"
   });
 
   var view = new MapView({
      container: "haritaBlogu",
      map: map,
      center: [-117.98118, 34.00679], // boylam, enlem
      zoom: 10
   });

 

1.2 Akış katmanımızı, ‘url’ özelliğine servisin adresini belirterek oluşturuyoruz ve sonrasında da haritamıza katman olarak ekliyoruz.
const streamLayer = new StreamLayer({
    url: 'https://geoeventsample1.esri.com:6443/arcgis/rest/services/LABus/StreamServer',
    purgeOptions: {
      displayCount: 10000
    }
  });
map.add(streamLayer);

HTML kodun son hali aşağıdaki gibi olmalı:

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>ArcGIS JavaScript API Örnekleri: Stream Layer</title>
    <style>
        html, body, #haritaBlogu {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
        }
    </style>
 
    <link rel="stylesheet" href="https://js.arcgis.com/4.18/esri/themes/light/main.css">
    <script src="https://js.arcgis.com/4.18/"></script>
   
    <script>
        require([
            "esri/Map",
            "esri/views/MapView",
            "esri/layers/StreamLayer"
        ], function (Map, MapView, StreamLayer) {
       
            var map = new Map({
                basemap: "topo-vector"
            });
           
            var view = new MapView({
                container: "haritaBlogu",
                map: map,
                center: [-117.98118, 34.00679], // boylam, enlem
                zoom: 10
            });
            const streamLayer = new StreamLayer({
                url: 'https://geoeventsample1.esri.com:6443/arcgis/rest/services/LABus/StreamServer',
                purgeOptions: {
                  displayCount: 10000
                }
              });
            map.add(streamLayer);
        });
    </script>
</head>
<body>
    <div id="haritaBlogu"></div>
</body>
</html>

 

Harita görünümü aşağıdaki gibi görüntülenir.

Anlık olarak ekran üzerinde noktaların eklendiğini görüntüleyeceksiniz.

 

2.     Özel oluşturulmuş websocket akış servisi kaynağı

Özel websocket için herhangi bir programlama dilini kullanarak oluşturabilirsiniz. Websocket sucunusundan paylaşılacak veri için ArcGIS Pro’yu kullanabilirsiniz. Harita üzerinde çizeceğiniz bir alanı, noktalara dönüştürebilirsiniz.

Dönüşüm işlemi sonrasında katman Excel’e çıkartılır. Excel uygulamasını kullanarak excel dosyasını ‘csv’ formatına dönüştürebilirsiniz.

Belirleyebileceğiniz zaman aralıklarında, veri içerisindeki bir satır okunarak, websocket üzerinden paylaşılacak şekilde bir websocket sunucusu oluşturulur.

2.1 Öncelikler harita ve görünümünü oluşturuyoruz.

var map = new Map({
    basemap: "topo-vector"
});
var view = new MapView({
    container: "haritaBlogu",
    map: map,
    center: [35, 39], // boylam, enlem
    zoom: 7
});

 

2.2 Akış katmanımızı, ‘webSocketUrl’ özelliğine özel oluşturduğunuz websocket sunucusunun adresini, ‘fields’ özelliğine ise veri içerisinde tanımlı öznitelik adlarını tanımlıyoruz.
const streamLayer = new StreamLayer({
  popupTemplate: {
    content: "OBJECTID={OBJECTID}",
  },
  webSocketUrl: "ws://localhost:8765",
  fields: [
    {
      name: "OBJECTID",
      alias: "ObjectId",
      type: "oid",
    },
    {
      name: "TRACKID",
      alias: "TrackId",
      type: "oid",
    }
  ],
  timeInfo: {
    trackIdField: "TRACKID"
  },
  geometryType: "point",
  maxReconnectionAttempts: 100,
  maxReconnectionInterval: 10,
  renderer: {
      type: "simple",
      symbol: {
        type: "simple-marker",
        size: "8px",
        color: "red",
      },
    },
});

 

2.3 Oluşturduğumuz katmanı harita içerisinde katman olarak ekliyoruz.

map.add(streamLayer);

 

HTML kodun son hali aşağıdaki gibi olmalı:

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>ArcGIS JavaScript API Örnekleri: Stream Layer</title>
    <style>
        html, body, #haritaBlogu {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
        }
    </style>
 
    <link rel="stylesheet" href="https://js.arcgis.com/4.18/esri/themes/light/main.css">
    <script src="https://js.arcgis.com/4.18/"></script>
   
    <script>
        require([
            "esri/Map",
            "esri/views/MapView",
            "esri/layers/StreamLayer"
        ], function (Map, MapView, StreamLayer) {
       
            var map = new Map({
                basemap: "topo-vector"
            });
           
            var view = new MapView({
                container: "haritaBlogu",
                map: map,
                center: [35, 39], // boylam, enlem
                zoom: 7
            });
           const streamLayer = new StreamLayer({
              popupTemplate: {
                content: "OBJECTID={OBJECTID}",
              },
              webSocketUrl: "ws://localhost:8765",
              fields: [
                {
                  name: "OBJECTID",
                  alias: "ObjectId",
                  type: "oid",
                },
                {
                  name: "TRACKID",
                  alias: "TrackId",
                  type: "oid",
                }
              ],
              timeInfo: {
                trackIdField: "TRACKID"
              },
              geometryType: "point",
              maxReconnectionAttempts: 100,
              maxReconnectionInterval: 10,
              renderer: {
                  type: "simple",
                  symbol: {
                    type: "simple-marker",
                    size: "8px",
                    color: "red",
                  },
                },
            });
            map.add(streamLayer);
        });
    </script>
</head>
<body>
    <div id="haritaBlogu"></div>
</body>
</html>

 

Harita görünümü aşağıdaki gibi görüntülenir.

ArcGIS JavaScript API ile yazılmış diğer örnekleri incelemek için linke tıklayınız.

İleri düzey ArcGIS Developer eğitimleri,atölye çalışmaları ve yol gösterme hizmetleri için Esri Türkiye Profesyonel Hizmetler birimi ile irtibata geçiniz.

Esri Türkiye 2020

2020’de Mekansal Analiz ve Veri Bilimine Genel Bakış

2020’de Mekansal Analiz ve Veri Bilimine Genel Bakış

2020 Geliştiriciler Zirvesi olarak bilinen Developer Summit’te mekansal analiz ve veri bilimi iş akışları için güçlü ve kapsamlı bir platform  olan ArcGIS’in yeteneklerini gösteren bir çok özellik anlatıldı. Bu yazı; bu konularda genel bilgi vermeyi amaçlayacak şekilde oluşturulmuştur. Ayrıca linke tıklayarak zirvede anlatılan diğer içerikleri ve videoları da izleyebilirsiniz.

Aşağıda gördüğünüz gibi veri bilimi iş akışı tipik olarak veri mühendisliğiyle başlar. Bu aşama verinin dönüşümünü, çıkarımını, hazırlanmasını ve zenginleştirilmesini kapsar. ArcGIS, analiz için kullanacağınız verileri kolayca oluşturmanıza yardımcı olur. Sonrasında verinin nelere sahip olduğunu ve olmadığını keşfetmek için görselleştirme ve keşfetme devreye girer. Mekansal analizler çalıştırılabilir ve konumu etkinleştirilmiş veriler Python veya R içinde modelleme ve komut dosyası için kullanılabilir. Sonuncu olarak iş akışında cevapların aksiyona döndüğü kısım; paylaşım ve işbirliğidir. ArcGIS tüm verileri entegre eder ve bunları harita, sahne ve katman gibi coğrafi bilgi varlıkları olarak düzenlemeye yardımcı olur.

Mekansal analiz ve veri biliminde güçlü ve kapsamlı platform

Bu sene; çok boyutlu raster veriler, hatta yapılandırılmamış verilerle ilgili çalışmalara ek olarak, lidar verileri ve full motion video gibi konularla ilgili geliştirme alanında yapılabileceklere değinilmiştir. Yazının ilerleyen kısımlarında bu konularla ilgili daha çok bilgiye erişebilirsiniz.

Açık Bilim, Araçlar ve Deneyimler

Veriyi dönüştürmede ArcGIS açık deneyimlerle entegredir. Makine öğrenmesi için Tensor Flow, Keras, PyTorch, veri düzenleme için pandas ve NumPy açık bilim kütüphaneleri, API’lar ve araçlarla entegre bir platform sunar.

Demo örneklerine geçmeden önce R- AcGIS Bridge’e gelen yenilikler kısaca şu şekilde özetlenebilir: portal öğelerine erişmek için Online veya Enterprise’dan bağlantı kurma yeteneği, Conda üzerinden R Notebook ile entegrasyon, R iş akışları içinde ArcPy çağırarak coğrafi işlem araçlarını çalıştırma.

– ArcGIS Notebooks’un ArcGIS Pro ile Entegre Çalışması

ArcGIS Notebooks; etkileşimli haritalama, semboloji, grafikler ve seçimler yoluyla analiz ve veri bilimi iş akışlarını yürütmenin, görselleştirmenin ve yinelemenin dinamik bir yoludur. Açık kaynak kütüphanelerinin sorunsuz entegrasyonu sayesinde, mekansal veri bilimi iş akışları sezgisel yollarla genişletilebilir. Demo olarak gösterilen bir örnekte “random forest” makine öğrenme algoritmasını kullanarak; sağlık verileri kronik böbrek hastalığından etkilenen nüfus yüzdelerini bölgelere göre göstermek için modellendi.

ArcGIS Notebooks ArcGIS Pro’yla entegre çalışır

Maliyeti düşürmenin ve hizmet sunumunda verimliliği artırmanın potansiyel bir yolu, dengeli idari bölgeler oluşturmaktan geçtiği için öncelikle bu konuda çalışıldı. İhtiyaç duyan hastalar, gelir düzeyleri ve diyaliz merkezlerine uzaklık gibi bir dizi öznitelik değerine dayalı olarak dengeli idari bölgeler tahmin edildi. ArcGIS Pro’nun Jupyter Notebooks ile entegre olması sayesinde analizin başlık, görseller ve etkileşimli grafikler de dahil olmak üzere anlamlı bir bağlamla optimize edilebildiği gösterildi.

Başlıklar, görseller ve etkileşimli analizlerin ArcGIS Pro içinde Notebooks ile görünümü

 

İkinci bir örnekte ise; Hindistan’daki protesto türlerini incelemek üzere açık kaynak kütüphanesinden yararlanılarak geçmiş yıllara dönük veriler iki ana grupta toplandı. Daha sonra analizini geliştirmek için açık kaynak kütüphaneleri içe aktarıldı. İlk olarak; mevcut öznitelik sınıfını bir “pandas DataFrame”e dönüştürerek öznitelikler tablo biçiminde görüntülendi ve seçildi. Daha sonra, verileri mekan ve zamanda görselleştirmek üzere istatistiksel grafikleri ve çizelgeleri dahil etmek için “seaborn” kullandı. Son olarak, kendi kategorileri arasında mekansal bir ilişki olasılığını belirlemek için ArcPy’nin colocation analiz aracı kullanıldı.

ArcPy ile Colocation analizi

Yapılan demo sunumunu izlemek için tıklayınız.

– Büyük Veri Analizi

GeoAnalytics Araçları, büyük miktarda veri arasındaki ilişkileri ve kalıpları tanımlamak için mekansal analizden yararlanır. GeoAnalytics, Apache Spark kullanarak vektör ve tablo veri kümelerini analiz etmek için paralel analiz gerçekleştirir. GeoAnalytics Server ile kuruluşlar birden çok makinede dağıtılmış analiz gerçekleştirirken, GeoAnalytics Desktop Araçları masaüstü makinenizdeki yerel verilerle paralel analiz yapmak için ArcGIS Pro’yu kullanır. ArcGIS Pro 2.5 ile tanıtılan ve GeoAnalytics Desktop araç kümesi ile nokta kümelenmelerini bulmayı sağlayan “Find Point Clusters” gösterildi. Gösterilen veri kümesinde 4.5 milyondan fazla nokta bulunmaktaydı. Belirlenen değişkenlere göre analiz gerçekleşirken Apache Spark masaüstü makinesinde işliyor ve coğrafi işleme ortamındaki 32 çekirdeğin tamamında paralel analiz yürütüyordu. Paralel analiz; analizi hızlandırmak ve genel performansı artırmak için işlemlerin birden fazla çekirdekte gerçekleştirilmesine izin verir.

Analiz çalışırken masaüstü çekirdeği kullanımı

Yapılan demo sunumunu izlemek için tıklayınız.

– Raster Analitik ve Python API

Raster analitikle ilgili örnek mercanlarla ilgilidir. Mercan resifleri gezegendeki en önemli ekosistemlerden biri olup, iklim değişikliğinin de içinde yer aldığı bir çok tehlikeyle karşı karşıyadır.  Okyanus sıcaklığının artması demek mercanların hayatta kalması için gereken sıcaklığın çok üstüne çıkılması demek olabilir. Aradaki bağlantının incelenmesi için raster analitik devreye giriyor. Bu demoda Raster analitik içindeki Multidimensional Analiz araçlarından yararlanılmıştır. Notebooks ve Python API kullanılarak Deniz yüzeyi sıcaklığının mercan ağartma üzerindeki etkisini anlamak için zaman serisi tahmin yetenekleri kullanan bir model oluşturuldu. Living Atlas içindeki multidimensional veri küpü kullanıldı. Bu veride 2008 yılına kadar günlük sıcaklık bilgileri bulunuyor. Aggregate multidimensional raster fonksiyonu ile bu veriden analizde kullanılmak üzere haftalık sıcaklık verisi üretildi.

Küresel günlük sıcaklık dilimleri ile çok boyutlu veri küpü

Her bir hücrenin (cell) zamanla ısınıp ısınmadığını veya soğuyup soğumadığını belirlemek için zaman serisi modeli oluşturuldu ve bu trende  dayanarak 2022 yılına kadar gelecekteki deniz yüzeyi sıcaklıklarını tahmin edilmek için fonksiyon çalıştırıldı. Böylece geleceğe yönelik beklenen değerleri bulup bunu gözlemlenenle karşılaştırma fırsatı bulunmuş oldu.

Gözlenen ve tahmin edilen deniz yüzeyi sıcaklık noktalarının karşılaştırılması

Bir sonraki aşamada belli bir eşiğin üstündeki sıcaklıklara odaklanılarak, zaman içinde sıcaklık anomalilerinin görüldüğü çok boyutlu veri küpü oluşturuldu. Sıcaklık anomalileri uzarsa, mercan sonunda ölebilir; bununla birlikte, maruziyet daha kısa süreler içinse mercanın iyileşme şansı vardır. Bunu bulmak için ise uzun süreli ısınma dönemlerinin ne zaman meydana geleceğini tahmin etmeye yarayan fonksiyon kullanıldı. Bu demoda 5 tane alarm seviyesi kullanılarak sonuç haritalaması gerçekleştirildi. Böylece üretilen tüm çıktılar ve odaklanmış mercan resifi ağartma verileriyle birlikte uyarı seviyeleri hızlı bir şekilde izlenebilir hale geldi.

Uyarı seviyelerini ve zaman içinde mercan stresini gösteren gösterge paneli

Yapılan demo sunumunu izlemek için tıklayınız.

– LiDAR Nokta Bulutundan AI ile Veri Çıkarımı

ArcGIS API for Python’ın Learn modülünü kullanarak LiDAR nokta bulutlarındaki verileri otomatik olarak etiketleyebilir ve ayıklayabilirsiniz. Modül artık eğitime hazır PointCNN sinir ağını içerdiği için PointCNN’yi kuruluşunuzun gereksinim duyduğu nesneleri algılaması için kolayca eğitebilirsiniz. Manuel etiketleme yerine AI sayesinde çok daha kısa bir sürede etiketlemeyi tamamlamış olursunuz.

Üstte manuel etiketlendirilen nokta bulutu, altta görünen AI ile etiketlenmiş nokta bulutunu göstermekte

Yapılan demo sunumunu izlemek için tıklayınız.

 

– Derin Öğrenme Araçları ile Full Motion Video

Bu demoda bir kedi balığı dedektörü modelinin ArcGIS Pro’nun tam hareketli video araçlarından türetilen bir eğitim seti kullanarak nasıl eğitileceği anlatılmıştır. İlgi çekici nokta eğitilmiş modelin bütün video boyunca balıkları etkili bir şekilde algılamasıdır. Burada izlenen yol; seçilen her karede nesnelerin tanımlanması ve sınıflandırılması, özniteliklerin detay katmanında eğitim verisi olarak tutulması ve tahminsel kedi balığı dedektör modelini çalıştırmak için eğitim verilerini girdi olarak kullanılması şeklindedir. Bu çalışma ve bunun gibi çalışmaların sonuçları daha sonra tür kaybıyla ilgili yerel balıkçı ve koruma uzmanları gibi kilit paydaşlarla paylaşılabilir.

Yapılan demo sunumunu izlemek için tıklayınız.

– Yapılandırılmamış Metinden Veri Çıkarımı ve Haritalama

Bahsedeceğimiz son demo örneği yapılandırılmamış metinden veri çıkarımı olacak. Veriler her zaman konumsal bilgileri hazır bir coğrafi veri kümesi olarak gelmez, onun yerine metin tabanlı raporlardan da veri çıkarımı yapmak gerekebilir. Bu tarz verileri standart formata getirme işlemini learn module’ü kullanarak nasıl otomatize edebileceğinizi anlatıyor.  Yapısal veri çerçevesindeki verilerle, konumları coğrafi olarak kodlamak ve nokta detay katmanı oluşturmak için ArcGIS API for Python kullanıldı. Aşağıdaki görselde görünen her nokta bir suç yerini temsil ediyor.

Suç olaylarının detay katmanı

Yapılan demo sunumunu izlemek için tıklayınız.

Kaynaklar:

  1. https://www.esri.com/arcgis-blog/products/arcgis/analytics/developer-summit-2020-spatial-analysis-and-data-science-overview/
  2. https://www.esri.com/arcgis-blog/products/arcgis-pro/analytics/developer-summit-2020-spatial-data-science-in-arcgis-pro/
  3. https://www.esri.com/arcgis-blog/products/geoanalytics-server/analytics/dev-summit-2020-conduct-big-data-analysis-using-geoanalytics-and-apache-spark/
  4. https://www.esri.com/arcgis-blog/products/api-python/3d-gis/dev-summit-2020-use-ai-to-extract-data-from-lidar-point-clouds/
  5. https://www.esri.com/arcgis-blog/products/arcgis-pro/analytics/developer-summit-2020-use-deep-learning-tools-with-full-motion-video/
  6. https://www.esri.com/arcgis-blog/products/api-python/analytics/dev-summit-2020-extract-and-map-data-from-unstructured-text-2/