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.
Esri Jupyter Notebook’ta OpenStreetMap Bina Verisi Kullanılarak Basit Analizler Yapımı

Esri Jupyter Notebook’ta OpenStreetMap Bina Verisi Kullanılarak Basit Analizler Yapımı

ArcGIS Pro yüklü makinede yüklenebilen ücretsiz Jupyter Notebook sayesinde ‘ArcGIS API for Python’ kullanılarak coğrafi uygulamalar geliştirip analizler gerçekleştirebilirsiniz. Bununla birlikte ArcGIS Online yönetimini de yapılabilmektedir.

ArcGIS Pro yazılımına sahip ama henüz Jupyter Notebook’u bilgisayarınıza yüklemediyseniz link içinde geçen yönergeleri takip edip bilgisayarınıza yükleyebilirsiniz. Hemen şimdi kullanmak istiyorsanız da Esri’nin ücretsiz hizmete sunduğu notebooks.esri.com adresinde Jupyter Notebook’u kullanabilirsiniz. Dikkat etmeniz gereken husus bu adreste yapacağınız çalışmaları ve verilerinizi kendi yerel bilgisayarınıza kopyalamanız. Çünkü açacağınız oturum, süre kısıtlı; eğer hiçbir işlem yapmazsanız belirli bir süre içinde oturumunuz otomatik olarak kapatılır ve yaptığınız çalışmaları kaybedebilirsiniz.

Bu yazıda Jupyter Notebook platformu üzerinde 3 boyutlu bir harita üzerinde OpenStreetMap (OSM) bina verilerini görselleştirip, metro duraklarına kendi oluşturacağımız yakınlık analizi algoritmasına göre görselleştirmesi anlatılmaktadır.

İşleyiş adımları aşağıdaki gibi olacaktır:

Şekil 1. İşleyiş adımları

Gereksinimler:

  1. ArcGIS Developer hesabı (ücretsiz oluşturmak için https://developers.arcgis.com/ adresini ziyaret edin)
  2. Jupyter Notebook

1.      OSM Bina Verilerinin Alınması

OSM ücretsiz servisler sunması nedeniyle içerdiği büyük boyutlarda coğrafi verilerin son kullanıcılar tarafında erişimi farklı ücretli ve ücretsiz olarak erişilebilmektedir. Bu yazıda overpass-turbo.eu sitesi üzerinden ücretsiz olarak bina verilerini indireceğiz. Yasal kullanım hakları için https://www.openstreetmap.org/copyright sitesine mutlaka bakın.

İlgili sitede, arama kutusuna istediğiniz bölgeyi yazın ve alacağınız bina verilerini öncelikle olabildiğince dar alan için alın. Yazı bitiminde istediğiniz büyüklükte bir alan üzerinden çalışabilirsiniz.

Şekil 2. Ankara şehir merkezi binalar

Sol üstteki ‘Wizard’ (Sihirbaz) düğmesine basıp, çıkan ekranda haritada görüntülenen alan için alabileceğimiz OSM verisi için sorgu oluşturacağız. Buradaki sorgu için kullanacağınız kelimelerin detaylarını linkte bulabilirsiniz.

Şekil 3. Sorgu sihirbazı

Sorgu sihirbazına yazacağınız ‘building=* OR building:levels=*’ yazarak, haritada görüntülediğiniz alandaki tüm binaları ve varsa seviye (kat) bilgisini da almış oluyorsunuz. Burada seviye bilgisi her bina için farklılık gösterecektir. ‘build and run query’ (derle ve çalıştır sorguyu) düğmesine basarak, ilgili alan için veriler çekilir.

Web sayfasının sol üst kısmındaki ‘Data’ (Veri) sekmesine tıklayarak, çekilen verileri görüntüleyebilirsiniz. Eğer verilerinizde sıkıntı yoksa, web sayfasının sol kısmındaki ‘Export’ (Dışarı Çıkart) düğmesine tıklayarak verileri indirme için gerekli paneli açacağız.

Şekil 4. ‘Dışarı Çıkarma’ paneli

‘Export’ panelindeki ‘Data’ kısmını genişlettiğinizde ‘download/copy as GeoJSON’ (indir/kopyala GeoJSON olarak) linkine tıklayın. Bu şekilde ArcGIS Developer hesabı ile giriş yapabileceğiniz ArcGIS Online içerisine kolay bir şekilde format değişimi yapmadan atabileceğiz.

2.      Verinin ArcGIS Online İçerisine Atılması

ArcGIS Online giriş yapın ve ‘Content’ (İçerik) linkine tıklayın. Sol kısımdaki ‘Add Item’ (Öğe Ekle) düğmesine tıklayıp dosya içeri aktarma sürecini başlatalım. ‘From my computer’ (Bilgisayarımdan) seçeneğini seçelim.

Şekil 5. ArcGIS Online ‘Bilgisayarımdan bir öğe ekle’ paneli

Bir önceki bölümden indirdiğimiz dosyayı burada seçip, ilgili alanları dolduruyoruz. Başlık kısmına girdiğimiz değeri sonraki bölümlerde kullanacağız. Kısa bir süre sonra öğemiz ‘Feature Layer’ (Feature Katmanı) olarak eklenmiş olacak.

Yeni eklenen öğeyi tıklayıp sayfasını açın. Analizler için kullanacağımız yeni bir ‘Field’ (Alan) oluşturmak için ‘Data’ (Veri) sekmesine tıklayıp verilerin görüntülendiği sayfa açılsın.

Şekil 6. ‘Alan Ekle’ menüsü

Sol kısımdaki üç tırtıklı ikona tıklandığı zaman açılan menüde ‘Add Field’ (Alan Ekle) menü seçeneğini tıklanır ve aşağıdaki resimdeki veriler girilir.

Şekil 7. ‘Alan Ekle’ paneli

3.      Jupyter Notebook içerisinde Programlama

Öncelikle analiz için kullanacağımız metro bilgisini almak. Bunun için ‘Jupyter Notebook’ uygulamasını çalıştırın ve yeni bir çalışma kitabı oluşturun ve aşağıdaki kodları yazıp çalıştırın.

Şekil 8. Metro bilgisinin alınıp ArcGIS Online’a kaydetme

Yukarıdaki kodlarda kırmızı ile kapatılmış alanları kendi bilgilerinize göre doldurmanız gerekmektedir. Bu kod parçası Ankara merkezde metro istasyonları POI bilgisini ‘feature’ olarak en fazla 20 tane olacak şekilde almaktadır. Sonrasında da harita üzerinde gösterimini sağlayıp, bilgiyi ArcGIS Online üzerine ‘metrolar’ olarak kaydetmektedir.

İsterseniz kaydedilen ‘metrolar’ katmanının görsel ikonunu değiştirebilirsiniz.

Metro bilgisini alma işlemini bitirdikten sonra, ana uygulamamızı oluşturabiliriz. Bunun için yeni bir çalışma kitabı oluşturalım Jupyter Notebook üzerinde.

Kod hücrelerinde:

  1. Gerekli kütüphane kullanımları yapılıyor ve ArcGIS Online hesabına bağlantı sağlanıyor.
  2. Merkezi Ankara olacak şekilde bir harita objesi oluşturuluyor.
  3. ArcGIS Online hesabına bağlı olan içerikte bina bilgilerini içeren ‘export’ katmanı bulunuyor.
  4. ‘metrolar’ katmanı bulunuyor.
  5. Yapılacak analiz sonucunda 3 boyutlu binaların görselliğini değiştirmek için özel bir semboloji tanımlanıyor. ‘ClassBreak’ tipindeki bu sembolojide alan ‘distance’ içindeki 0, 15, 25, 50, 75 ve 100 metrelik değerlere göre bina renklendirilmesi farklı olmaktadır.
    Metro katmanı haritaya katman olarak eklenir. Haritayı 3 boyutlu hale getirmeyi unutmayınız.
  6. Basit bir analiz yapılıyor. Metro konumlarına göre oluşturacağımız ‘buffer’ işlemini 100,75,50,25 ve 15 metrelik tekrarlar ile yapıp, her oluşturulan ‘buffer’ poligonun bina poligonu ile arasındaki uzaklık farkının sıfır olması durumunda, bina bilgisindeki ‘distance’ alanına ilgili ‘buffer’ uzaklığının değeri yazılmaktadır. Bu şekilde tüm binaların metro duraklarına olan uzaklığı hesaplanmaktadır.

Şekil 9. Basit bina-metro durağı analizi

Kodun çalıştırılması sonrasında haritamızda analiz sonucunu görüntüleyeceğiz.

Şekil 10. Ankara merkez bina-metro yakınlık analizi

Metro bilgisi yerine isteyeceğiniz farklı POI bilgilerin ve bina bilgilerine göre farklı analizler yapabilirsiniz artık.

ArcMap ve ArcGIS Pro Arasındaki Python Farklılıkları

ArcMap ve ArcGIS Pro Arasındaki Python Farklılıkları

Python açık kaynak kodlu, platformlar arası kolaylıkla kullanılabilen genel amaçlı bir programlama dilidir. ArcGIS Platformu’nda ise ArcMap 10.x ve ArcGIS Pro’daki Geoprocessing araçlarının ana dili olarak kullanılmaktadır. Geniş bir kullanıcı kitlesine sahip olması sebebiyle her geçen gün geliştirilmekte ve CBS kullanıcılarının ihtiyaçlarına karşılık verebilen bir dil haline gelmektedir. ArcGIS Pro içerisinde kullanılan Python versiyonu diğer ArcGIS ürünlerinden (ArcGIS Desktop, ArcGIS Server, ArcGIS Engine) farklı bir yapıdadır. ArcGIS Pro, Phyton 3.x kullanırken ArcMap Python 2.x versiyonlarını kullanmaktadır. Python dil yapısı ana hatlarıyla korunmakla birlikte Versiyon 3’te bazı değişiklikler yapılmıştır. Bu sebeple Python 2.x versiyonu ile yazılmış kodlar ArcGIS Pro’da uyumsuzluklara sebep olmaktadır.

ArcGIS Pro’da Desteklenmeyen Araçlar

Geoprocessing araçlarının pek çoğu ArcGIS Pro’da da mevcuttur, dahası aktarma ve geliştirme aşamasındadır. Ancak, ArcGIS Pro’nun içinde şu anda yer almayan birtakım araçlar vardır. Bunlardan bazıları;
Coverage,
Data Interoperability,
Parcel Fabric,
Schematics ve Tracking Analyst araçlarıdır.
Detaylı bilgi için tıklayınız.

Kütüphanenin Yeniden Düzenlenmesi

Python 3, Python 2 ‘nin kütüphanesinden farklı olarak önemli bir yapılanma içerir. Bu değişiklikler fonksiyonların çoğunun farklı lokasyonlara taşınmasından veya yeni bir modülün parçası olarak yeniden adlandırılmasından kaynaklanmaktadır. Eğer iki versiyonu da destekleyecek kodlara ihtiyacınız varsa bu gibi farklılıklarla başa çıkacak esnek importlar (içeri aktarma) kullanmalısınız. Bu işlemi Pro’da kullandığınız girdilere isim vererek yapabilirsiniz.

Print Komutu

Bir diğer önemli değişikliklerden biri çok sık kullanılan print komutudur. Python 2 versiyonunda kullanılan print statement ArcGIS Pro içerisinde kullanılamamaktadır. Ancak, yeni güncellemelerle beraber gelen print fonksiyonu her iki versiyonda da kullanılabilmektedir.

Import Yaparken Yaşanabilecek Sorunlar

Phyton 2 kodlarınızı Phyton 3 kurallarına göre yazdırmak için kod satırının en başına __future__ yazmanız gerekmektedir. Örneğin, Python 3’te yer alan print fonksiyonunu çağırmak için from __future__ import print_function kullanılmaktadır.

Sözlükte Yapılan Değişiklikler

Aşağıda yer alan kodlar Python 3’te değiştirilmiştir.

ArcMap ArcGIS Pro
dictionary.iteritems() dictionary.items()
iteritems items
xrange range

 

String ve Encoding Kurallarındaki Değişiklikler

Python 3’de tırnak içerisinde yazılan her şey Unicode string olarak tanımlanmaktadır. Ancak aynı kural Python 2 içerisinde geçerli değildir. Bunun için Python 2 içerisinde unicode_literals import edilmesi gerekmektedir. Bu sayede tırnak içerisindeki her şey Unicode olarak okunacaktır.

from __future__ import unicode_literals

Desteklenmeyen Veri Formatları

ArcGIS Pro’nun geliştirilmeye başlanmasıyla beraber bundan sonra pek çok veri formatı desteklenmemeye başlamıştır. Bunlardan bazıları aşağıda yer almaktadır.

Raster catalogs
Geometric networks
Topologies
Schematic datasets
Geodatabase servers
ArcMap document templates
ArcReader documents
Graphs
Tiled map packages
Personal geodatabases

 

Modül Güncellemeleri

Mapping Modülü

ArcGIS Desktop tarafında yer alan arcpy.mapping alt modülü ArcGIS Pro’da isim değiştirmiş ve arcpy.mp adını almıştır. Bu değişiklik ile modülün kabiliyetlerine esneklik kazandırılmıştır. Harita otomasyonuna ek olarak arcpy.mp proje seviye yönetimi sağlamaktadır. ArcGIS Pro’da acpy.mp in görevlerinden biri de harita dokümanının (.mxd) aksine proje dosyasına (.aprx) erişmektedir. ArcMap tarafında bu işlem arcpy.mapping.MapDocument(mxd_path) komutuyla sağlanırken, Pro’da komut ismi arcpy.mp.ArcGISProject(aprx_path) olarak değişmektedir. Aynı şekilde List fonksiyonlarının da ismi kısaltılmış ve basitleştirilmiştir. Aynı işlemleri gerçekleştirseler de ArcMap için yazılmış olan bu kodların ArcGIS Pro için düzeltilmesi gerekmektedir. Detaylı bilgi için tıklayınız.

ArcGIS Desktop tarafında katman dosyaları “.lyr” uzantısına sahipken ArcGIS Pro tarafında bu uzantı ismi “.lyrx” olmaktadır. “.lyrx” dosyaları birden çok katman veya grup katmanları içerebilme özelliğine sahipken “.lyr” dosyası tek bir katman veya katman grubu depolayabilmektedir. ArcGIS Pro .lyr dosya formatını okuyabilmekte olup dosya formatını çevirmek için arcpy.management.SaveToLayerFile() komutu kullanılmaktadır.

Veri Kaynaklarının Güncellenmesi

ArcGIS Pro ile bir katmanın veya tablonun veri kaynağını değiştirmek için uygulanması gereken metodlar ve parametreler değişmiştir. arcpy kütüphanesindeki scriptler dosyalarınızı tek tek açmak yerine hepsini birden güncelleyebilme imkanı sağlamaktadır. Detaylı bilgi için tıklayınız.

Network Analysis Modülü

ArcGIS Desktop tarafında kullanılan arcpy.na komutları, Pro’da farklılıklar göstermektedir. Desktop tarafında Make Route Layer aracı kullanılırken Pro tarafında bu araç Make Route Analysis Layer ismini almıştır. Pro’da bulunan bu yeni araçlar geliştirilmiş fonksiyonlar sunmaktadır. Pro’da bulunan Network Analysis katmanları verilerini ancak File Geodatabase’de tutmaktadır. Bu sebeple verilerin saklı tutulacağı veritabanı yeni bir işlemden önce değiştirilmelidir. İşlem adımlarıyla ilgili detaylı bilgi için tıklayınız.

Analyze Tools For Pro

Python kodlarınızı hem 10.x’de hem de ArcGIS Pro’da veya sadece ArcGIS Pro’da çalışacak şekilde güncellemeniz mümkündür. Geoprocessing araçlarından biri olan Analyze Tools For Pro ile diğer ArcGIS ürünlerinde kullandığınız Python 2 kodlarının ArcGIS Pro’da verdiği hataları tespit edebilirsiniz. Bu araç Python 2to3 özelliği ile göç ettirilen kodlardaki sorunları tespit eder, ArcGIS Pro’ya taşınmamış araç ve fonksiyonları belirler ve uygun Python 3 komutlarına dönüşüm sağlar. Eğer kodlarınızı Python 2’den Python 3’e tek bir yönde çevirmek istiyorsanız 2to3 komutu genellikle %100 başarıyla çözüm sağlayacaktır. Bazen bu başarı %95 civarında seyretmekte ve kodlayıcı tarafından ek değişiklikler yapılması gerektirmektedir.