Сводка
Итерирует слои карты.
Более подробно о том, как работает инструмент Итерировать слои в ModelBuilder
Использование
Этот инструмент предназначен для использования в ModelBuilder, а не в скриптах Python.
Если для параметра Тип слоя установлено значение Представление таблицы, итерируются только автономные таблицы. Для работы с пространственными или растровыми таблицами установите для параметра Тип слоя значение Слой объектов или Растровый слой соответственно.
Для каждой итерации инструмент возвращает следующие выходные данные:
- Выходной слой - слой карты, на основе установленных параметрах фильтрации. Этот слой будет включать любые выборки или соединения, которые были заданы для слоя
- Имя - имя слоя. Имя может использоваться при подстановке встроенной переменной.
- Тип выходного слоя - тип слоя. Это значение соответствует типам слоев, установленным с помощью параметра Тип слоя. Выходные значения являются постоянными и не локализованы. Если используются два или более типов слоя, тип может использоваться для разветвления модели, как показано ниже:
- Тип рабочей области или формата - тип рабочей области слоя. Это значение возвращается только для векторных слоев, растровых слоев и представлений таблиц. Выходные значения являются постоянными и не локализованы. Для растровых слоев, которые хранятся в рабочей области на основе папок, возвращается формат файла, например, TIFF, и это значение может использоваться для разветвления модели или в качестве диагностики, чтобы оценить тип слоя, который был итерирован.
Инструмент возвращает слои, которые соответствуют типу, заданному параметром Тип слоя, и фильтрам, заданным параметрами Видимость и Состояние. Например, если для параметра Тип слоя задано значение Векторный слой и Растровый слой, для параметра Видимость установлено значение Невидимый, а для параметра Состояние значение Допустимый, инструмент будет возвращать векторные и растровые слои, которые не видны и допустимы.
Если параметр Тип слоя не задан или нет слоев, соответствующих критериям параметра, значение Выходной слой устанавливается как OUTPUT_LAYER, значение Имя и Тип выходного слоя устанавливается как FEATURE_LAYER, а Рабочая область или тип формата выходных данных как WORKSPACE.
Параметр Тип слоя может иметь несколько типов, например Слой объектов, Растровый слой и Представление таблицы. Однако инструмент можно соединить с такими последующими инструментами, как Копировать объекты, Копировать растр или Копировать строки, которые могут быть несовместимы с некоторыми типами слоев. Для поддержки нескольких типов слоев в этом сценарии параметр Тип слоя должен быть установлен на один определенный тип слоя. После чего необходимо соединить выходные данные с соответствующим инструментом, который работает с нужным типом данных. Как только все нисходящие соединения будут выполнены, вы можете установить параметр Тип слоя для всех трех типов слоев. Этот рабочий процесс необходим, поскольку изначально для инструмента установлено значение по умолчанию как тип векторного слоя, который несовместим с инструментами, принимающими растр в качестве входных данных. После того, как все типы слоев добавлены в модель, проверка оставляет инструменты в их допустимом состоянии.
Синтаксис
arcpy.mb.IterateLayers(input_map, {wildcard}, {layer_type}, workspace_type, {feature_type}, {raster_format_type}, {layer_visibility}, {layer_state}, {recursive})
Parameter | Объяснение | Тип данных |
input_map | Входная карта со слоями для итерации. | Map |
wildcard (Дополнительный) | Комбинация звездочки * и других символов поможет вам ограничить результаты. Символ звездочки означает ВСЕ. Если групповой символ не задан, то будут обрабатываться все входные данные. Например, его можно использовать для того, чтобы ограничить итерирование только входными именами, начинающимися с определенного символа или слова (например, A*, или Ari*, или Land* и т.д.). | String |
layer_type [layer_type,...] (Дополнительный) | Задает тип слоя для фильтрации слоев. Если тип слоя не указан, то все поддерживаемые типы слоев будут итерироваться. Для фильтрации слоев можно использовать более одного типа слоя.
| String |
workspace_type [workspace_type,...] | Задает тип рабочей области для фильтрации слоев. Если тип рабочей области не указан, то все слои поддерживаемых типов рабочих областей будут итерироваться. Параметр Тип рабочей области доступен, только если для параметра Тип слоя задано значение Слой объектов, Растровый слой или Представление таблицы.
| String |
feature_type [feature_type,...] (Дополнительный) | Задает тип объекта для фильтрации слоев. Если тип объекта не указан, то все поддерживаемые типы объектов будут итерироваться.
| String |
raster_format_type [raster_format_type,...] (Дополнительный) | Тип формата растра, используемый для фильтрации растровых слоев, когда для параметра Тип рабочей области установлено значение Растр. Если тип растра не указан, то все слои поддерживаемых типов растров будут итерироваться. | String |
layer_visibility (Дополнительный) | Указывает, используется ли видимость слоя для фильтрации слоев. Если видимость не задана, то все слои будут итерироваться.
| String |
layer_state (Дополнительный) | Задает состояние слоя, которое будет использоваться для фильтрации слоев. Слои с нарушенными путями возвращаются, если для параметра задано значение Недопустимый. Если состояние слоя не указано, будут итерироваться все слои.
| String |
recursive (Дополнительный) | Указывает, будет ли итератор перебирать слои вложенных групп.
| Boolean |
Производные выходные данные
Name | Объяснение | Тип данных |
output_layer | Слой карты на основе установленных фильтров параметров. Этот слой будет включать любые выборки или соединения, которые были заданы для слоя. | Любое значение |
output_name | Имя слоя. | Строковое |
output_layer_type | Тип слоя. | Строковое |
output_workspace_type | Тип рабочей области слоя. | Строковое |
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да