Benim için, sorunuzun da belirttiği gibi, özellikle toplu işlemeyi otomatikleştirmek için değil, aynı zamanda tekrarlanabilir uzman hesaplamaları oluşturmak için Python'u çok kullanıyorum. Bugünlerde ArcPy kullanmıyorum çünkü ESRI lisanslarını serbest CBS Danışmanı olarak karşılayamıyorum. GDAL / OGR, Shapely, PostGIS, Numpy ve SciPy'yi çok kullanıyorum, ancak listemdeki her şey ArcPy (ve bazıları) ile yapılabilirdi. Örnekler:
- Öncelikle iki farklı veri türünün 20 km'lik raster karolarının mozaiklenmesini gerektiren, tüm bu rasterler üzerinde bir miktar "harita" gerçekleştiren, 10km vektör çokgen karoların eşdeğer alanını birleştiren, sonucunun bölgesel istatistiklerini hesaplayan Bölgesel İstatistiklerin Türetilmesi raster haritalama ve mantıksal bir dizin yapısında şekil dosyalarına çıkış yapmadan ve istemci için CD'ye yazmadan önce istatistik tablosunu orijinal vektör verilerine birleştirir.
- Bir yol veya pist boyunca her 100 metrede bir ardışık görünürlük hesaplamaları yapmak ve ardından hesaplama sonuçlarını rota verilerinde M değerleri olarak atamak.
- Raster ve vektör verilerinin karolarını mozaikleyerek / birleştirerek, gerekli alana kırparak ve daha sonra özel (GIS olmayan) bir 3D formatına dönüştürerek 3D manzara modelleri oluşturmak için otomatik süreç. Serbest çalışmamda bunun için geliştirdiğim küçük Python kütüphanesini kullanıyorum.
- Bir ekipte üzerinde çalıştığım büyük bir proje ArcPy'yi kullanarak CBS verilerinden yeni verileri prosedürel bir bilgisayar-oyun-varlık-üreteci tarafından tüketilebilecek özelliklere sahip bir formata dönüştürmek veya türetmek için toplu işlemler oluşturmak için kullandı. Coğrafi işlem komut dosyaları Python'da yazılmış ve Django üzerinden çalışan bir toplu işleme 'slave-driver' tarafından çağrıldı.
- Python, özellikle herhangi bir tekrarlama olduğunda (örneğin özellik işleme özelliğiyle) küçük görevler için bile çok yararlıdır. ArcGIS 'Model Builder, sürüm 10'da gelen akış kontrolleri ile çok geliştirildi, ancak yine de sıklıkla gerekli kontrolü sağlayamıyor ve / veya işlemi ArcPy'de yazmak denemekten daha hızlı ve daha kolay zorlayıcı Model Oluşturucu.
- Python'da süpürme yolu analizi yapmak için bir araç oluşturdum (çok uzun bir aracın belirli bir rotayı takip edip edemeyeceğini ve römorkun binalar arasında sıkı dönüşlerde sıkışıp kalacağı olasılığını hesaplamak için). cephanelik.
- Mapnik'ten çıktı oluşturma
- ArcGIS çok iş parçacıklı hale gelmeden önce Python'u kullanarak ArcMap'in hafızayı bozmadan yükü uzun, yavaş hesaplamaları hızlandırabilen alt süreçleri üretmeme izin verdim.
Python ticari jeoişlemede harikadır çünkü Python'un sağladığı komut dosyası yazma hızına ve kısacılığına ve derlenmiş C stili kodunu işleme hızına sahip olursunuz, çünkü Python yorumlanırken çoğunlukla başlık altında derlenmiş C tarzı kod çağırır. Python, çok sayıda sıralı coğrafi işleme görevini bir arada tutabilen tutkal sağlar ve yukarıdaki liste kişisel olarak kullandığım bazı şeylerin küçük bir görüntüsüdür. 'Eski Eski Günlerde' bir Watch dosyası ayarlayıp ArcInfo komut satırı girdimizi kaydettirir ve ardından AML ile yapıştırılmış coğrafi işlem çağrılarının yeniden kullanılabilir bir işlemini yapmak için AML'yi (Arc Macro Language'i hatırlar!) Temizlerdik. Tutkal olarak Python veya C # kullanmamız dışında bu günlerde çok farklı değil.