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

Python 2 desteğinin sonlanması ArcGIS’i nasıl etkileyecek

2008 yılında Python 2’nin desteğinin 2015 yılında sonlandırılacağı duyurusunun ardından, 2014 yılında Python Yazılım Vakfı tarafından Python 2 desteğinin sonlandırılma tarihinin 2020’ye uzatıldığı açıklanmıştı. 1 Ocak 2020 tarihi itibariyle Python 2 desteği sonlandırılacaktır. Sahip olduğunuz Esri ürünlerinin bu değişimden nasıl etkileneceklerini yazının devamında bulabilirsiniz. (daha&helliip;)

Esri Jupyter Notebook ile CSV Sözel Dosya Görüntüleme

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

Dinamik Detay Gruplama

Bazen haritanızdaki detayları hesaplanmış toplam değerlere göre sembolize etmeniz gerekebilir. Haritadaki büyük miktardaki noktayı bir araya getirerek göstermek görselliği daha anlamlı hale getirebilir, bunu yaparken kullanacağınız öznitelik değerlerinden hesaplanan bu değerlere örnek vermek gerekirse bunlar; en küçük değerler (min.), en büyük değerler (max.), ortalamalar (avg.) ya da toplamlar olabilir. Öznitelik bilgilerindeki herhangi bir sütunun değerlerini kullanabilirsiniz.

ArcGIS Pro’da nokta toplulaştırma ve görselleştirme için birçok yöntem vardır. Yazımızın konusu ise bu yeteneklere yeni olarak eklenen Dinamik Gruplama yeteneğidir. Ölçeğe ve haritadaki görüntülenen alana göre dinamik bir gruplama yeteneği, ArcGIS Pro 2.4 versiyonuyla birlikte kullanımınıza sunuldu.

Eğer çok fazla sayıda detaya sahip olan nokta detay sınıfınız varsa ve bunu dinamik olarak anlamlı gruplar halinde görselleştirmek istiyorsanız ve bir de bu veriyi İlişkisel Veri Tabanı Yönetim Sisteminde (İVTYS) barındırıyorsanız bu yeteneği kullanabilirsiniz.  Şu an için bu işlevi destekleyen veri tabanı platformları aşağıdaki gibidir:

  • IBM Db2
  • Microsoft SQL Server
  • Oracle
  • PostgreSQL
  • SAP HANA

Bunu yaparken çok büyük veri setleriyle çalışıyorsanız ya da çok sık güncellenmeyen verilerle çalışıyorsanız istediğiniz ölçekler için statik gruplama kullanarak, ardından da verilerinizi görselleştirmenin anlamlı olduğu aralıklarda dinamik gruplama gösterimi de sağlayabilirsiniz.

Coğrafi veri tabanınızda olan deprem noktaları detay sınıfına Python kullanarak da uygulayabileceğiniz dinamik gruplama Python kodu aşağıdadır:

*Bu kod örneği WGS 84 Coğrafi Koordinat Sisteminde olan Depremler detay sınıfı derinlik öznitelik sütunundan depremlerin maksimum derinliklerine göre kare şeklinde gruplama yapmayı aktif hale getirir.

Esri Türkiye, 2019

Esri CityEngine’de Python’u Kullanarak İş Akışlarınızı Otomatikleştirin

Esri CityEngine’de Python’u Kullanarak İş Akışlarınızı Otomatikleştirin

Python ve Esri CityEngine

Python, nesne yönelimli, yorumlamalı, birimsel ve etkileşimli yüksek seviyeli bir programlama dili olduğu için CityEngine’in olanaklarını büyük ölçüde arttırmaktadır. Bu blog yazısında Python konsolunun ve editörün temel kullanımı ve CityEngine görevlerinin otomatikleştirilmesi konusunda çeşitli örnekler verilecektir. CityEngine’de Python’u kullanma amacımız modelleme işlemlerinden ziyade, otomasyondur. Python komut dosyaları Python konsolunda veya Python düzenleyicisinden çalıştırılabilmektedir.

Python Console

Python konsolunu kullanarak CityEngine projemizin klasörlerinde veya herhangi bir klasörde bulunan komut dizinleri çalıştırılabilmektedir. Örneğin scripts klasöründe bulunan bir komut dizini direkt olarak konsolda, içeri aktarılarak çalıştırılabilmektedir.

Python Konsolu

Python Editor

Python Editor, komut dosyalarını düzenlemek ve yürütmek için daha uygun bir yol sunar .Python modüllerini Dosya → Yeni … → Python Modülü yolu ile oluşturabilir.  Yeni bir python modülü oluştururken kaynak klasör olarak mevcut projemizde bulunan scripts klasörünü seçebilir, hatta scripts klasörüne sağ tıklayarak yeni python modülü oluşturabilmekteyiz.

CityEngine yazılımında Python’u ne şekilde kullanabilmekteyiz ?

Python ile CityEngine de birçok şeyi otomatikleştirebilmekteyiz. Örneğin bir oyun projesinde çalışıyoruz ve tekrarlı olarak fbx formatında çıktılar elde etmek zorundayız.  Python ile oluşturacağımız yönergeler ile, sadece tek tıkla komut dosyası içerisinde belirttiğimiz tüm parametreler ile birlikte modelimizi dışarı aktarabiliriz. CityEngine model dışarı aktarım seçeneklerinde bulunan tüm doku, geometri ve diğer parametreleri komut dosyası içerisinde belirtebilmekteyiz.

FBX dışa aktarım komut dosyasının çalıştırılması.

Python  kullanarak CityEngine yazılımındaki iş akışlarımızı otomatik bir hale getirebiliriz. Yukarıdaki sahnede komut dosyasının çalıştırılmasının ardından sahnede bulunan modelin .fbx uzantılı çıktısı models klasörüne eklenmiştir.Komut satırı çalışırken yapılan tüm işlemler aynı zamanda ekranda görüntülebilmektedir.

Animasyon Oluşturma

Python komut dosyaları, üretim veya dışa aktarım işlemlerini otomatikleştirmek için kullanılabilir. Aşağıdaki örnekte ise cga kuralları ile oluşturulan bir bina özelinde yazılan bir komut dosyasının sonucu görüntülenmektedir. Cga kural dosyası, binanın pencere aralıklarını, boyutu ve kapı genişliği gibi özellikleri içermektedir. Bu değerleri elle ayarlamak yerine, değerleri değiştiren bir komut dosyası oluşturabiliriz. Sonuç görüntüsü aslında bir animasyon teknolojisinden ziyade bina içerisinde olan değerlerin otomatik olarak değiştirilmesidir.

CGA kuralı içerisinde bulunan parametrelerin, phyton komut dosyası ile otomatik bir şekilde yönetilmesi.

CityEngine kendi Jython kurulumunu kullanmaktadır. Başka kütüphaneleri CityEngine yazılımına entegre ederek etkileyici senaryolar oluşturabilirsiniz. Örneğin tweepy’i kütüphanesini kullanarak bir sahne oluşturabilirsiniz. Sahne kullanıcıların izin vermesi dahilinde gerçek zamanlı twitleri ve konumlarını içeren firehose’ları sunmaktadır. Bu şekilde twittlerin sıklığına göre binaların yukarı doğru büyüdüğü bir sahne oluşturabilirsiniz.

Esri Türkiye 2019

Bu yazı için bir etiket bulunmamaktadır.

Workforce for ArcGIS Yenilikleri

Workforce for ArcGIS

Workforce for ArcGIS, kullanıcıların saha çalışmasını planlamasına ve koordine etmesine yardımcı olan bir Esri uygulamasıdır.Uygulama kurumsal konum bilinci kazanırken saha operasyonlarını optimize etmektedir. Esri saha uygulamaları paketi ile kolayca entegre olan Workforce, saha çalışanlarına görevler atama ve çalışanların performansını, konum geçmişini ve en son bilinen çalışan yerini saptamak için zaman bilgileri dahil olmak üzere çeşitli verileri toplama yeteneği sağlar. Workforce’un web ve mobil uygulamalar için düzenli güncellemeleri bulunmaktadır. Web uygulaması, proje sahipleri ve kullanıcıları tarafından kullanılır. ArcGIS Online veya ArcGIS Enterprise üzerinden erişilebilir. Mobil uygulama ise saha çalışanları tarafından kullanılmaktadır. Hem Android hem de iOS mağazasında mevcuttur.

Workforce for ArcGIS Yenilikleri

Yenilikler arasında ilk özellik Explorer for ArcGIS  ile uygulama entegrasyonudur. GlobalID ile Survey123 ve Collector for ArcGIS’e geçme ve veri toplama çalışmalarını saha çalışması atamalarına bağlama seçeneği sunulmaktadır. Bu sistem ile Survey123 ile sahada anket çalışması yapan kişinin hareketlerini ve çalışmalarını Workforce ile artık ilişkilendirilebilir.

Workforce Scriptleri

Workforce web uygulaması,saha çalışanına hızlı ve verimli bir şekilde yeni iş atamaları yapılmasını ve mevcut atamaların yönetilmesini sağlamak için tasarlanmıştır. Ancak, web uygulamasının kapsamı dışında kalan ihtiyaçlar olabilir.Örneğin workforce için alınan en yaygın taleplerden bazıları şunlardır.
  • Üçüncü taraf iş emri,
  • İş süreçlerinin varlık veya bakım yönetimi sistemleri gibi diğer sistemlerle entegrasyonu
  • Yinelenen görevlerin yerine getirilmesi
Workforce ile komut dosyası çalıştırarak bu özellikler artık uygulanabilir hale gelmiştir. Ayrıca saha çalışanlarına yeni işler atamak için web uygulamasını kullanma sınırlaması yoktur. Workforce, iş atamalarının nasıl oluşturulduğuna bakılmaksızın atamalar(Assignments ) özellik katmanının içeriği ile çalışır. İş, bir varlık veya bakım yönetim sistemi gibi bir kuruluştaki diğer sistemlerden atanabilir. Workforce iş atamalarını oluşturmak ve güncellemek için dış kaynaklar ile entegre edilebilir.

Workforce’u otomatikleştirmek ve komut dosyası yazmak için  ArcGIS API for Python ve Workforce Modüllerini kullanabilirsiniz.   Python’un harici kaynaklarından otomatik olarak iş atamaları gerçekleştirme, işçileri dahil etme ve yönetme, tamamlanan atamaları kaldırma ve daha fazlası gibi birçok görevi gerçekleştirmek için komut dosyaları oluşturulabilir. Bazı tipik operasyonları görmek için bu Jupyter Notebook‘u da kullanabilirsiniz.

Workforce Offline

Bir sonraki sürüm, çevrimdışı bir ortamda çalışma yapma ve çevrimiçi duruma döndükten sonra verilerinizi senkronize etme yeteneği ile çevrimdışı desteğe odaklanmıştır. Ek olarak, yeni Workforce mobil uygulaması kullanıcı arayüzü için yeni bir görünüm sergileyecek ve en son çalışma zamanına güncellenecektir. Bu güncellemeler için şu anki yol haritası bizi 2019’un ikinci yarısına götürüyor ve yeni çevrimdışı Workforce programı ArcGIS Enterprise 10.7 den sonrasını gerektirecek ve mevcut Workforce mobil uygulaması “Workforce Classic” olarak adlandırılacak. Böylece mevcut iş akışlarınıza da devam edebileceksiniz.

Tracker for ArcGIS ile Entegrasyon

Workforce’da konum takibi, Tracker for ArcGIS yetenekleri ile değiştirilecektir. Tracker for ArcGIS, sahada gerçek zamanlı olarak neler olup bittiğini tam olarak anlamamızı sağlayan durumsal farkındalıkda önde gelen yeni bir teknolojidir. Konumunuzu paylaşarak, tüm ekibinizin nerede olduğunu öğrenebilirsiniz.

Bu mobil uygulama sadece arka planda çalışarak iş kanıtı, durumsal farkındalık ve gerçek zamana yakın değerlendirmeler yapmanızı sağlar.

Artık Workforce for ArcGIS’in tüm yeni özelliklerinden yararlanmaya başlamaya hazırsınız.

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

Esri Türkiye 2019

Bu yazı için bir etiket bulunmamaktadır.