Входные и выходные параметры
Веб-инструменты и сервисы геообработки в идеале должны иметь входные и выходные параметры. Тип данных параметра, который вы задаете в ArcGIS Pro, влияет на поведение этого параметра после публикации.
Входные параметры
При создании веб-инструмента или сервиса геообработки используется множество типов данных параметров. Выбор определенного типа данных помогает получить из инструмента ожидаемые входные данные. Некоторые типы данных довольно специфические и не поддерживаются сервисом геообработки. При создании инструмента, который впоследствии будет опубликован в качестве сервиса геообработки, лучше всего создавать его с учетом поддерживаемых типов данных. Инструмент, который вы создаете и которым делитесь с коллегами, может быть настроен отлично от создаваемого вами инструмента, который будет опубликован исключительно в виде веб-инструмента.
Поддерживаемые типы входных данных в ArcGIS Pro могут быть любыми из типов данных в левом столбце приведенной ниже таблицы. После публикации они будут преобразованы в соответствующие типы данных в ArcGIS Server.
|
Тип данных в ArcGIS Pro |
Типы данных в веб-инструментах и сервисах геообработки |
|---|---|
|
Набор объектов, Векторный слой |
|
|
Набор растровых данных, Растровый слой |
|
|
Набор записей, Представление таблицы |
|
|
Файл |
|
|
Логическое значение, Двойной точности, Длинное целое, Строка |
|
|
Дата |
|
|
Единицы измерения длины |
|
|
Единицы измерения площади |
|
|
Поле |
|
|
Таблица значений |
|
|
Составное |
|
|
Пространственная привязка, Система координат |
|
|
Экстент, Конверт |
|
|
Строка скрыта, Выражение SQL |
|
|
Выражение SQL |
|
|
Единицы измерения времени |
Все типы данных в таблице выше, за исключением типа данных Таблица значений, поддерживают несколько значений (GPMultiValue) и составные (GPComposite) параметры.
Тип данных поля
Для использования типа данных Поле используйте ArcGIS Pro версии 2.3 или более поздней, а также ArcGIS Enterprise версии 10.7 или более поздней.
Создание
Для инструментов, имеющих входной параметр поля, следует убедиться, что этот параметр поля имеет зависимость от параметра, такого как векторный слой или таблица.
Если вы публикуете из ArcGIS Pro версии 3.0 или более поздней в ArcGIS Enterprise версии 11.0 или более поздней, тип данных поля может зависеть от всех поддерживаемых объектов и типов таблиц входных данных. В ArcGIS Enterprise версии 10.9.1 или более ранних в качестве зависимости поддерживаются только набор объектов и входной векторный слой.
Запуск инструмента
В версии ArcGIS Pro 3.0 или более поздней и при публикации в ArcGIS Enterprise версии 11.0 или более поздней, нет никаких ограничений на то, как вы выбираете входные данные. Вы можете использовать слой объектов, класс объектов на диске, таблицу или табличное представление для слоев, от которых зависит параметр поля. В ArcGIS Enterprise версии 10.9.1 или в более ранней для векторных слоев, от которых зависят эти параметры полей, выберите класс объектов с диска. Не используйте векторный слой в качестве входных данных.
Публикация
Когда вы настраиваете свойства инструмента, режим ввода параметра поля будет опцией Списка выбора по умолчанию. Убедитесь, что режим ввода для этого параметра установлен на опции Определяемое пользователем значение. Более подробно о режимах ввода при публикации веб-инструментов см. в разделе Содержание.
Использование
При использовании веб-инструмента в ArcGIS Pro все применимые поля в ниспадающем списке будут автоматически заполнены после того, как вы выберете входные данные.
Тип данных Таблица значений
Таблица значений - это гибкий объект типа таблицы, состоящий из строк и столбцов и содержащий разные значения. Чтобы использовать тип данных Таблица значений, используйте ArcGIS Pro версии 3.0 или более поздней, а также ArcGIS Enterprise версии 11.0 или более поздней. Чтобы узнать больше, посмотрите раздел Таблица значений. Многозначное значение таблицы значений не поддерживается.
Создание
Хотя имена столбцов параметра таблицы значений могут быть пустыми или дублироваться, при разработке параметров инструмента рекомендуется использовать уникальные и непустые имена столбцов. Уникальные и непустые имена столбцов позволяют пользователям вашего веб-инструмента или сервиса геообработки различать разные столбцы при использовании веб-инструмента, особенно при наличии нескольких столбцов с одинаковыми типами данных.
Публикация
Вы можете опубликовать веб-инструмент или сервис геообработки с параметром таблицы входных или выходных значений напрямую, используя ArcGIS Pro версии 3.1 или более поздней для публикации в ArcGIS Enterprise версии 11.0 или более поздней. Если вы публикуете в ArcGIS Enterprise версии 10.9.1 или более ранней, режим ввода параметра таблицы значений изменяется на постоянный во время публикации. При публикации с помощью скрипта Python вы можете использовать ArcGIS Pro версии 3.0 или более поздней. Если столбец в параметре таблицы значений имеет фильтр, процесс публикации будет включать этот фильтр.
Использование
Вы можете применять веб-инструменты с параметром таблицы значений, используя ArcGIS Pro или скрипт Python, если версия ArcGIS Pro - 3.0 или более поздняя.
Составной тип данных
В ArcGIS Pro нет истинного составного типа данных; составной тип данных — это имя параметра с несколькими типами данных. После публикации в качестве веб-инструмента тип данных можно преобразовать в GPComposite, который является реальным типом данных на сервере. Для преобразования типа данных параметров в составные используйте ArcGIS Pro версии 3.2 или более поздней, а также ArcGIS Enterprise версии 11.2 или более поздней.
Создание
Несмотря на то, что перед публикацией в параметре могут быть разные типы данных, убедитесь, что каждый тип данных можно преобразовать и в какой тип данных он будет преобразован после публикации на основе таблицы входных параметров. Вы можете использовать Составной фильтр для составных данных, чтобы установить значения для каждого подтипа. Фильтр будет учитываться при публикации в качестве веб-инструмента. Вы можете определить несколько значений составного элемента, но вы не можете иметь составной элемент, содержащий другой многозначный, составной или ValueTable тип данных, если хотите позже опубликовать его как составной элемент.
Публикация
При публикации в ArcGIS Pro 3.2 отметьте опцию Сохранить тип данных как составной на вкладке Ресурсы панели общего доступа. Используйте эту опцию, чтобы определить, является ли тип данных опубликованного параметра веб-инструмента составным. Опция активна только при публикации в ArcGIS Enterprise версии 11.2 или более новой.
При публикации с неотмеченной или неактивной опцией или с помощью скрипта Python тип данных параметра веб-инструмента или геообработки не является составным. Это единый преобразованный тип данных, основанный на значении, указанном при запуске инструмента перед публикацией. При публикации с отмеченной опцией тип данных веб-инструмента параметра является составным. Отобразятся все доступные опции режима ввода для составных типов данных. Одной из опций является смешанный режим, в котором вы можете выбрать различные режимы ввода для каждого типа данных параметра. Смешанный режим недоступен, если тип данных является многозначным составным или если есть фильтр верхнего уровня, который применяется ко всем типам данных параметра.
Во время публикации не все составные типы данных можно преобразовать в поддерживаемые типы данных на сервере. Если тип данных невозможно преобразовать в тип данных, поддерживаемый на стороне сервера, этот тип данных будет удален или станет типом данных GPString. Если несколько типов данных в составном элементе имеют одинаковые соответствующие преобразованные типы данных, каждый из них преобразуется в этот тип данных индивидуально. Например, если у вас есть входной параметр с типами данных Набор данных LAS, Набор объектов и Векторный слой, после публикации он станет составным из GPFeatureRecordSetLayer и другого GPFeatureRecordSetLayer, учитывая, что набор данных LAS не является поддерживаемым типом данных, а типы данных Набор объектов и Векторный слой преобразуются в один тип на сервере.
Использование
Вы можете использовать веб-инструменты и сервисы геообработки с составным параметром, используя ArcGIS Pro 3.2 или скрипт Python. При использовании более ранней версии ArcGIS Pro можно использовать только тип данных, предоставленный для параметра перед публикацией.
При использовании ArcGIS Pro 3.2 вы можете использовать веб-инструмент со всеми поддерживаемыми типами данных составного параметра. Поскольку на сервере есть некоторые неподдерживаемые типы, типов данных, которые вы можете использовать, может быть меньше, чем было до публикации. Чтобы проверить поддерживаемые параметром типы данных, выберите веб-инструмент на панели Ресурсы вида Каталога, щелкните задачу правой кнопкой мыши и выберите Информация о задаче, чтобы открыть конечную точку REST. Поддерживаемые типы данных параметра GPComposite находятся в атрибуте информации о параметре.
Если фильтры установлены для каждого типа данных перед публикацией, они будут учитываться при запуске веб-инструмента или сервиса геообработки. Если существует несколько преобразованных типов данных с одинаковым именем и каждый из них имеет свой собственный фильтр, использование веб-инструмента или сервиса геообработки будет соответствовать первому доступному значению для каждого фильтра.
Тип данных Единицы измерения площади
Чтобы использовать тип данных Единица площади, опубликуйте веб-инструмент из ArcGIS Pro версии 3.3 или более поздней в ArcGIS Enterprise версии 11.3 или более поздней. Вы можете сохранить тип данных в виде строки. Если вы используете объект GeoprocessingSharingDraft для запуска сервиса и публикации, публикуйте из ArcGIS Pro версии 3.4 или более поздней. Вы также можете сохранить тип данных в виде строки, используя свойство GPStringValues при создании объекта GeoprocessingSharingDraft.
Типы данных Пространственная привязка, Система координат, Экстент, Конверт, Строка скрыта и Выражение SQL
Чтобы использовать типы данных Пространственная привязка, Система координат, Экстент, Конверт, Строка скрыта и Выражение SQL, опубликуйте свои веб-инструменты и сервисы геообработки из ArcGIS Pro версии 3.4 или более поздней в ArcGIS Enterprise версии 11.4 или более поздней. Вы можете сохранить тип данных в виде строки. Если вы используете объект geoprocessingSharingDraft для запуска сервиса и публикации, публикуйте из ArcGIS Pro версии 3.4 или более поздней, вы также можете сохранить его в типе строковых данных, используя свойство GPStringValues при определении объекта geoprocessingSharingDraft.
Единицы времени
Чтобы использовать тип данных Единица времени, опубликуйте веб‑инструмент или сервис геообработки из ArcGIS Pro версии 3.6 или более поздней в ArcGIS Enterprise версии 12.0 или более поздней. Вы можете сохранить тип данных в виде строки. Если вы используете объект geoprocessingSharingDraft для запуска сервиса и публикации, публикуйте из ArcGIS Pro версии 3.6 или более поздней. Вы также можете сохранить тип данных в виде строки, используя свойство GPStringValues при создании объекта geoprocessingSharingDraft.
Неподдерживаемые входные параметры
Если параметр, который вы используете при создании инструмента, не перечислен выше, это значит, что он не поддерживается сервисом геообработки. При публикации веб-инструмента или сервиса геообработки параметр с неподдерживаемым типом данных будет либо жестко закодирован в сервисе, либо преобразован в поддерживаемый тип данных.
Например, тип данных слоя граф знаний не поддерживается в сервисе геообработки. Однако вы всё равно можете опубликовать инструмент, установив входной параметр слоя графа знаний на режим постоянного входа; URL графа знаний становится жёстко закодированным в опубликованном сервисе и не может быть изменен пользователем после публикации.
Понимание этих моделей поведения позволяет разработать инструмент, в котором потребители будут взаимодействовать на желаемом уровне. Как неподдерживаемый параметр будет преобразован, зависит от самого параметра. После того как вы поделились своим веб-инструментом или сервисом геообработки, вы можете просмотреть, как каждый параметр был обработан при ****Конфигурировании свойств инструмента
в разделе Содержание.
Следующие примеры показывают несколько распространённых неподдерживаемых типов параметров и то, как их можно адаптировать для работы в сервисе геообработки.
Например, параметр класса пространственных объектов поддерживает как шейп-файлы, так и классы объектов на диске. Однако ваш инструмент может использовать параметр векторного слоя или набора объектов. Параметр векторного слоя поддерживает выборку из списка слоев. Этот список слоев будет тем же самым, что и слои вашей карты на момент публикации. Либо вы можете использовать параметр набор объектов. Этот параметр позволяет интерактивный ввод объектов. Веб-приложение, использующее сервис геообработки с входным набором объектов будет позволять пользователю создавать объекты в сервисе, с которым он взаимодействует. Эти замечания также применимы к таблицам и наборам записей. Все эти методы позволяют вводить входные данные объектов; однако при публикации они создают очень разные сервисы. Ваш рабочий процесс подскажет, какие типы данных больше всего подходят.
Два широко используемых типа параметра, которые становятся жестко закодированными при публикации - это рабочая область и типы папок. Для рабочего процесса может понадобиться файл подключения .sde или папка, после чего он выполнит операцию для элементов данной папки. Рабочую область нельзя перенести с клиента на сервис геообработки. Вместо этого она жестко кодируется внутри публикуемого сервиса. Эта жестко закодированная ссылка указывает на местоположение, содержащее указанные элементы, либо в виде ссылок либо в виде копий, в зависимости от настроек хранилища данных. Опубликованный сервис будет продолжать использовать эту рабочую область и ее содержимое так же, как это делал инструмент до публикации. Единственное различие заключается в том, что пользователь сервиса эту рабочую область поменять не может.
Выходные параметры
В обычном рабочем процессе у вашего веб-инструмента или сервиса геообработки будет как минимум один выходной параметр. Именно с его помощью веб-инструмент возвращает результат клиенту. Без этого параметра сервис ничего не будет возвращать. Так же, как и в случае с входными параметрами, сервисы геообработки поддерживают некоторые типы данных для выходных параметров.
Подсказка:
Если создаваемому вами инструменту не нужен выходной параметр, поскольку целью инструмента является выполнить обновление или действие в определенное время, вам может не понадобиться сервис геообработки. В этом случае рекомендуется создавать запланированные задачи.
Поддерживаемые типы выходных данных могут иметь тип параметра производный или требуемый и могут быть любым типом данных из левого столбца приведенной ниже таблицы в ArcGIS Pro. После публикации они будут соответствовать типам данных в правом столбце в ArcGIS Enterprise.
Поддерживаемые типы выходных данных
|
Тип данных в ArcGIS Pro |
Типы данных в веб-инструментах и сервисах геообработки |
|---|---|
|
Класс пространственных объектов |
|
|
Набор растровых данных |
|
|
Таблица |
|
|
Файл |
|
|
Логическое значение, Двойной точности, Длинное целое, Строка |
|
|
Дата |
|
|
Единицы измерения длины |
|
|
Единицы измерения площади |
|
|
Поле |
|
|
Таблица значений |
|
|
Составное |
|
|
Пространственная привязка, Система координат |
|
|
Экстент, Конверт |
|
|
Скрытая строка |
|
|
Выражение SQL |
|
|
Единицы измерения времени |
Все вышеперечисленные типы выходных данных, отличные от Таблицы значений поддерживают мультизначения. См. GPMultiValue для этого типа данных в ArcGIS Enterprise.
За исключением Таблицы значений, все типы из предыдущей таблицы могут быть частью составного параметра. Составной параметр может поддерживать мультизначения. См. GPComposite для этого типа данных в ArcGIS Enterprise.
Все типы выходных данных в таблице выше, за исключением типа данных Таблица значений поддерживают параметры несколько значений (GPMultiValue) и составной (GPComposite).
Составной тип данных
При публикации в ArcGIS Pro 3.2 отметьте опцию Сохранить тип данных как составной на вкладке Ресурсы панели общего доступа. Опция активна только при публикации в ArcGIS Enterprise версии 11.2 или более новой.
При публикации с неотмеченной или неактивной опцией или с помощью скрипта Python тип данных веб-инструмента параметра не является составным. Это единый преобразованный тип данных, основанный на значении, указанном при запуске инструмента перед публикацией. При публикации с отмеченной опцией тип данных веб-инструмента параметра является составным.
Во время публикации не все составные типы данных параметра можно преобразовать в поддерживаемые типы данных на сервере. Если тип данных невозможно преобразовать в тип данных, поддерживаемый на стороне сервера, этот тип данных будет удален или станет GPString. Если несколько типов данных в параметре имеют одинаковые соответствующие преобразованные типы данных, каждый из них будет преобразован в этот тип данных индивидуально.
Жестко закодированные выходные данные
Все выходные результаты будут статичными для пользователей сервиса. Когда сервис геообработки запускается в настольном или веб-приложении, он не требует указать какое-либо значение в качестве выходного параметра. Это может удивить вас в первый раз, когда вы попытаетесь запустить сервис, поскольку вам не будет предоставлена возможность задать выходное имя для класса объектов. При публикации веб-инструмента процесс, который публикует сервис геообработки, отвечает за выходные данные. Выходное имя при запуске инструмента в ArcGIS Pro становится именем выходного результата вашего сервиса. Сервис обрабатывает запись выходных данных либо в память, либо во временное место, такую как Временная папка, Временная база геоданных или Временная рабочая область. Сервис возвращает результат на клиент после успешного выполнения обработки.
Типы данных Пространственная привязка, Система координат, Экстент, Конверт, Строка скрыта и Выражение SQL
Чтобы использовать типы данных Пространственная привязка, Система координат, Экстент, Конверт, Строка скрыта и Выражение SQL, опубликуйте свои веб-инструменты или сервисы геообработки из ArcGIS Pro версии 3.4 или более поздней в ArcGIS Enterprise версии 11.4 или более новой. Вы можете сохранить тип данных в виде строки. Если вы используете объект geoprocessingSharingDraft для запуска сервиса и публикации, публикуйте из ArcGIS Pro версии 3.4 или более поздней. Вы также можете сохранить его в типе строковых данных, используя свойство GPStringValues при определении объекта geoprocessingSharingDraft.
Единицы времени
Чтобы использовать тип данных Единица времени, опубликуйте веб‑инструмент или сервис геообработки из ArcGIS Pro версии 3.6 или более поздней в ArcGIS Enterprise версии 12.0 или более поздней. Вы можете сохранить тип данных в виде строки. Если вы используете объект geoprocessingSharingDraft для запуска сервиса и публикации, публикуйте из ArcGIS Pro версии 3.6 или более поздней. Вы также можете сохранить тип данных в виде строки, используя свойство GPStringValues при создании объекта geoprocessingSharingDraft.
Неподдерживаемые выходные параметры
Некоторые типы параметров не поддерживается в сервисе геообработки и не могут быть возвращены на клиент. Например, это рабочие области и сложные типы данных, например, сетевые наборы данных и геометрические сети. Рабочая область, например, может быть папкой, набором данных объектов или файлом подключения .sde. Сервис не может вернуть в результате своей работы папку или хранилище с элементами. Если в рабочем процессе требуется отправить обратно множество элементов или сложные элементы, состоящие из нескольких компонентов, вам может потребоваться изменить тип выходного параметра на файл, заархивировать эти элементы и возвратить файл .zip. Или, если позволяет рабочая область, вы сможете использовать инструмент Копировать объекты и вернуть результат в виде упрощенного класса объектов.