Будь-яка різниця в продуктивності між вікном Python та інструментом сценарію Python?


9

Чи є різниця у продуктивності між запуском сценарію Python у вікні Python та його запуском як інструментом сценарію Python з панелі інструментів у ArcGIS Desktop 10.0?

Іноді мені потрібно використовувати ArcPy і запускати ArcGIS. У моєму недавньому досвіді я можу запустити той же скрипт через панель інструментів і у вікні python, і панель інструментів здається трохи швидшою.


Використовуючи окремі сценарії: вам не доведеться відкривати Arcmap, тим самим економлячи час та ресурси (процесор та пам'ять). Я не можу дозволити собі гідний комп’ютер на даний момент.
gm70560

Панель інструментів також не може торкнутися СУЧАСНОГО документа з картою. Вам потрібно вказати на mxd, щоб зробити що-небудь із певною картою в інструменті, коли ви можете використовувати arcpy.mapping.MapDocument ("СУЧАСНА") у вікні python.
eseglem

3
@eseglem, ви, безумовно, повинні мати можливість використовувати CURRENTключове слово для доступу до поточного документа з картою в інструменті скрипту, якщо він запускається в процесі роботи.
bla22

1
@ gm70560 Коли ви запускаєте окремий сценарій, вам потрібно створити такий собі екземпляр Arcmap, який потребує часу. У вікні пітона, яке вже запущено.
Меттью Снейп

2
import arcpyбуде тривати довго як окремий сценарій (або частина інструментарію), тоді як в ArcMap це вже частина простору імен вікна python.
Майкл Маркієта

Відповіді:


5

І Майкл Маркієта, і gm70560 є правильними. Якщо ви виконуєте великі завдання з геообробки, я б обов'язково це робив за допомогою окремого сценарію python, бажано запускається з командного рядка, а не IDE. Для такого роду завдань непогано коштувати накладні витрати на імпорт ArcPy.

Однак невелике завдання, особливо те, що вимагає введення користувача, зазвичай швидше і зручніше в ArcMap - якщо тільки вам не доведеться відкривати ArcMap спеціально для тієї мети, в такому випадку у вас є накладні витрати на запуск самого ArcMap плюс деякий час простою для підключення до всі ваші бази даних, на які посилається MXD (що, якщо вони перебувають через повільне мережеве з'єднання, може бути стомлюючим).

Аналогічно, пакетну обробку навіть невеликих завдань, на мою думку, краще виконати в автономному сценарії Python, ніж через панель інструментів в ArcMap, оскільки ви берете цей імпорт лише один раз і не маєте накладних витрат ArcMap.

Зробивши багато автоматизованих геопроцедур за допомогою скриптів Python, я б замовчувався запускати їх як самостійні процеси, тому що мені подобається додаткова швидкість та гнучкість. Більшість завдань, які запускаються швидше в панелі інструментів, як правило, досить малі, щоб я збив їх у ModelBuilder, не намагаючись написати який-небудь код.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.