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

  • Редактирование экспортированного скрипта Python

Опция экспорта модели в скрипт Python позволяет лучше понять, как используются в Python инструменты и параметры среды; с этого часто начинается разработка скриптов. После редактирования и завершения скрипта, его можно добавить на панель инструментов или в модель в качестве инструмента-скрипта и использовать как любой другой инструмент геообработки. Чтобы экспортировать модель в скрипт, выполните приведенные ниже инструкции:

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

В ModelBuilder версии 10 убрана возможность экспорта моделей в JScript и VBScript.

  1. В меню ModelBuilder выберите Модель (Model) > Экспортировать (Export) > В скрипт Python (To Python Script).
  2. Щелкните стрелку ниспадающего меню Сохранить в (Save in) и выберите место, куда вы хотите сохранить скрипт.
  3. Введите имя файла скрипта.
  4. Нажмите Сохранить (Save).

Редактирование экспортированного скрипта Python

В некоторых случаях экспортированная модель не работает. При экспорте модели в скрипт следует учитывать следующие факторы.

  • Если ожидается перезапись данных, задайте для свойства arcpy.env.overwriteOutput значение True.
  • Если в модели используются слои или представления таблиц, не созданные с исходной моделью, эти слои или виды таблиц будут созданы в скрипте с помощью таких инструментов, Создать векторный слой (Make Feature Layer) и Создать представление таблицы (Make Table View).
  • Элементы данных из модели преобразуются в переменные в экспортированном скрипте. Избегайте именования элементов данных, которое несовместимо с Python (например: class, global и return). Полный список зарезервированных ключевых слов см. в модуле keyword в Python.
    import keyword
    print keyword.kwlist
    
  • Если в модели используется один из перечисленных вариантов замены: %workspace%, %scratchworkspace%, %n%, %i% или %variable name%, они будут заменяться на корректное значение.
  • Если в модели используется итератор, логика итерации не будет экспортироваться и будет заменена операторами цикла в Python.
  • Будет экспортировано только первое значение из списка переменных.
  • Если модель использует набор объектов (feature set) или набор записей (record set), при экспорте будет создан следующий код.

    Экспорт из модели с параметром набора объектов

    Feature_Set = arcpy.GetParameterAsText(0)
    if Feature_Set == '#' or not Feature_Set:
        Feature_Set = "in_memory\\{F15C6411-0F4F-4A68-9BAC-29D6E7874669}" # provide a default value if unspecified
    
    В коде будут предприниматься попытки защиты от неверных значений или отсутствия значений (null), если задать переменную Feature_Set для класса объектов in_memory. Поскольку класс объектов in_memory отсутствует во время выполнения, необходимо обновить путь, указав класс объектов, который присутствует во время выполнения. Также следует внести изменения в логику возврата сообщений об ошибках и остановки выполнения, если это необходимо для вашего рабочего процесса.
  • Если модель использует только инструменты модели, такие как Слияние ветвей (Merge Branch), Собрать значения (Collect Values) или Вычислить значение (Calculate Value), эти инструменты не будут работать в Python. Для использования логики этих инструментов необходимо использовать соответствующие функции Python. Например, следует использовать логику если-то (if/else), чтобы реализовать ветвление в скрипте.
  • Если модель содержит подмодели, их содержание не будет экспортировано. Вместо этого, необходимо использовать ссылку на набор инструментов, а инструмент модели следует вызывать внутри скрипта.

ArcGIS Desktop

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

ArcGIS

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

Об Esri

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