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
Etiketler:ArcMap, programlama, Python
Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 2) – Subtype ve Domain Sayısını Bulmak
by Berk Ersan | Ara 17, 2019 |
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
Etiketler:ArcMap, programlama, Python
Pyhton ile Hayatınızı Kolaylaştırın (Bölüm 1) – ArcMap Python Kütüphanesi Genişletme
by Berk Ersan | Ara 17, 2019 |
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
Etiketler:ArcMap, programlama, Python
Esri Jupyter Notebook ile CSV Sözel Dosya Görüntüleme
by Alperen Çağrı Işıkkaya | Eki 1, 2019 |
Günümüzde verinin format ve şekli yüzlerce formda bulunabilir. XML ve JSON gibi standartlara sahip, belirli kurallara göre içeriğinin oluşturulması gereken dosya formatları yanında, CSV gibi satırlarda bulunan verinin ayraçlar yardımıyla birbirinden ayrıştırılarak, içeriğinin ofis uygulamaları ile bile görüntülenebilen basit bir formattır.
Coğrafi veri içeren bir CSV dosyasını ArcGIS Desktop ile açıp görüntülemek hatta analizler için kullanmak çok kolay. Peki Esri Jupyter Notebook ile bir CSV dosyasını içeriğini bir harita üzerinde göstermenin de çok kolay olduğunu biliyor musunuz?
Örnek bir veri seti içeren bir CSV dosyası oluşturalım. Sütunları sırayla X ve Y olsun. Diğer ek nitelik bilgileri istediğiniz gibi belirleyebilirsiniz. Bu örnekte ben sadece “KAPINO” adında bir bilgi ekledim.
Bu CSV dosyasını Esri Jupyter Notebook açılış ekranında sağ tarafta bulunan “Upload” (Yükle) düğmesine basarak çalışma ortamınıza yükleyin.
Yükleme işlemi bittikten sonra bir çalışma sayfası oluşturalım. İlk hücremize kullanacağımız kütüphanelerimizi tanımlayalım. “pandas” kütüphanesini kullanacağız. Bu kütüphane sayesinde bir CSV dosyasının içeriğini hızlıca okunabilir ve manipüle edebilir.
“pandas” içerisinde “read_csv” fonksiyonuna parametre olarak vereceğimiz CSV dosya yolu ve içerisinde ayrıştırıcı olarak kullandığımız karakterin tanımlamasını yazalım. Ben “;” karakterini kullandım.
Sonra kullanacağımız harita kontrolümüzü “GIS” sınıfından türetip oluşturalım. “map” fonksiyonu kullanarak yeni bir harita bileşenini oluşturalım.
Oluşturduğumuz “gis” nesnesinde “content” yardımcı sınıfındaki “import_data” fonksiyonuna “pandas” kütüphanesi tarafından okunan CSV dosya karşılığını parametre olarak verdiğimizde verimizi artık bir katman olarak kullanabileceğiz.
Bu katmanıda haritamıza “add_layer” fonksiyonu kullanarak katman olarak ekleyeceğiz. Ve haritamızı görüntülediğimizde CSV dosyasının içerdiği X ve Y konumlarını harita üzerinde görüntüleyebileceğiz.
Daha fazla bilgi için Esri Türkiye Profesyonel Hizmetler ile iletişime geçebilirsiniz.
Esri Türkiye 2019
Etiketler:CSV, Jupyter Notebook, Pandas, programlama
AppStudio for ArcGIS
by Alperen Çağrı Işıkkaya | Haz 30, 2019 |
“AppStudio for ArcGIS”, harita ve CBS (Coğrafi Bilgi Sistemi) verilerinizi native uygulamalara dönüştürerek kurumunuzdaki diğer kişilerle veya popular uygulama mağazaları sayesinde herkesle paylaşmanızı sağlar. AppStudio ile oluşturulan uygulamalar cross-platform (birden fazla işletim sisteminde desteklenen) özelliği sayesinde Android, iOS, Linux, macOS ve Windows işletim sistemlerinde çalışabilmektedir. AppStudio üyenin kullanıcı tipine dahil edildiğinde, uygulama oluşturmak için minimum kod yazımını sağlar. Üyeler, konfigüre edilebilir uygulama şablonlarıyla, özel kod yazarak şablonların özelliklerini geliştirerek veya sıfırdan uygulamalar oluşturabilirler. Yapacağınız konfigürasyon veya değişiklik miktarında göre çok az kod bilgisi ve efor ile AppStudio kullanarak tarayıcıda ya da masaüstünde çalışan uygulamalar geliştirebilirsiniz.
AppStudio for ArcGIS Desktop Edition Kurulumu
Masaüstünüzde AppStudio kullanmak için, işletim sisteminiz ve mimarisine göre kurulum dosyasını indiriniz ve yüklemek için çalıştırınız. Daha detaylı bilgi için linkere (1 ve 2) tıklayınız.
Kurulum tamamlandıktan sonra, masaüstünüzde iki adet kısayol oluşturulacaktır:
AppStudio for ArcGIS Desktop Edition; uygulamaları konfigüre etmek ve yönetmek için
Qt Creator (AppStudio for ArcGIS); uygulamalarınızı güncellemek için
AppStudio’nun tüm özelliklerinden faydalanmak için AppStudio kullanmanıza olanak sağlayan lisansa sahip ArcGIS Online hesabınız ile oturum açmanız gerekmektedir. Lisans hakkında daha detaylı bilgi için linke tıklayınız.
Temel (Basic) ve Standart (Standard) olarak iki farklı versiyonu bulunmaktadır:
AppStudio for ArcGIS Basic
Ücretsiz olarak her ArcGIS “named user” hesabına dahildir.
AppStudio web sitesinden ön tanımlı uygulama şablonları kullanılarak herkesin kullanımına açık harita uygulamaları oluşturmanız sağlanır.
AppStudio for ArcGIS Standard
ArcGIS Developer Subscription (Derleyici ve üstü) satın alınarak kullanılabilir
Tüm temel sürümün özellikleri yanında aşağıdaki yetenekleri de içerir:
Size ve kurumunuza özgü uygulamalar oluşturabilir.
Kurumunuza uygulamaları paylaşabilirsiniz.
Yeni bir uygulama Oluşturma
İlk kez kullanmanız durumunda mevcut bir uygulamanız olmayacaktır. Yeni bir uygulama oluşturmak için ekrandaki “New App” (Yeni Uygulama) düğmesine basınız.
Ekrana gelecek diyalog üzerinden uygulamanızın çeşidini ve başlığını belirleyebilirsiniz.
Uygulama Ayarlarını Değiştirme
Uygulamanızı oluşturduktan sonra ana panelde görüntülenecektir. İlgili uygulamayı seçip, sağ kısımdaki paneldeki yönetim bölümünden uygulamanızın özelliklerini, tekrar derlenmesini, çalıştırılmasını, silinmesi gibi işlevlerini gerçekleştirebilirsiniz.
Uygulamanın ArcGIS’e Yüklenmesi
Oluşturmuş olduğunuz uygulamanızı başkalarıyla paylaşmak için veya kurulum dosyalarını derlemek için ArcGIS üzerine yüklenmesi gerekmektedir. Yüklemek (Upload) için “Upload” düğmesine basınız. Yükleme yapabilmek için AppStudio for ArcGIS Standart lisansına sahip olunmalı.
Oynatıcıda Uygulamanın Test Edilmesi
Oluşturduğunuz uygulamaların hem masaüstü versiyonunu hem de mobil cihazlardaki versiyonunu test etmek için Oynatıcı (Player) uygulaması ile gerçekleştirilmektedir. Oynatıcı uygulaması Google Play ve App Store mağazalarından ücretsiz olarak edinebilirsiniz.
Oynatıcının masaüstü versiyonunu linkten temin edebilirsiniz. AppStudio ile oluşturduğunuz herhangi bir platformda çalışacak uygulamanız Oynatıcı sayesinde görüntüleyebilirsiniz.
AppStudio kullanarak yapacağımız uygulamalar hakkında blog yazılarımız için Esri Türkiye Blog web sayfamızı takip edebilirsiniz.