Я работаю над скриптом ArcGIS (9.3) Python. Одним из входных данных является список функций. Для каждой функции мне нужно выбрать соответствующее поле. Установка параметра в MultiValue дает хорошую таблицу в пользовательском интерфейсе для всех обрабатываемых функций. Как добавить еще один столбец в таблицу MultiValue, чтобы выбрать поле для каждой функции?
Кросс-пост: http://forums.arcgis.com/threads/30907-MultiValue-Parameter-with-Multiple-Columns
Ответ Esri с форума ArcGIS:
К сожалению, решение для этого было реализовано совсем недавно для 10.1 с входными данными ValueTable для инструментов сценариев. Вам нужно будет иметь два многозначных параметра с некоторой пользовательской проверкой, чтобы эта работа работала для 9.3.1.
arcpy
arcgis-9.3
python-script-tool
thwllms
источник
источник
Ответы:
Я разработал, как сделать это, хотя и довольно просто. Я хотел создать многозначный параметр, где я добавляю много FeatureLayers, а затем выбираю поле ID для каждого слоя. У меня это работает, но я не смог сделать, как сделать поле выпадающим списком, поэтому пользователь должен ввести имя поля вручную. Вот интерфейс:
Если кому-то удалось решить эту проблему или какой-нибудь гуру из ESRI благословил нас своими знаниями, я бы хотел узнать, как превратить мой второй столбец (идентификатор сайта) в выпадающий список с перечислением конкретных полей. Если вы хотите увидеть пример этого, взгляните на инструмент Создать TIN .
В любом случае, чтобы создать этот интерфейс, я создал инструмент-скрипт и добавил параметр типа векторного слоя и установил его в многозначное значение, как показано ниже.
Затем я нажал на вкладку «Проверка» вверху, а затем кнопку «Изменить». Поскольку этот параметр является шестым параметром в моем инструменте сценария, я обновил следующий код:
Это сбрасывает интерфейс в таблицу с несколькими столбцами, которую я хотел. Когда вы используете GetParameterAsText, он возвращает следующее, используя мой пример:
pipeline pid;Dredging did
Я провел еще несколько исследований и создал инструмент, используя набор инструментов Python. Это работает очень хорошо, но есть ограничение, если вы вернетесь и выберете другой идентификатор. Я разместил код в GeoNet здесь .
источник
Если вы ищете раскрывающийся список для параметра Site ID, вы можете использовать следующий код:
Таким образом, вы можете создать курсор или использовать другой метод, чтобы прочитать все поля FC и передать их в виде списка в предыдущее предложение.
источник