Coğrafi Kodlamada İhtiyacınıza Uygun ArcGIS Yetenekleri

Coğrafi Kodlamada İhtiyacınıza Uygun ArcGIS Yetenekleri

Coğrafi kodlama, adres bilgilerinin coğrafi koordinatlara dönüştürülerek harita üzerinde görüntülenmesi işlemidir. ArcGIS Pro, ArcGIS Online ve ArcGIS Enterprise platformlarında coğrafi kodlama yapabilirsiniz.

Coğrafi kodlama işlemi tek bir adres verisinin coğrafi koordinat sisteminde gösterilmesi veya bir dizi adres bilgisi içeren bir tablonun harita üzerine aktarılması olarak iki şekilde yapılabilir.

Örneğin, adres bilgisi içeren bir mekanın hangi konumda, size ne kadar uzak olduğunu ya da nasıl oraya ulaşacağınızı öğrenebilmek için yapılan ilk işlem o adresin coğrafi kodlama yapılarak harita üzerine aktarılmasıdır. Bu coğrafi kodlama işlemi tek bir adres verisi ile yapılabildiği gibi, bir dizi adres verisinin tek seferde harita üzerine aktarılması da sağlanabilir. Örneğin bir kuryenin gün içerisinde dağıtım yapacağı adresleri içeren bir tablo tek işlemle haritaya aktarılabilir.

Tek bir adres verisi, Esri’nin sunduğu ArcGIS World Geocoding Service ile kredi tüketilmeden kodlanırken, bir dizi adres verisi içeren tablonuzun coğrafi kodlaması için 3 ayrı yol izleyebilirsiniz.

 

  1. ArcGIS World Geocoding Service;

Bu işleminiz için de ArcGIS World Geocoding Service kullanabilirsiniz. Ancak, tablonuzun büyüklüğüne bağlı olarak belirli bir miktar ArcGIS Online krediniz tüketilir.

 

  1. Street Map Premium;

Eğer çok sayıda adres verisine coğrafi kodlama yapılacaksa ve bu işlem düzenli aralıklarla tekrarlanıyorsa her bir işlem için ArcGIS Online kredisi tüketmek yerine Street Map Premium ek bileşeni lisansına başvurulabilir. Street Map Premium lisansının sunmuş olduğu adres konumlandırıcıları ile sınırsız sayıda coğrafi kodlama yapılabilir.

 

 

  1. Adres Konumlandırıcı Üreterek;

Bir adres konumlandırıcı üretebilmek için coğrafi kodlama yapacağınız bölgenin bazı referans verilerine ihtiyacınız olacaktır. Bu veriler, yapacağınız coğrafi kodlamadaki kesinlik arayışınıza göre değişebilir. Örneğin, bir sokak ölçeğinde coğrafi kodlama ihtiyaçlarınızı karşılayacaksa, sokak verisini, referans verisi olarak kullanmak yeterli olacaktır. Ancak bina bazında coğrafi kodlama yapacaksanız, bölgenizdeki referans verilerinde bina numaraları bilgileri de yer almalıdır.

 

Adres konumlandırıcınızı ürettikten sonra dilediğiniz boyutta ve sayıda coğrafi kodlama yapabilirsiniz. Ancak dikkat edin, sürekli olarak değişmekte ve gelişmekte olan şehirler referans verilerinizi hızlıca eskitebilir! Bu verilerinizin güncelliği, coğrafi kodlamanızın kesinliği açısından oldukça önemlidir. Eğer yüksek hassasiyette çalışma yapacaksanız, güncel verileriyle ArcGIS World Geocoding Service ya da Street Map Premium lisansı ile edineceğiniz adres konumlandırıcı, sizin için daha uygun olacaktır.

 

 

Daha fazla bilgi için;

  1. Street Map Premium: Street Map Premium- Overview
  2. Kendi adres konumlandırıcınızı üretmek: Build Your Own Locator

 

 

 

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

ArcGIS API for JavaScript ile Web Uygulamaları – 2

Esri ile 3D Harita

JavaScript API kullanarak web uygulamaları oluşturmaya “3D Harita” (“SceneView”) ile devam ediyoruz.

Haritalama uygulamaları ile 2 ve 3 boyutlu düzlemde coğrafi verilerin gösterimini yapabilmekteydik. Bir önceki blog yazımızda 2 boyutlu düzlemde bir harita oluşturmayı anlatmıştık. Bu blog yazımızda 3 boyutlu harita gösterimini sağlayan “SceneView” bileşeninin kullanımı hakkında bilgi vereceğiz.

“SceneView” bileşeni, bir “Map” ya da “WebScene” bileşeninin 3 boyutlu bir görünümünü WebGL kullanarak gösterimini sağlamaktadır.

Örneğimizde önceden hazırlanmış bir “WebScene” web haritasını oluşturup Türkiye şehirlerinin genel nüfusa oranlarına göre 3 boyutlu bir gösterimini yapacağız.

Adımlar

  1. Bilgisayarınızda yüklü herhangi bir metin editörü veya online “CodePen” gibi servisler kullanarak boş bir HTML dosyası oluşturuyoruz.
  2. Aşağıda belirtilen HTML kodunu metin olarak HTML dosyasına kopyalıyoruz.
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>ArcGIS JavaScript API Örnekleri: 3D Harita Uygulaması</title>
    <style>
      html, body, #haritaBlogum {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }
    </style>
</head>
<body>
   <div id="haritaBlogum"></div>
</body>
</html>

HTML koduna bakıldığında “body” bloğu içerisinde sadece bir “div” bileşeni kullanılmış ve kimlik olarak “haritaBlogum” atanmış. Amacımız bu bloğu harita gösterimi için kullanmak. “style” bloğunda ise bileşene ait özel stil tanımlamalarını görebilirsiniz.

  1. Harita bileşenine ait kütüphanelerinin tanımlamasını yapmak için aşağıdaki kodu “head” bloğu içerisine kopyalayın.
<link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/themes/light/main.css">
<script src="https://js.arcgis.com/4.12/"></script>

Birinci satır, web sayfasında kullanılarak elementlerin stillerinin tutulduğu dosyanın tanımını, ikinci satır ise web sayfasında kullanılacak ArcGIS JavaScript API’nin 4.12 versiyonunun kullanılacağının tanımı yapılır.

  1. Dojo kullanılarak nesnelerimizi “script” bloğunda tanımlamalarını yapmak için aşağıdaki kodu “head” bloğu içerisine kopyalayın.
<script>
require([
    "esri/WebScene",
    "esri/views/SceneView"
    ], function(WebScene, SceneView) {              var webscene = new WebScene({
           portalItem: {
           id: "1bc51b9927534e0aa5a9be673b1b1072"
           }
       });       var view = new SceneView({
           container: "haritaBlogu", // HTML DOM noduna referans
           map: webscene // Harita gösterimini sağlayacak referans obje
       });
   });
</script>

“require” Dojo elementi ile ilk olarak kullanılacak tanımlamalar (“esri/WebScene” ve “esri/views/SceneView”) ve takma adları (“WebScene” ve “SceneView”) belirleniyor. Takma adların sırası tanımlamaların sırası ile benzer olmalı. Sonrasında ise nesnelerimizi oluşturup, özelliklerini belirtiyoruz.

“WebScene” objesi sayesinde önceden “Scene Viewer” veya ArcGIS Pro yazılımı kullanılarak oluşturulmuş web görüntülerini yükler ve gösterir. Web görüntüleri, gösterim ayarları, altlık, katmanlar ve sitiller gibi önceden ayarlanması gereken tüm ayarları içermektedir. Bu yüzden HTML içerisinde bu ayarların yapılmasına gerek kalmamaktadır. Web görünümleri ya ArcGIS Online içerisinde ya da ArcGIS Enterprise içeriidne bir parça olarak tutulmaktadır ve erişimleri için kimlik numarası kullanılmaktadır. Web görüntülerinin oluşturulması için linkteki yönergeleri izleyebilirsiniz.

Kodumuzda “WebScene” objesini oluştururken Portal üzerinden önceden oluşturmuş olduğumuz “Web Scene” parçasının kimlik bilgisini “id” değerine yazdık.

Sonrasında oluşturduğumuz “SceneView” objesi, “Map” yada “WebScene” objelerinin 3 boyutlu gösterimini sağlamaktadır. Bu yüzden önceden oluşturduğumuz “WebScene” objesini “SceneView” içerisinde gösterimini sağlamak içinde “map” değeri olarak “WebScene” objesinin değişken adını atıyoruz. Web sayfamız içerisinde HTML DOM noduna referans olması içinde “container” değerini “haritaBlogu” adındaki “div” bloğunuzu işaretliyoruz.

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

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>ArcGIS JavaScript API Örnekleri: 3D Harita Uygulaması</title>
    <style>
      html, body, #haritaBlogum {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }
    </style>    <link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/themes/light/main.css">
    <script src="https://js.arcgis.com/4.12/"></script><script>
require([
    "esri/WebScene",
    "esri/views/SceneView"
    ], function(WebScene, SceneView) {       var webscene = new WebScene({
           portalItem: {
           id: "1bc51b9927534e0aa5a9be673b1b1072"
           }
       });       var view = new SceneView({
           container: "haritaBlogu", // HTML DOM noduna referans
           map: webscene // Harita gösterimini sağlayacak referans obje
       });
   });
</script>
</head>
<body>
   <div id="haritaBlogum"></div>
</body>
</html>

HTML kodunu içeren dosyayı herhangi bir internet tarayıcı ile açtığınızda “id “olarak belirttiğimiz Portal’daki “Web Scene” parçası otomatik olarak yüklenecektir.

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

ArcGIS Pro 2.5 ile ArcGIS Notebook Oluşturma

ArcGIS Notebook

ArcGIS Notebook kullanarak coğrafi bağlamda analizler gerçekleştirebilir, iş akışlarını otomatikleştirebilir, verileri ve analiz sonuçlarını anında görselleştirebilirsiniz. ArcGIS Pro 2.5, notebookları direkt olarak ArcGIS Pro yazılımı içerisinde oluşturulmasına olanak sağlıyor. Bu entegrasyon,ArcGIS Pro ortamından ayrılmadan notebooklarınızı düzenlemenize ve çalıştırmanıza olanak tanıyor. Notebookların ArcGIS Pro üzerinden oluşturulması, hangi jupyter dizininde depolandığından bağımzsız, direkt olarak ilgili ArcGIS Pro projesi ile bağlantılı olduğu anlamına gelmektedir.

Yeni Notebook Oluşturma Nasıl Yapılır?

ArcGIS Pro 2.5 ile yeni bir notebook oluşturmak için 2 yol bulunmaktadır. Katalog penceresini kullanarak veya insert (ekle) sekmesi kullanılarak.

1-ArcCatalog Penceresi ile Yeni Notebook Oluşturma

ArcCatalog sekmesini kullanarak yeni bir notebook oluşturmak için herhangi bir klasöre sağ tıklayarak New–> Notebook yolu ile yeni bir notebook oluşturabilmekteyiz.

Oluşturulan notebook direkt olarak proje dosyalarında depolanacaktır. Eğer notebookların farklı bir klasörde depolanması istiyorsak, katalog penceresinde o konum için dosya bağlantısı kurulduktan sonra, dosya üzerinde sağ tıklayarak yeni bir notebook oluşturulabilir.

2-Insert Sekmesi ile Notebook Oluşturma

ArcGIS Pro kullanıcı arayüzünde bulunan Insert sekmesi çalışmalarınıza eklemeler yapmak için kullanılmaktadır. ArcGIS 2.5 ile insert sekmesini kullanarak yeni notebooklar oluşturulabilmektedir. Örneğin ArcGIS Pro’da bir araç seti oluşturmak istediğimizde, bu işlemi insert sekmesi ve katalog penceresinden yapabiliyoruz. ArcGIS Pro 2.5 ile artık notebooklar da aynı şekilde oluşturulup yönetilebilecek.

Insert sekmesinde oluşturulan notebookların dosya konumunun tanımlanması gerekmektedir..

Mevcut Notebook’u İçeri Aktarma

ArcGIS Pro ile var olan bir python notebook’unu içeri aktarabilmektesiniz,.Açık kaynaklı, Jupyter ile oluşturulan bir notebook, analizlerinizi geliştirmek ve çalışmalarınızı otomatikleştirmek için kullanabilirsiniz.

Notebookların içeri aktarılması için katalog penceresini dosya bağlantısını sağlayarak var olan notebook klasörüne erişebilir, görüntüleyebilir ve çalıştırılabiliriz. İçeri aktardıktan sonra  notebookların çalıştırılması için gerekli bütün kütüphaneleri ArcGIS Pro Python sekmesinden yüklemenlidir. Bu işlem için ArcGIS Pro kullanıcı ara yüzündeki “Project” penceresinde bulunan Python sekmesine tıklayarak gerçekleştirebilmekteyiz. Yeni modülleri ArcGIS Pro python kütüphanesine eklemek için var olan kütüphaneyi klonlamamız gerekir. Ardından Add Packages sekmesine tıklayarak yeni modülleri ekleyebiliriz.

 Notebook Düzenlemeye Başlama

Yeni bir notebook dosyası oluşturduktan sonra katalog penceresinde oluşturduğumuz notebooka çift tıklayarak düzenlemeye başlayabiliriz.

Jupyter Notebook ile geçekleştirilebilen tüm aşamalar artık ArcGIS Pro 2.5 yazılımında yapılabilir.

İleri düzey teknik danışmanlık,atölye ve yol gösterme hzmetleri için Esri Türkiye profesyonel hizmetler birimi ile irtibata geçebilirsiniz.

Esri Türkiye 2020

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

ArcGIS API for JavaScript ile Web Uygulamaları – 3

CSV Layer

Konumsal veri ve bunun bir harita üzerinde görselleştirilmesi son günlerde çok rastlanan bir konu olmaktadır. Bu yazımızda en hızlı şekilde internet üzerinde yayınlanan bir CSV dosyasını nasıl harita üzerinde gösteriminin sağlandığını anlatacağız. Veri olarak Türkiye’deki sağlık tesislerinin konumlarını kullanacağız.

İnternet üzerinde veya kendi web sunucunuzda barındırılan ‘csv’ veya ‘txt’ dosyalarında tablosal veriler, ArcGIS JavaScript API içerisindeki CSVLayer sınıfı kullanılarak bir harita katmanı oluşturulabilmektedir. CSV Layer sınıfına ait önemli birkaç özellik aşağıda belirtilmiştir:

  • delimiter : Sütun ayracı için kullanan karakter değeri. ‘,’, ‘<boşluk>’ veya ‘;’ birkaç örnek değer.
  • latitudeField : Enlem bilgilerinin bulunduğu sütun adı değeri. Eğer belirtilmez ise otomatik olarak API CSV kaynağında ‘lat’, ‘latitude’, ‘y’, ‘ycenter’, ‘latitude83’, ‘latdecdeg’, ‘POINT-Y’ sütun adlarını arar.
  • longitudeField: Boylam bilgilerinin bulunduğu sütun adı değeri. Eğer belirtilmez ise otomatik olarak API CSV kaynağında ‘lon’, ‘lng’, ‘long’, ‘longitude’, ‘x’, ‘xcenter’, ‘longitude83’, ‘longdecdeg’, ‘POINT-X’ sütun adlarını arar.

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.

3. Uygulamamızda öncelikle CSVLayer sınıfı kullanarak bir CSV katmanı oluşturuyoruz. Oluşturma esnasında ‘url’ ve ‘popupTemplate’ değerlerini belirliyoruz.

‘url’ değeri olarak Türkiye’de hastane, klinik, eczane gibi sağlık tesislerine ait veriyi ‘data.humdata.org’ sitesinde paylaşılan CSV formatında dosyanın web adresini kullanacağız. ‘popupTemplate’ değeri, harita üzerinde veriye tıklanıldığında bilgilerin gösteriminin nasıl görselleştirileceği belirlenir.

CSV formatındaki verimizi incelediğimizde, birçok sütundan oluştuğunu görmekteyiz.

‘X’ ve ‘Y’ sütunları konum bilgilerini, ‘healthcare’ sütunu sağlık tesisinin çeşidini, ‘name’ sütunu de tesisin adını içermektedir.

Not: Dikkat edilmesi gereken konu, oluşturacağımız web sayfasını bir web sunucusunda barındırmak, parametre olarak belirttiğimiz web adresinden dosya çekmek için. Kullanacağınız web sunucunun CORS desteğini vermesi veya bir Proxy kullanmanız gerekmektedir. Detaylı bilgi için linke tıklayınız.

 

//Eğer CSV dosyası sitenizin domain'i altında değilse CORS yeteneği olan bir sunucu veya bir Proxy kullanmalısınız.
const url = "https://data.humdata.org/dataset/2e45ecbd-7940-4775-a1da-57603118390c/resource/27f8e122-c2df-49b4-97e5-23ba3d4407e5/download/turkey.csv";
//Pop-up gösterim şablonu
const template = {
    title: "Türkiye Sağlık Tesisleri",
    content: ""<b>Tesis Bilgileri</b><br><b>Tip:</b> {healthcare}<br><b>Adı:</b>{name}"
};
//Nokta tabanlı CSV dosyalarından (csv, txt) oluşturulan katman.
const csvLayer = new CSVLayer({
    url: url,
    copyright: "https://data.humdata.org/dataset/turkey-healthsites",
    popupTemplate: template
});

4. Verilerimizin semboloji olarak gösterimini nokta olarak belirleyip, çizim tipini ‘unique-value’ olarak belirledik. Çünkü verilerin gösterimini belirli bir düzen şeklinde istiyoruz; sağlık tesislerinin çeşitlerinin harita üzerinde aynı sembolojiyi kullanılmalı. Böylelikle verilerin görselliğinden de anlam çıkartılabilecek.

//Gösterim sembolojiler. Tekil değereler göre gruplanıp, 'healthcare' sütun değerlerine göre semboloji çizimi belirlenir
const myRenderer = {
    type: "unique-value",
    field: "healthcare",
    defaultSymbol: {
        type: "picture-marker",
        url: "images/other.png",
        width: "16px",
        height: "16px"
    },
    defaultLabel: "Diğerleri",
    uniqueValueInfos: [
        {
            value: "pharmacy",
            symbol: {
                type: "picture-marker",
                url: "images/pharmacy.jpg",
                width: "16px",
                height: "16px"
            },
            label: "Eczane"
        },
        {
            value: "hospital",
            symbol: {
                type: "picture-marker",
                url: "images/hospital.png",
                width: "16px",
                height: "16px"
            },
            label: "Hastane"
        },
        {
            value: "doctor",
            symbol: {
                type: "picture-marker",
                url: "images/doctor.png",
                width: "16px",
                height: "16px"
            },
            label: "Doktor"
        },
        {
            value: "dentist",
            symbol: {
                type: "picture-marker",
                url: "images/dentist.png",
                width: "16px",
                height: "16px"
            },
            label: "Diş Hekimi/Poliklinik"
        }
    ]
};
csvLayer.renderer = myRenderer;

Yukarıdaki kod parçacığına bakıldığında ‘uniqueValueInfos’ değer listesi altında ‘healthcare’ sütunu altında tekil olan değerlerin örneğin ‘pharmacy’ verilerinin gösteriminin nasıl yapılacağı tanımlanmıştır.

        {
            value: "pharmacy",             
             symbol: {       
                  type: "picture-marker",                 url: "images/pharmacy.jpg",
                 width: "16px",
                 height: "16px"
             },             
            label: "Eczane"        
         }

‘value’ etiketi tekil veriyi belirtirken ‘symbol’ değeri sembolojinin nasıl olacağını belirtmektedir. Sembolojinin tipi ‘type’ değeri ile belirlenip, ‘picture-marker’ değerini almıştır. ‘url’ değeri, gösterimde kullanılacak resmin adresini tutmaktadır. ‘width’ ve ‘height’ değerleri de gösterim boyutu bilgilerini tutmaktadır.

Semboloji hakkında daha detaylı bilgi için linke tıklayınız.

5. CSV bilgilerini katman olarak gösterimini sağlayacak harita nesnesini oluşturuyoruz.

//Harita
const map = new Map({
    basemap: "dark-gray"
});
map.add(csvLayer);
‘Map’ sınıfını oluştururken altlık değerini ‘basemap’ özelliğin içerisinde belirtiyoruz. Önceden oluşturduğumuz csv katmanı sınıfında haritamıza ‘add’ özelliğini kullanarak ekliyoruz.

6. Harita görünümünü ve lejantımızı oluşturuyoruz.

//Harita görünümü
const view = new MapView({
    container: "viewDiv",
    map: map,
    center: [34.8442835, 38.9323346], // boylam, enlem
    zoom: 7
});
//Lejant
var legend = new Legend({
    view: view,
    layerInfos: [{
        layer: csvLayer,
        title: "Lejant"
    }]
});
view.ui.add(legend, "bottom-right");

‘MapView’ sınıfını oluştururken HTML bloğunda kullanılacak ‘div’ bloğu kimliği ‘container’ değeri olarak belirtiliyor. Gösteriminden sorumlu olduğu haritayı ‘map’ değeri ile eşleştiriyoruz. Gösterimde merkez nokta olarak koordinat bilgisini ‘center’ değeri olarak, yaklaşma oranını da ‘zoom’ değeri olarak belirtiyoruz.

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>CSVLayer Kullanımı</title>
    <style>
        html,
        body,
        #viewDiv {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
            background-color: aliceblue;
        }
            #viewDiv canvas {
                filter: drop-shadow(16px 16px 10px rgba(0, 0, 0, 0.5));
            }
        .esri-legend {
            background-color: rgba(255, 255, 255, 0.8);
        }
    </style>
    <link rel="stylesheet" href="https://js.arcgis.com/4.14/esri/themes/light/main.css" />
    <script src="https://js.arcgis.com/4.14/"></script>
    <script>
        require([
            "esri/Map",
            "esri/layers/CSVLayer",
            "esri/views/MapView",
            "esri/widgets/Legend",
            "esri/core/urlUtils"
        ], function (Map, CSVLayer, MapView, Legend, urlUtils) {
            //Eğer CSV dosyası sitenizin domain'i altında değilse CORS yeteneği olan bir sunucu veya bir Proxy kullanmalısınız.
            const url =
                "https://data.humdata.org/dataset/2e45ecbd-7940-4775-a1da-57603118390c/resource/27f8e122-c2df-49b4-97e5-23ba3d4407e5/download/turkey.csv";
           
            //Pop-up gösterim şablonu
            const template = {
                title: "Türkiye Sağlık Tesisleri",
                content: "<b>Tesis Bilgileri</b><br><b>Tip:</b> {healthcare}<br><b>Adı:</b>{name}"
            };
           
            //Nokta tabanlı CSV dosyalarından (csv, txt) oluşturulan katman.
            const csvLayer = new CSVLayer({
                url: url,
                copyright: "https://data.humdata.org/dataset/turkey-healthsites",
                popupTemplate: template
            });
           
            //Gösterim sembolojiler. Tekil değereler göre gruplanıp, 'healthcare' sütun değerlerine göre semboloji belirlenir
            const myRenderer = {
                type: "unique-value",
                field: "healthcare",
                defaultSymbol: {
                    type: "picture-marker",
                    url: "images/other.png",
                    width: "16px",
                    height: "16px"
                },
                defaultLabel: "Diğerleri",
                uniqueValueInfos: [
                    {
                        value: "pharmacy",
                        symbol: {
                            type: "picture-marker",
                            url: "images/pharmacy.jpg",
                            width: "16px",
                            height: "16px"
                        },
                        label: "Eczane"
                    },
                    {
                        value: "hospital",
                        symbol: {
                            type: "picture-marker",
                            url: "images/hospital.png",
                            width: "16px",
                            height: "16px"
                        },
                        label: "Hastane"
                    },
                    {
                        value: "doctor",
                        symbol: {
                            type: "picture-marker",
                            url: "images/doctor.png",
                            width: "16px",
                            height: "16px"
                        },
                        label: "Doktor"
                    },
                    {
                        value: "dentist",
                        symbol: {
                            type: "picture-marker",
                            url: "images/dentist.png",
                            width: "16px",
                            height: "16px"
                        },
                        label: "Diş Hekimi/Poliklinik"
                    }
                ]
            };
           
            csvLayer.renderer = myRenderer;
           
            //Harita
            const map = new Map({
                basemap: "dark-gray"
            });
            map.add(csvLayer);
           
            //Harita görünümü
            const view = new MapView({
                container: "viewDiv",
                map: map,
                center: [34.8442835, 38.9323346], // boylam, enlem
                zoom: 7
            });
           
            //Lejant
            var legend = new Legend({
                view: view,
                layerInfos: [{
                    layer: csvLayer,
                    title: "Lejant"
                }]
            });
           
            view.ui.add(legend, "bottom-right");
        });
    </script>
</head>
<body>
    <div id="viewDiv"></div>
</body>
</html>

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

Harita üzerinde bir feature tıklanıldığında aşağıda belirtilen açılı pencere açılacaktır.

Bu yazımızda CSVLayer sınıfı, açılır pencere yapılandırması, semboloji ve lejant gibi konuları işlemiş olduk.

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

ArcGIS Server Güvenlik Bilgilendirmesi – ArcGIS Server Security 2020 Upgrade Patch 1 Yayınlandı

Esri, ArcGIS Enterprise’ın ArcGIS Server bileşeninde, dağıtıma ağ erişimi bulunan kişiler tarafından belirli işlem adımları gerçekleştirildiğinde Sunucu Taraflı İstek Sahteciliği (SSRF) ile sonuçlanabilen kritik bir sistem açığı keşfetti. Bu, kimliği doğrulanmamış kişilerin diğer altyapı kaynaklarına erişmesine ya da kaynakları kontrol etmesine yol açabilir.

Bu sorun, altyapıya ve yapılandırmaya bağlı olarak herhangi bir dağıtımı etkileyebilir ve tüm müşterilerden en kısa zamanda uygun yamayı yüklemeleri istenmektedir. Amazon Web Services’de (AWS) bu sorunu özellikle bu dağıtımlar için acil hale getiren bilinen kötüye kullanım vektörleri bulunmaktadır.

Bu güvenlik sorunu Windows ve Linux’ta ArcGIS Server 10.8’den önceki desteklenen tüm versiyonları etkiler.

Ne yapmanız gerekiyor?

10.4’ten 10.7.1’e kadar tüm ArcGIS Server versiyonları için yamalar yayınlanmıştır. Esri, mümkün olan en kısa sürede ilgili yamayı kurmanızı tavsiye etmektedir. ArcGIS Server 10.8 bu düzeltmeleri içermektedir ve bu sorundan etkilenmemektedir.

Tüm yamalar, daha fazla bilginin bulunduğu Esri Destek sitesinden indirilebilir. ArcGIS Server Security 2020 Upgrade 1 Patch, 10.4, 10.4.1, 10.5, 10.5.1, 10.6, 10.6.1, 10.7, ve 10.7.1 versiyonları için mevcuttur.

Ayrıca, uygun olan yamayı indirmek ve kurmak için Patch Notification Tool’u da kullanabilirsiniz. Bu aracın nasıl kullanıldığı ile ilgili yazılım dokümantasyonunu inceleyebilirsiniz. Bu yamanın tüm ArcGIS Server makinelerinizde kurulu olduğundan emin olunuz.

Daha fazla bilgi için;

Detaylı bilgi için buradan ilgili teknik makaleyi inceleyebilirsiniz.

Bu konu ile ilgili sonraki güncellemeler ve diğer güvenlik ile ilgili konular için trust.arcgis.com RSS Feed’ine abone olabilirsiniz.

Esri Türkiye 2020