Skip To Content

Python в ArcGIS Pro

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

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

Esri окончательно внедрил Python в ArcGIS и рассматривает этот язык в качестве основного средства, которое удовлетворит все потребности пользователей. Перечислим некоторые преимущества 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

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

Учебные руководства Python

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

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

Содержание учебников, перечисленных здесь, рассчитано на пользователей, имеющих опыт программирования на других языках (Perl, Visual Basic, C).

Conda

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

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

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

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

Запуск Python

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

Чтобы запустить 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

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

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

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

Python IDE

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

Python IDE может быть запущена из среды conda, для этого надо ввести idle.

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

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

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

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

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

Примечание:

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

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

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