Итерировать слои (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: Да