Итерировать слои (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,...]
(Дополнительный)

Задает тип слоя для фильтрации слоев. Если тип слоя не указан, то все поддерживаемые типы слоев будут итерироваться. Для фильтрации слоев можно использовать более одного типа слоя.

  • AnnotationLayerБудут итерироваться слои аннотаций.
  • BuildingLayerБудут итерироваться слои зданий.
  • BuildingSceneLayer Будут итерироваться сцены зданий.
  • DimensionLayerБудут итерироваться слои размеров.
  • FeatureLayerБудут итерироваться слои объектов.
  • GALayerБудут итерироваться геостатистические слои.
  • GroupLayerБудут итерироваться составные слои.
  • KMLLayerБудут итерироваться слои KML.
  • LASDatasetLayerБудут итерироваться слои наборов данных LAS.
  • MosaicLayerБудут итерироваться слои мозаики.
  • NALayerБудут итерироваться Network Analyst.
  • NetworkDatasetLayerБудут итерироваться слои наборов сетевых данных.
  • ParcelLayerБудут итерироваться слои участков.
  • RasterLayerБудут итерироваться растровые слои.
  • SceneServiceLayerБудут итерироваться слои сервиса сцены.
  • TableViewБудут итерироваться представления таблиц.
  • TerrainLayerБудут итерироваться слои данных terrain.
  • TinLayerБудут итерироваться слои TIN.
  • TopologyLayerБудут итерироваться слои топологии.
  • TraceNetworkLayerБудут итерироваться слои сети трассировки.
  • UtilityNetworkLayerБудут итерироваться слои инженерной сети.
  • VoxelLayerБудут итерироваться слои вокселов.
String
workspace_type
[workspace_type,...]

Задает тип рабочей области для фильтрации слоев. Если тип рабочей области не указан, то все слои поддерживаемых типов рабочих областей будут итерироваться.

Параметр Тип рабочей области доступен, только если для параметра Тип слоя задано значение Слой объектов, Растровый слой или Представление таблицы.

  • BIG_DATA_CONNECTIONБудут итерироваться слои рабочей области подключения больших данных.
  • BIM_FILEБудут итерироваться слои рабочей области файлов Bim.
  • CADБудут итерироваться слои рабочей области САПР.
  • DELIMITED_TEXT_FILEБудут итерироваться слои рабочей области текстовых файлов с разделителями.
  • ENTERPRISE_GEODATABASEБудут итерироваться слои рабочей области многопользовательской базы геоданных.
  • FEATURE_SERVICEБудут итерироваться слои рабочей области сервисов объектов.
  • FILE_GEODATABASEБудут итерироваться слои рабочей области файловой базы геоданных.
  • IN_MEMORY_DATABASEБудут итерироваться слои рабочей области базы данных памяти.
  • MICROSOFT_EXCELБудут итерироваться слои рабочей области Microsoft Excel.
  • NETCDFБудут итерироваться слои рабочей области NetCDF.
  • OLEDBБудут итерироваться слои рабочей области OLE DB.
  • RASTERБудут итерироваться слои растровой рабочей области.
  • SHAPEFILEБудут итерироваться слои рабочей области шейп-файлов.
  • SQLITEБудут итерироваться слои рабочей области SQLite.
  • SQL_QUERY_LAYERБудут итерироваться слои рабочей области слоев SQL-запроса.
  • STREAM_SERVICEБудут итерироваться слои рабочей области потокового сервиса.
  • WEB_FEATURE_SERVICEБудут итерироваться слои рабочей области сервиса веб-объектов.
String
feature_type
[feature_type,...]
(Дополнительный)

Задает тип объекта для фильтрации слоев. Если тип объекта не указан, то все поддерживаемые типы объектов будут итерироваться.

  • ANNOTATIONБудут итерироваться классы объектов-аннотаций.
  • DIMENSIONБудут итерироваться классы объектов-размеров.
  • SIMPLE_EDGEБудут итерироваться классы простых объектов-ребер.
  • COMPLEX_EDGEБудут итерироваться классы сложных объектов-ребер.
  • SIMPLE_JUNCTIONБудут итерироваться классы простых соединений.
  • COMPLEX_JUNCTIONБудут итерироваться классы сложных объектов-ребер.
  • LINEБудут итерироваться классы линейных объектов.
  • POINTБудут итерироваться классы точечных объектов.
  • POLYGONБудут итерироваться классы полигональных объектов.
  • MULTIPATCHБудут итерироваться классы объектов мультипатч.
String
raster_format_type
[raster_format_type,...]
(Дополнительный)

Тип формата растра, используемый для фильтрации растровых слоев, когда для параметра Тип рабочей области установлено значение Растр. Если тип растра не указан, то все слои поддерживаемых типов растров будут итерироваться.

String
layer_visibility
(Дополнительный)

Указывает, используется ли видимость слоя для фильтрации слоев. Если видимость не задана, то все слои будут итерироваться.

  • VISIBLEВидимость слоя будет использоваться для фильтрации слоев и будут итерироваться видимые слои.
  • NOT_VISIBLEВидимость слоя не будет использоваться для фильтрации слоев и будут итерироваться невидимые слои.
String
layer_state
(Дополнительный)

Задает состояние слоя, которое будет использоваться для фильтрации слоев. Слои с нарушенными путями возвращаются, если для параметра задано значение Недопустимый. Если состояние слоя не указано, будут итерироваться все слои.

  • VALIDБудут итерироваться допустимые слои.
  • INVALIDБудут итерироваться недопустимые слои.
String
recursive
(Дополнительный)

Указывает, будет ли итератор перебирать слои вложенных групп.

  • Отмечено - слои вложенных групп будут итерироваться.
  • Не отмечено - слои вложенных групп не будут итерироваться.
Boolean

Производные выходные данные

NameОбъяснениеТип данных
output_layer

Слой карты на основе установленных фильтров параметров. Этот слой будет включать любые выборки или соединения, которые были заданы для слоя.

Любое значение
output_name

Имя слоя.

Строковое
output_layer_type

Тип слоя.

Строковое
output_workspace_type

Тип рабочей области слоя.

Строковое

Environments

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да