Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 3) – Sonuçların “xlsx” formatında yazılması

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 3) – Sonuçların “xlsx” formatında yazılması

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 2) blog yazımızda çeşitli fonksiyonlar ile domain, domain değerleri ve subtype bilgilerine erişim sağlamıştık. Çoğu zaman özellikle raporlama amacı ile bu bilgilerin görüntülenmesi değil okunabilir bir formata yazmamız önemlidir.

Bu blog yazısında Excel (xlsx) formatında nasıl çıktı oluşturabileceğimize değineceğiz.

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 1) blog yazımızda bu işlem için ihtiyacımız olan “openpyxl” kütüphanesini Python kütüphanemize eklemiştik.

İlk olarak bu kütüphaneyi kullanabilmek için kodumuzun başına aşağıdaki satırları yazmalıyız.

 

import openpyxl
from openpyxl import Workbook

 

Excel formatındaki dosyanın kayıt edilebilmesi için kullanıcıya dosya yolunu bir parametre olarak belirlemesini istiyoruz. Dosya yolunu kullanıcı seçimine bırakmadan hard-coded olarak da tanımlayabilirsiniz.

dosya = arcpy.GetParameterAsText(1)

...

arcpy.env.workspace = gdb
wb = Workbook()
ws = wb.active
ws['A1'] = 'Katman'
ws['B1'] = 'Sayi'
count = 2
for ds in arcpy.ListDatasets():
    for fc in sorted(arcpy.ListFeatureClasses('','',ds)):
        fc_path = os.path.join(gdb, fc)
        fc_count = str(arcpy.GetCount_management(fc_path))
        ws['A{0}'.format(count)] = fc
        ws['B{0}'.format(count)] = fc_count
        count += 1
output = dosya + "\\" + 'katmansayilari.xlsx'
wb.save(output)

 

Yukarıdaki kod bloğu, “katmansayilari.xlsx” Excel dokümanını açarak “A1” hücresine FeatureClass ismini (Katman), “B1” hücresine ise ilgili FeatureClass da bulunan nesne sayılarını (Sayi) yazdıracaktır.

Bu örnekleri kendi iş süreçlerinize rahatlıkla uyarlayabilir veya detaylı bilgi almak için eğitimlerimize katılım sağlayabilirsiniz.

 

Esri Türkiye, 2019

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 2) – Subtype ve Domain Sayısını Bulmak

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 2) – Subtype ve Domain Sayısını Bulmak

Günlük işlerimizde oldukça fazla kullandığımız “file geodatabase” yani “gdb” uzantılı dosyalarımızda bulunan subtype ve domain sayılarını Python kodu ile hızlı bir şekilde bulabiliriz.

Üzerinde işlem yapılacak “gdb” dosyasını kullanıcının seçmesini sağlayabilir veya doğrudan dosya yolunu tanımlayabilirsiniz. Aşağıdaki örnekte kullanıcı tarafından seçilebilecek bir parametre olarak tanımlanmıştır.

gdb = arcpy.GetParameterAsText(0)

Domain listesini oluşturmak

İlk olarak belirtilen “gdb” dosyasındaki domain listesini alalım.

desc = arcpy.Describe(gdb)
domains = desc.domains

Bu noktadan sonra;

for domain in domains:

döngüsü ile domain bilgilerini yazdırabilir veya görüntüleyebilirsiniz.

Not: Eğer yazdığınız kodu ArcToolbox içinde kullanacaksanız;

print (msg)

komutu işe yaramayacaktır. Bu komut ancak ArcMap’in Python penceresinde kullanılabilir.

Subtype sayısını öğrenmek

arcpy.env.workspace = gdb
Tsubtype = 0
for dataset in arcpy.ListDatasets():
    for fcls in arcpy.ListFeatureClasses('','',dataset):
        fcls_path = os.path.join(gdb, fcls)
        subtypes = arcpy.da.ListSubtypes(fcls_path)
        for subtype in subtypes:
            Tsubtype = Tsubtype + 1

döngüsü ile subtype sayısını yazdırabilir veya görüntüleyebilirsiniz.

Not: Eğer yazdığınız kodu ArcToolbox içinde kullanacaksanız;

print (msg)

komutu işe yaramayacaktır. Bu komut ancak ArcMap’in Python penceresinde görüntülenebilir.

Domain ve değerlerini öğrenmek

Tdomain = 0
Tvalue = 0
domains2 = arcpy.da.ListDomains(gdb)
for domain in domains2:
    Tdomain = Tdomain + 1
    coded_values = domain.codedValues
    for val, desc in coded_values.items():
        Tvalue = Tvalue + 1

Yukarıdaki içi içe bulunan döngüden “Tdomain” değeri ile Domain sayısını, “Tvalue” değeri ile Domain değerlerinin sayısını öğrenebilirsiniz.

Esri Türkiye, 2019

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 1) – ArcMap Python Kütüphanesi Genişletme

Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 1) – ArcMap Python Kütüphanesi Genişletme

Bildiğiniz gibi Pyhton, kolaylıkla öğrenilebilir, ücretsiz ve açık kaynaklı bir programlama dilidir. Eğer daha önce hiç kullanmadıysanız ve meraklıysanız, bu link üzerinden göz atmanızı tavsiye ederiz.

Bu blog yazısı serisinde temel bilginiz olduğunu varsayarak size ArcMap (Pyhton 2.7 kullanır) üzerinde bazı ipuçları vererek günlük işlerinizde kullanabileceğiniz kod örnekleri paylaşacağız. ArcMap ve ArcGIS Pro üzerinde çalışan Python farklılıklarına ilişkin önceden yayınladığımız blog yazısını inceleyebilirsiniz.

ArcMap uygulamasını varsayılan ayarları ile yüklediğiniz zaman Python, aşağıdaki klasör yollarında bulunan kütüphaneleri kullanır.

c:\Program Files (x86)\ArcGIS\Desktop10.x\arcpy\
c:\Python27\ArcGIS10.x\DLLs\
c:\Python27\ArcGIS10.x\Lib\lib-tk
c:\Python27\ArcGIS10.x\Lib\site-packages

Her ne kadar çok geniş bir kütüphane olsa da bazen yeni kütüphaneler eklememiz gerekebilir. Bu ilk bölümde, daha sonradan da kullanacağımız “openpyxl” kütüphanesini yükleyerek “xlsx” dosyalarını okuma ve yazma kabiliyetini edineceğiz.

Bunun için ilk olarak, ilgili kütüphaneyi (ArcMap için kullanılabilecek sürüm 2.7 ‘yi aşmamalıdır) link üzerinden indirmeniz gerekmektedir. İndirmeden önce “Requires: Python >=2.7” olduğunu kontrol etmeniz önemlidir.

Setup.py dosyasının içinde bulunduğu root klasörü arşiv dosyasından dışarı çıkartıyoruz.

“Run–>cmd” ile komut penceresini açıyoruz ve arşiv dosyasından dışarı çıkarttığımız klasörü aktif ediyoruz. Aşağıdaki örnekte bulunan klasör yapısı, indirdiğiniz dizin ve dosya sürümüne bağlı olarak değişkenlik gösterebilir.

Bu pencerede aşağıdaki komutları sırası yazıp çalıştırarak Python kütüphanesine yüklemeyi tamamlıyoruz. Mevcut ArcGIS versiyonunuza göre aşağıdaki klasör isimlerinizi düzenlemeniz gerekmektedir.

c:\Python27\ArcGIS10.x\python.exe setup.py install
c:\Python27\ArcGIS10.x\Scripts\pip.exe install openpyxl

 

İşlemler başarı ile tamamlandıktan sonra yüklemiş olduğunuz kütüphaneyi Python içerisinde kullanabilirsiniz. Yüklediğimiz bu kütüphanenin kullanımı ile ilgili olarak serinin diğer yazılarını takip etmeyi unutmayın.

Esri Türkiye, 2019

WMS, WFS, WCS Servisleri ve Kullanımları

WMS, WFS, WCS Servisleri ve Kullanımları

Open Geospatial Consortium (OGC) web servisleri, haritalarınızı ve verilerinizi web üzerinden uluslararası kabul görmüş bir formatta sunabilmenizi sağlar. OGC, desteklenen istemci uygulaması olan herkese web üzerinde haritalar ve veriler oluşturmak için teknik özellikler tanımlamıştır. Tüm geliştiriciler bu desteklenen istemcileri oluşturmak için OGC teknik özelliklerini kullanmakta serbesttir.

Oluşturulan haritaları web’de görüntüleyebilmek ve CBS tabanlı uygulamalar oluşturmak için Web Servislerini kullanarak yayınlamamız gerekir. Bu servislerin hangi amaçlar için kullanıldığını ve nasıl yayınlanacakları ile ilgili bilgilere aşağıda yer verilmiştir.

WMS (Web Map Service): Haritayı tarayıcıda paylaşmak ve oluşturmak veya özel bir harita tabanlı uygulama oluşturmak için OGC Web Harita Servisi (WMS) kullanılır. WMS, çok sık kullanılan bir Harita Servisidir. WMS, haritayı yalnızca resim biçiminde oluşturur. WMS olarak oluşturulan bir harita yakınlaştırma, kaydırma gibi sınırlı işlevselliklerle görüntülenebilir. Daha fazlası için buraya tıklayabilirsiniz. Bir WMS servis yayınlamak istiyorsanız buraya göz atabilirsiniz.

WFS (Web Feature Service): WFS, haritanın verilerini sorgulamak, güncellemek, silmek, haritanın vektör verilerini veya meta verilerini web üzerinden paylaşmak için kullanılır. Bu protokol CBS verilerinin Web üzerinden düzenlenmesi için kullanışlıdır. Bir haritanın görüntüsünü döndüren WMS’in aksine WFS servisi, istemcilerin her türlü coğrafi analizde kullanabileceği nesneleri geometri ve öznitelikleri ile döndürür. Daha fazlası için buraya tıklayabilirsiniz. Workgroup veya Enterprise Geodatabase içinde bulunan verilerinizin istemciler tarafından düzenlenmesini ve kayıt edilmesini sağlamak istiyorsanız servisinizi WFS-T olarak hazırlamalısınız.

WCS (Web Coverage Service): WCS, raster veri kümelerinin web üzerinde yayınlaması için kullanılır. WCS servisleri, farklı veri platformlarında ve istemcilere raster veri kümelerinizi çevrimiçi olarak kullanıma sunmak istiyorsanız kullanışlıdır. Yine WMS servislerin aksine bir WCS servisi, analiz ve modelleme için girdi olarak kullanılabilecek formatta veri döndürür. Daha fazlası için buraya tıklayabilirsiniz. Bir WCS servisi yayınlamak için yapılması gerekenler için buraya göz atabilirsiniz.

Bu servisleri oluşturmak, tüketmek veya tüketilmesini sağlamak için Esri tarafından Open Geospatial Consortium (OGC) standartlarını destekleyen ürünleri kullanabilirsiniz.

 

Esri Türkiye, 2019

Esri Teknik Sertifikaları ve Önemi

Esri Teknik Sertifikaları ve Önemi

Katıldığımız her seminer, etkinlik ve toplantılarda duyurduğumuz gibi Esri Türkiye Eğitim Birimi olarak Esri Teknik Sertifikalarına sahibiz.

Esri Türkiye Eğitim Birimi

Esri Türkiye Eğitim Birimi tarafından verilen her eğitim, uzmanlıklarını aldıkları sertifikalar ile kanıtlamış ve profesyonel eğitimciler tarafından verilmektedir.

Genel Bilgi

Esri tarafından 4 kategori altında (Masaüstü, Geliştirici, Enterprise, Özel) toplanmış olan teknik sertifika sınavlarını https://www.esri.com/training/certification-take-exam/ adresi veya https://home.pearsonvue.com/esri adresi üzerinden satın alabilirsiniz.

Sınavlar kendi içlerinde zorluk derecesine ve sürüm bilgisine göre farklılık göstermektedir. Esri tarafından hazırlanmış olan sınava ait bilgileri (sınava dair genel bilgiler, başarılı olmak için hangi konulara hakim olunmalı, sınav konuları ve ağırlıklı dağılımları, hazırlık için kaynak dokümanlar) ilgili sertifika sınav sayfasında bulabilirsiniz.

Sınavlar, Türkiye’nin çeşitli illerinde mevcut olan bağımsız sınav merkezleri tarafından yapılmaktadır.

Neden Sertifikalı olmalıyım?

Aslında bu sorunun üç temel cevabı bulunmaktadır.

  • Rekabet avantajı: Her ne olursa olsun sizi her zaman bir adım öne çıkaracaktır.
  • Yeteneklerin tescili: Söze gerek yok çünkü sertifikanız var.
  • Fırsat ayrıcalığı: Esri tarafından paylaşılan bir istatistiğe göre sosyal medya üzerinden paylaşılan sertifikaların görüntülenme oranı çok yüksek. Fırsat kapısının nereden açılacağını bilemezsiniz.

Ayrıca başarı hikayenizi Esri ve diğer kullanıcılar ile paylaşarak, birçok kişiye hikayeniz ile ilham kaynağı olabilirsiniz.

Sizlerde https://www.esri.com/training/certification-directory/ adresinde bulunan sertifikalı kişiler arasına isminizi yazdırmak istiyorsanız vakit kaybetmeyin!

Esri Türkiye, 2019