Добавление параметра в скрипт

0 голосов
спросил 03 Фев, 21 от stavropol26 (1,050 баллов) в категории Программные продукты Esri
Имеется скрипт

import arcpy

domains = arcpy.da.ListDomains("Database Connections\sde.sde") #база из которой берутся доменные (эталонные) значения
for dom in domains:
...     arcpy.GetParameterAsText(0)

как правильно прописать чтобы передать список доменов которые есть в базе ?

Что нужно выбрать в закладке Parameters чтобы они отобразились ?

Пробовал String но там ничего не показывает

Версия 10.5.1

1 Ответ

0 голосов
ответил 08 Фев, 21 от Grigoriy (127,020 баллов)

Кому Вы хотите передать этот список доменов?

Если Вы хотите использовать его использовать, как входной параметр для инструмента, то у Вас не получится.

Потому как до выполнения инструмента у Вас этого списка нет.

А после выполнения Вы можете вывести этот список в сообщения, как результат работы скрипта или передать этот список как выходной параметр для работы следующего инструмента. А там сами указывайте, что Вы передаёте в скрипте на выход - таблицу, текстовый файл, строку и т.д

Вот посмотрите, что Вы можете делать с доменами в стандартных инструментах:

https://desktop.arcgis.com/ru/arcmap/latest/tools/data-management-toolbox/an-overview-of-the-domains-toolset.htm

https://pro.arcgis.com/ru/pro-app/latest/tool-reference/data-management/an-overview-of-the-domains-toolset.htm

оставил комментарий 09 Фев, 21 от stavropol26 (1,050 баллов)
мне нужно что бы в  параметре была возможность выбрать из списка название домена который есть у меня в базе. В столбце Data Type нет ничего подходящего. Поэтому список получаю с помощью arcpy.da.ListDomains и вот этот список нужно передать в скрипт. На данный момент список передаётся через Validation
def initializeParameters(self):
    """Refine the properties of a tool's parameters.  This method is
    called when the tool is opened."""
    domains = arcpy.da.ListDomains("Database Connections\sde.sde")
    my=[]
    for domain in domains:
        my.append(domain.name)
    self.params[3].filter.list=sorted(my)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...