ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Доступ к лицензиям и дополнительным модулям в Python

  • Лицензии Desktop, Engine/Server
  • Лицензии на дополнительные модули
  • Функции лицензирования

Всякий раз, когда инструмент выполняется из скрипте, требуется лицензия ArcGIS. Инструментам из дополнительных модулей ArcGIS, таких как модуль ArcGIS Spatial Analyst extension, необходимы дополнительные лицензии на эти модули. Если требуемые лицензии недоступны, инструмент не сработает и возвратит сообщения об ошибке. Например, если установлена лицензия на ArcGIS Desktop Basic и производится попытка выполнить инструмент, для которого требуется лицензия Desktop Standard или Desktop Advanced, инструмент будет завершен с ошибкой.

При использовании лицензий ArcGIS Desktop Basic или Desktop Standard скрипт должен задать в качестве продукта Desktop Basic или Desktop Standard. Аналогично при использовании лицензии Engine или EngineGeoDB скрипт должен задать в качестве продукта Engine или EngineGeoDB. Если лицензия не установлена отдельно, лицензия будет инициирована на основе самого высокого доступного уровня лицензии, при этом вначале производится обращение к инструменту, функции или классу ArcPy.

Каждый инструмент проверяется на наличие соответствующей лицензии. Если на него нет необходимой лицензии, он завершается с ошибкой. Для предотвращения ситуации, когда производится часть работы, а затем следует сбой, можно выполнить проверку в начале скрипта и немедленно завершить работу с ошибкой.

Подсказка:

Настройка продукта и дополнительных модулей необходима только внутри автономных скриптов. При выполнении инструментов из окна Python или при использовании инструментов скриптов продукт уже установлен в приложении, а активные дополнительные модули задаются в диалоговом окне Дополнительные модули.

Лицензии Desktop, Engine/Server

Модули продукта импортируются перед импортом arcpy для определения лицензии desktop, используемой скриптом. Функция CheckProduct может использоваться для проверки наличия лицензий desktop, в то время как функция ProductInfo сообщает о текущей лицензии на продукт.

Прежние версии:

Уровень продукта должен устанавливаться при импорте соответствующего модуля продукта (arcinfo, arceditor, arcview, arcserver, arcenginegeodb или arcengine) до импорта arcpy. Функция SetProduct является устаревшей и не может устанавливать продукт после импорта arcpy.

Лицензии на дополнительные модули

Лицензии на дополнительные модули могут быть получены из менеджера лицензий и должны быть возвращены, если они больше не требуются. CheckExtension используется для проверки, доступна ли проверяемая лицензия для конкретного типа модуля, в то время как CheckOutExtension фактически получает лицензию. После получения лицензии с помощью скрипта, вы можете выполнять инструменты модулей. После выполнения скрипта с помощью инструментов определенного дополнительного модуля для возвращения лицензии в менеджер лицензий, чтобы ее могли использовать другие приложения, должна использоваться функция CheckInExtension. Все проверенные лицензии на модули и установленные лицензии на продукты возвращаются в менеджер лицензий по завершении скрипта.

В следующем примере выполняются некоторые инструменты ArcGIS 3D Analyst и лицензия desktop устанавливается на ArcGIS Desktop Basic, поскольку для выполнения инструментов дополнительного модуля лицензия ArcGIS Desktop Advanced не требуется. Если лицензия ArcGIS Desktop Basic явно не задана, и недоступна лицензия ArcGIS Desktop Advanced, скрипт будет завершен с ошибкой, поскольку для выполнения инструментов дополнительных модулей требуется лицензия desktop.

class LicenseError(Exception):
    pass
# Set desktop license used to Basic (keyword is arcview)
#
import arcview
import arcpy
try:
    if arcpy.CheckExtension("3D") == "Available":
        arcpy.CheckOutExtension("3D")
    else:
        # Raise a custom exception
        #
        raise LicenseError
    
    arcpy.env.workspace = "D:/GrosMorne"
    arcpy.HillShade_3d("WesternBrook", "westbrook_hill", 300)
    arcpy.Aspect_3d("WesternBrook", "westbrook_aspect")
except LicenseError:
    print("3D Analyst license is unavailable")
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
finally:
    # Check in the ArcGIS 3D Analyst extension extension extension
    #
    arcpy.CheckInExtension("3D")

В примере выше модуль ArcGIS 3D Analyst extension отмечен под выражением finally, чтобы модуль был всегда отмечен снова, в зависимости от появления исключения.

Возвращаемое значениеFailed, Unavailable или NotLicensed указывает на то, что не удалось успешно проверить дополнительный модуль.

Далее представлены имена дополнительных модулей и имена их кодов.

Дополнительный модульКод дополнительного модуля

Дополнительный модуль ArcGIS 3D Analyst extension

3D

Дополнительный модуль ArcGIS Data Interoperability extension for Desktop

DataInteroperability

ArcGIS Data Reviewer Desktop

Datareviewer

ArcGIS Aviation Airports

Airports

ArcGIS Aviation Charting

Aeronautical

ArcGIS Bathymetry

Bathymetry

ArcGIS Maritime

Nautical

Дополнительный модуль ArcGIS Geostatistical Analyst extension

GeoStats

Дополнительный модуль ArcGIS Network Analyst extension

Network

Дополнительный модуль ArcGIS Spatial Analyst extension

Spatial

Дополнительный модуль ArcGIS Schematics extension

Schematics

Дополнительный модуль ArcGIS Tracking Analyst extension

Tracking

ArcGIS Workflow Manager (Classic) Desktop

JTX

ArcScan

ArcScan

ArcGIS Business Analyst

Business

ArcGIS Defense Mapping

Defense

ArcGIS Production Mapping

Foundation

Дополнительный модуль ArcGIS Roads and Highways

Highways

StreetMap

StreetMap

Кодовые имена продуктов

Код продукта

ArcView (эквивалент лицензии ArcGIS Desktop Basic)

ArcEditor (эквивалент лицензии ArcGIS Desktop Standard)

ArcInfo (эквивалент лицензии ArcGIS Desktop Advanced)

Engine

EngineGeoDB

ArcServer

Функции лицензирования

ФункцияОбъяснение

CheckExtension(модуль)

Проверяет, доступна ли для открепления лицензия для конкретного типа модуля.

Возвращаемое значениеЗначение

Доступно

Требуемая лицензия доступна для установки.

Недоступно

Требуемая лицензия недоступна для установки.

NotLicensed

Указана некорректная лицензия.

Не выполнено

Во время запроса произошел системный сбой.

CheckInExtension(модуль)

Возвращает лицензию, чтобы другие приложения могли ее использовать.

Возвращаемое значениеЗначение

NotInitialized

Лицензия desktop не установлена.

Не выполнено

Во время запроса произошел системный сбой.

CheckedIn

Лицензия возвращена успешно.

CheckOutExtension(модуль)

Возвращает лицензию.

Возвращаемое значениеЗначение

NotInitialized

Лицензия desktop не установлена.

Недоступно

Требуемая лицензия недоступна для установки.

CheckedOut

Лицензия установлена успешно.

CheckProduct(код)

Проверяет, доступна ли требуемая лицензия.

Возвращаемое значениеЗначение

AlreadyInitialized

Лицензия уже установлена в скрипте.

Доступно

Требуемая лицензия доступна для установки.

Недоступно

Требуемая лицензия недоступна для установки.

NotLicensed

Указана некорректная лицензия.

Не выполнено

Во время запроса произошел системный сбой.

ProductInfo()

Возвращает текущую лицензию на продукт.

Возвращаемое значениеЗначение

NotInitialized

Лицензия не установлена.

ArcInfo

Установлена лицензия ArcGIS Desktop Advanced.

ArcEditor

Установлена лицензия ArcGIS Desktop Standard.

ArcView

Установлена лицензия ArcGIS Desktop Basic.

ArcServer

Установлена лицензия ArcGIS Server.

EngineGeoDB

Лицензия EngineGeoDB установлена.

Engine

Лицензия Engine установлена.

SetProduct(код)

Определяет лицензию desktop.

Возвращаемое значениеЗначение

CheckedOut

Лицензия установлена успешно.

AlreadyInitialized

Лицензия уже установлена в скрипте.

NotLicensed

Указана некорректная лицензия.

Не выполнено

Во время запроса произошел системный сбой.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация