Есть ли разница в производительности между запуском скрипта Python в окне Python и запуском его как инструмента скрипта Python из набора инструментов в ArcGIS Desktop 10.0?
Иногда мне нужно использовать ArcPy и запустить ArcGIS. По моему недавнему опыту я могу запустить тот же сценарий через панель инструментов и в окне python, и панель инструментов кажется немного быстрее.
arcpy
arcgis-10.0
performance
python-script-tool
python-window
Острый перец
источник
источник
CURRENT
ключевое слово для доступа к текущему документу карты в инструменте-скрипте, если он выполняется внутри процесса.import arcpy
займет много времени как отдельный скрипт (или часть набора инструментов), тогда как в ArcMap он уже является частью пространства имен окна python.Ответы:
И Майкл Маркиета, и gm70560 верны. Если вы выполняете большие задачи геообработки, я бы определенно сделал это с помощью автономного скрипта Python, предпочтительно запускаемого из командной строки, а не из IDE. Для такого рода задач затраты на импорт ArcPy того стоят.
Однако небольшая задача, особенно та, которая требует пользовательского ввода, обычно быстрее и удобнее в ArcMap - если только вам не нужно открывать ArcMap специально для этой цели, в этом случае у вас есть накладные расходы на запуск самой ArcMap плюс некоторое время простоя для подключения к все ваши базы данных, на которые есть ссылки в MXD (что, если они подключены через медленное сетевое соединение, может быть утомительным).
Аналогично, пакетную обработку даже небольших задач, на мой взгляд, лучше выполнять в автономном скрипте Python, чем с помощью набора инструментов в ArcMap, потому что вы принимаете этот импорт только один раз и не перегружаете ArcMap.
Сделав много автоматизированной геообработки с помощью скриптов Python, я бы по умолчанию запустил их как отдельные процессы, потому что мне нравится дополнительная скорость и гибкость. Большинство задач, которые выполняются быстрее в наборе инструментов, обычно достаточно малы, чтобы я мог их запустить в ModelBuilder, не беспокоясь о написании какого-либо кода.
источник