Python в ArcGIS Pro

Python является независимым, межплатформенным, открытым языком программирования, быстрым, мощным и легким в освоении. Он широко используется и поддерживается. Более подробно о Python вы узнаете, посетив веб-сайт python.org.

Python был представлен сообществу ArcGIS в версии ArcGIS 9.0. С тех пор он использовался в качестве одного из языков для написания скриптов, содержащих процессы геообработки; область его применения продолжает расширяться. Каждый выпуск расширял возможности Python и делал использование Python все более удобным.

Esri полностью поддерживает Python для ArcGIS и рассматривает Python в качестве основного языка, который удовлетворяет все потребности пользователей. Некоторые из этих преимуществ Python перечислены ниже:

  • Простота изучения и пригодность как для начинающих, так и для профессионалов
  • Отлично масштабируемый, он подходит как для больших проектов, так и для маленьких одноразовых программ, известных как скрипты
  • Портативность и межплатформенность
  • Встариваемость (написание скриптов в ArcGIS)
  • Стабильная и уверенная работа
  • Большое сообщество пользователей

Переход

Если вы переносите код Python, созданный в версии ArcGIS Desktop (или ArcGIS Server или ArcGIS Engine), обратитесь к разделу Переход на Python для ArcGIS Pro. Основное различие заключается в том, что ArcGIS Pro использует Python 3, а другие продукты ArcGIS - Python 2, и некоторые инструменты самого модуля ArcPy различаются; например, модуль arcpy.mapping заменен на модуль arcpy.mp.

Изучение Python

Помимо справки к ArcGIS Pro Python, вам могут оказаться полезными книги издательства Esri Press за авторством Paul A. Zandbergen, независимо от вашего уровня подготовки:

Для получения дополнительной информации о ArcPy, рекомендуем вам обратиться к руководству по языку Python, входящим в комплект поставки. Для начинающих пользователей Python подходящими книгами мы считаем: Изучение Python, написанную Mark Lutz и David Ascher и изданную O’Reilly & Associates, а также Основы программирования на Python за авторством Wesley J. Chun, изданную Prentice Hall. Эти издания являются хорошим введением в Python, не слишком сложным и не перегруженным лишней информацией. Существует большое количество книг по Python и его применению, новая литература о этому языку выходит регулярно, так что изучайте доступные вам книги. На веб-сайте Python вы найдете полную документацию по Python, однако, она является довольно краткой и ориентированной на разработчиков. Есть огромное сообщество Python с большим количеством доступных на главной странице Python онлайн-ресурсов.

Руководства пользователей Python

Если вы новичок в Python, рекомендуется изучить перечисленные здесь руководства:

Учебники по Python для программистов

Содержание учебников, перечисленных здесь, рассчитано на пользователей, имеющих опыт программирования на других языках:

Conda

Python является основным языком автоматизации как для ArcGIS 10.x, так и для ArcGIS Pro, в основном благодаря его расширяемости и гибкости. Второй причиной является то, что язык Python становится одним из самых широко используемых языков программирования в целом. Python имеет множество предварительно установленных библиотек, которые могут быть использованы в ArcGIS, но принятие решения о том, какие из них следует установить, может оказаться непростой задачей, для решения которой требуется время, особенно при работе над несколькими проектами или при попытке поделиться кодом с коллегами.

Чтобы справиться с этим многообразием, сообщество программистов Python разработало методы, позволяющие создавать проекты в разных версиях Python и упрощающие процесс установки почти всех публично доступных библиотек Python. Conda – это наиболее популярный и чаще всего используемый менеджер библиотек Python.

Функциональность conda внедрена в ArcGIS Pro с помощью Менеджера пакетов. Менеджер пакетов помогает избежать множества сложностей, возникающих при написании кода Python. Он направлен на поддержку установки библиотек с открытым кодом и библиотек сторонних компаний, которые связаны с отдельным проектом, более чем на базовую установку Python. Это упрощает процесс успешной публикации сложных инструментов Python на нескольких компьютерах.

Более подробно о conda в ArcGIS Pro

Запустите Python

Python можно запускать интерактивно из ArcGIS Pro, используя окно Python или ArcGIS Notebooks. Окно Python предоставляет строку, из которой можно запускать небольшие примеры кода Python. ArcGIS Notebooks основан на архитектуре Jupyter Notebook и предлагают богатую среду, в которой можно хранить код, визуализацию и описательный текст вместе в одном документе, и выполнять их.

Скрипты Python (файлы с расширением .py) можно запускать и вне приложения ArcGIS Pro. Подразделы, приведенные ниже, описывают способы запуска скриптов Python вне приложения с корректным активированным параметром среды ArcGIS Pro Python 3 conda.

Из командной строки

Чтобы запустить Python из командной строки, выполните следующее:

"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy"
Примечание:

Все показанные пути предполагают установку ArcGIS Pro на компьютер (для всех пользователей). Если ArcGIS Pro был установлен для текущего пользователя, замените %LOCALAPPDATA% на %PROGRAMFILES%.

Чтобы запустить скрипт Python из командной строки (аргументы можно добавить, указав файл .py), введите следующее:

"C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py

Запустите параметр среды ArcGIS Pro Python 3 conda:

"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\proenv"

Из пакетного файла

Чтобы запустить скрипт Python из файла .bat, используйте call на propy:

@echo Run my Python script
call "%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py
@echo Finished

Как запланированную задачу

При запуске скрипта Python как запланированной задачи, программа или скрипт должны быть C:\PROGRA~1\ArcGIS\Pro\bin\Python\Scripts\propy, и аргументы должны включать полный путь скрипта Python.

Ярлыки

Используйте следующие клавиши для доступа к Python:

Клавиши быстрого доступаОписание

Коммандная строка Python

Открывает окно командной строки, инициализированной с текущей средой conda. Чтобы запустить интерактивную сессию Python, введите python. Чтобы запустить скрипт Python, введите python и путь к файлу .py.

Интерактивный терминал Python

Открывает сессию Python с текущей средой conda.

Python IDE

Большинство современных интегрированных сред разработки (IDE) Python можно легко использовать с conda, настроив версию Python, которую использует IDE. Основной шаг включает перенаправление IDE на использование корректного файла Python.exe внутри установки ArcGIS Pro. Для настройки нескольких общих IDE, см. раздел Использование IDE или документацию для определенной версии IDE.

Python IDLE можно запускать из среды conda, введя idle.

Решение проблем

ArcPy должен быть запущен внутри среды conda, которую ArcGIS Pro использует для управления текущей установкой Python. Работать с этой средой можно, запустив Python по ссылкам в ArcGIS > ArcGIS Pro в группе меню Пуск либо запустив proenv в терминале.

Если среда conda открыта в командном окне без прав администратора, появится сообщение о том, что у вас недостаточно прав. Закройте командное окно, заново откройте его от имени администратора.

Авторизация Python вне приложения

При запуске скриптов Python, использующих функциональность ArcGIS Pro вне приложения ArcGIS Pro, таких как Python IDE, из командной строки или при запуске скриптов через запланированные задачи, необходимо выполнение одного из следующих условий:

  • Подключать автоматически включено при входе в ArcGIS Pro.
  • ArcGIS Pro в настоящий момент открыт.
  • ArcGIS Pro был авторизован для автономной работы.
Примечание:

Если одно из указанных выше условий не выполняется, то вы столкнетесь с исключением RuntimeError: NotInitialized при импорте arcpy или arcgisscripting.

Более подробно о лицензировании ArcGIS Pro

Связанные разделы