Передача змінної від сценарію ArcPy до ModelBuilder?


9

У мене є модель, яка передає змінну сценарію python. Сценарій використовує цю змінну для запиту деяких каталогів та повернення списку шляхів. Що я хочу знати:

  • Як я можу потім використовувати кожен із цих шляхів як параметр у наступній операції?
  • Чи міст між пітоном та ModelBuilder - це одностороння вулиця?

Відповіді:


8

Я припускаю, що ви додали скрипт Python до моделі, спочатку додавши скрипт Python до панелі інструментів, встановивши вхід сценарію через вкладку Параметри.

На вкладці Параметри ви можете додати нові параметри для виводу сценарію. Для цього просто змініть:

  • Directionв Параметрах властивостей до Output;
  • Data Typeв залежності від того, що вихід Python буде (ймовірно , рядок або ціле число, але , можливо, клас об'єктів);
  • а потім Typeу Властивості параметру до Derived(хоча справедливим Requiredі Optionalбуде працювати залежно від типу даних, але я опишу це нижче)

Тоді ми можемо просто використовувати arcpy.SetParameterдля виведення з вашого сценарію Python назад до моделі.

Пара приміток:

  • Якщо у вас встановлено вихідний параметр Requiredабо Optionalви можете надати вхід до свого сценарію, надавши значення за замовчуванням, які ви можете отримати за допомогою arcpy.GetParameterабо з ньогоsys.argv
  • Кількість параметра, який потрібно встановити як вихідний, залежить від загальної кількості параметрів для вашого сценарію Python (тобто якщо у вас вже є два вхідні параметри перед вихідним параметром, тоді вам потрібно використовувати arcpy.SetParameter(2, value))

Ознайомтесь також із довідкою щодо параметрів інструментів скрипту для налаштування дуги .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.