Python penceresi ve Python komut dosyası aracı arasında herhangi bir performans farkı var mı?


9

Python penceresinde bir Python betiği çalıştırmak ile ArcGIS Desktop 10.0'daki araç kutusundan Python betiği aracı olarak çalıştırmak arasında performans farkı var mı?

Bazen ArcPy kullanmam ve ArcGIS'i çalıştırmam gerekiyor. Son deneyimimde, aynı komut dosyasını araç kutusu aracılığıyla ve python penceresinde çalıştırabilirim ve araç kutusu biraz daha hızlı görünüyor.


Tek başına komut dosyaları kullanırken: Arcmap'i açmanız gerekmez, böylece size zaman ve kaynak tasarrufu sağlar (CPU ve bellek). Şu anda iyi bir bilgisayarı karşılayamıyorum.
gm70560

Araç kutusu da GÜNCEL harita belgesine dokunamaz. Python penceresinde arcpy.mapping.MapDocument ("CURRENT") kullanabilirsiniz, bir araçta belirli bir harita ile herhangi bir şey yapmak için bir mxd işaret gerekir.
eseglem

3
@eseglem, CURRENTişlem sırasında çalıştırıldığı sürece, geçerli harita belgesine bir komut dosyası aracında erişmek için kesinlikle anahtar kelimeyi kullanabilmeniz gerekir .
blah238

1
@ gm70560 Tek başına bir komut dosyası çalıştırdığınızda, zaman alan bir tür Arcmap örneği oluşturmanız gerekir. Zaten başlatılmış olan python penceresinde.
Matthew Snape

2
import arcpybağımsız bir komut dosyası (veya araç kutusunun bir parçası) olarak uzun zaman alacaktır, oysa ArcMap içinde zaten python penceresinin ad alanının bir parçasıdır.
Michael Markieta

Yanıtlar:


5

Hem Michael Markieta hem de gm70560 doğrudur. Büyük geoprocessing görevleri yürütüyorsanız, bunu kesinlikle bir IDE değil, komut satırından başlatılan bağımsız bir python betiği ile yapardım. Bu tür bir görev için ArcPy'yi içe aktarma yükü buna değer.

Bununla birlikte, özellikle kullanıcı girişi gerektiren küçük bir görev, ArcMap'te genellikle daha hızlı ve daha kullanışlıdır - ArcMap'ı özellikle amaçlamak için açmanız gerekmiyorsa, bu durumda ArcMap'in kendisini başlatma ek yüküne ve bağlanmak için bazı kesinti süresine sahip olmanız gerekir. MXD'de referans verilen tüm veritabanlarınız (yavaş bir ağ bağlantısı üzerindeyse sıkıcı olabilir).

Aynı şekilde, küçük görevleri bile toplu işleme, tek başına bir Python betiğinde ArcMap'teki bir araç kutusu ile yapmaktan daha iyidir, çünkü bu içe aktarma işlemini yalnızca bir kez alırsınız ve ArcMap ek yükü yoktur.

Python komut dosyaları aracılığıyla çok sayıda otomatik coğrafi işlem gerçekleştirdikten sonra, varsayılan olarak bunları tek başına işlemler olarak çalıştırmayı tercih ederim çünkü ek hız ve esnekliği seviyorum. Araç kutusunda daha hızlı çalışan çoğu görev genellikle herhangi bir kod yazmak için uğraşmadan ModelBuilder onları nakavt olurdu yeterince küçük.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.