ModelBuilder ile oluşturmuş olduğunuz bir coğrafi işlem modelini günün belirli bir saatinde veya belirli bir zaman aralığında tekrar tekrar çalıştırabileceğinizi biliyor muydunuz? Haftanın belirli günlerinde ya da her gün belirli saatlerde veri oluşturmak veya bazı analizleri gerçekleştirmek gibi rutin işleriniz olabilir. Bu işlerinizi gerçekleştirebileceğiniz bir model oluşturup ardından Windows Task Scheduler (Windows Görev Zamanlayıcı) ve birkaç satır Python kodu kullanarak belirli bir zamanda ve belirli bir frekansta çalışacak şekilde programlayabilirsiniz.

Örneğin, her gün müşterileriniz tarafından telefon veya internet aracılığıyla arıza kaydı doldurulmaktadır. Sizin görevinizin ise adres bilgilerini barındıran bu arıza kayıtlarının hangilerinin sizin sorumluluk bölgenizden geldiğinin tespit edilmesi ve saha çalışanlarına bir rapor olarak iletilmesi olduğunu varsayalım. Her gün belirli saatlerde böyle bir rutini gerçekleştirmek için manuel yöntemlerin kullanılmasının oldukça vaktinizi alacağı kaçınılmaz bir gerçektir. Fakat böyle bir senaryoyu ya da buna benzer günlük çok adımlı iş akışlarınızı ModelBuilder kullanarak otomatikleştirebilirsiniz. Yapmak istediğiniz işlerden bir iş akışı şeması oluşturarak bir işlemin birden çok adımını bir araya getirmenizi sağlayan ModelBuilder’ın nasıl oluşturulduğu hakkında daha fazla bilgi almak için “ArcGIS Pro’da ModelBuilder’la Çalışmak” adlı blog yazımızı inceleyebilirsiniz. Böyle bir iş akışı şeması oluşturmak tekrarlanan birçok işi tek seferde hızlıca gerçekleştirmenizi sağlayacaktır. Fakat bu oluşturulan modelinizi programlayarak belirli gün ve saatlerde kendiliğinden çalışmasını sağlamak sizlere oldukça zaman kazandıracaktır.

Yukarıdaki görsel böyle bir iş akışının modelini göstermektedir.

ArcPy kullanarak modelin çalıştırılması:

Modeller ArcGIS coğrafi işlem araçlarıyla tamamen entegre bir şekilde çalışmaktadır. ArcPy’ı ise yerleşik coğrafi işlem araçlarını (Buffer, Intersect gibi), tüm oluşturmuş olduğunuz modelleri ya da Python’da oluşturmuş olduğunuz kodları çalıştırmak için kullanabilirsiniz.

Yukarıdaki örnekteki gibi bir modeli programlayabilmeniz için -zaman belirleyerek otomatik olarak çalışmasını sağlayabilmek için- bir Python kod dosyası oluşturmalı ve modelinizi içeren araç kutunuzu (ToolBox) içe aktarmalısınız. Ardından ise modelinizi gerekli parametreler ile çalıştırmanız için bir kod satırı daha kullanmalısınız.

Görseldeki kod satırı bu işlemleri gerçekleştirmenizi sağlayan bir örnektir. Bu kod satırlarını kendi parametreleriniz ile özelleştirmeniz gerekmektedir.

  • “C:\path\myToolbox.tbx”ifadesi araç kutunuzun bulunduğu konumu göstermektedir.
  • “tbxAlias” araç kutunuzun görünür adını (Alias) ifade etmektedir.
  • arcpy.myModel_tbxAlias ifadesindeki “myModel” kelimesi modelinizin adına karşılık gelmektedir.
  • “C:\pathToInput\inputFolder” ifadesi girdi verilerinizin konumunu ve “C:\pathToGdb\output.gdb” ifadesi çıktı verilerinizin konumunu göstermektedir.

Windows Task Scheduler (Windows Görev Zamanlayıcı) kullanılarak görev oluşturulması:

ArcPy komutlarını kullanarak modelinizi çalıştırılan bir Python komut dosyası oluşturduktan sonra komut dosyanızı ve dolayısıyla modeli belirli bir zamanda çalıştırmak için Windows Task Scheduler (Görev Zamanlayıcı) kullanabilirsiniz.

Windows’da Task Scheduler penceresinden Action (Eylem) sekmesine ve ardından Create Task (Görev Oluştur) seçeneğine tıklayarak Create Task (Görev Oluştur) iletişim kutusunu açabilirsiniz. Name (Ad) alanından bir isim vererek görevi oluşturabilirsiniz.

Python komut dosyasını çalıştırabilmek için Create Task (Görev Oluştur) iletişim kutusunda Actions (Eylemler) ve ardından New (Yeni) butonlarına tıklayarak New Action (Yeni Eylem) iletişim kutusunu açabilirsiniz. Program/scripts (Program/komut dosyası) seçeneği için bir önceki adımda oluşturulan Python komut dosyasını tanımlayabilirsiniz.

 

Böylece bu görev için yeni bir eylem olarak bu Python komut dosyasının çalıştırılmasını belirlemiş olursunuz.

Oluşturulan görevin programlanması:

Create Task (Görev Oluştur) iletişim kutusundan Triggers (Tetikleyiciler) ve ardından New (Yeni) butonlarına tıklayarak oluşturmuş olduğunuz bu görevin otomatik olarak çalıştırılması için zaman belirleyebilirsiniz.

Eğer bu göreve daha gelişmiş ayarlar eklemek isterseniz, örneğin bilgisayar başlatılırken, boştayken ya da oturum açıldığında görevi başlat gibi, Begin the task (Görevi başlat) seçeneğinden bunları ayarlayabilirsiniz.

Böylece programladığınız zaman geldiğinde Windows Task Scheduler (Görev Zamanlayıcı) Python komut dosyanızın çalıştırılmasını sağlayacaktır. Python komut dosyanız da ModelBuilder ile oluşturmuş olduğunuz modelin çalışmasını sağlayacaktır. İşlemler tamamlandığında belirlemiş olduğunuz çıktı çalışma klasöründe modelin sonuç çıktısını bulabilirsiniz.

Bu yazımızla rutin işlerin Windows Task Scheduler ve Python komutlarını kullanarak nasıl programlayabileceğini ele aldık. Bu gibi teknik konularda ve Esri ürünleri yenilikleri hakkında daha fazla bilgi almak için blog sayfamızı takip edebilirsiniz.

 

Esri Türkiye, 2019

Share This