迭代图层 (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})
参数说明数据类型
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将迭代地形图层。
  • TinLayer将迭代 TIN 图层。
  • TopologyLayer将迭代拓扑图层。
  • TraceNetworkLayer将迭代追踪网络图层。
  • UtilityNetworkLayer将迭代公共设施网络图层。
  • VoxelLayer将迭代体素图层。
String
workspace_type
[workspace_type,...]

指定用于过滤图层的工作空间类型。如果未指定工作空间类型,则将迭代受支持的工作空间类型的所有字段。

仅当图层类型参数设置为要素图层栅格图层表视图时,工作空间类型参数才会启用。

  • BIG_DATA_CONNECTION将迭代大数据连接工作空间中的图层。
  • BIM_FILE将迭代 BIM 文件工作空间中的图层。
  • CAD将迭代 CAD 工作空间中的图层。
  • DELIMITED_TEXT_FILE将迭代分隔文本文件工作空间中的图层。
  • ENTERPRISE_GEODATABASE将迭代企业级地理数据库工作空间中的图层。
  • FEATURE_SERVICE将迭代要素服务工作空间中的图层。
  • FILE_GEODATABASE将迭代文件地理数据库工作空间中的图层。
  • IN_MEMORY_DATABASE将迭代内存数据库工作空间中的图层。
  • MICROSOFT_EXCEL将迭代 Microsoft Excel 工作空间中的图层。
  • NETCDF将迭代 NetCDF 工作空间中的图层。
  • OLEDB将迭代 OLE DB 工作空间中的图层。
  • RASTER将迭代栅格工作空间中的图层。
  • SHAPEFILE将迭代 Shapefile 工作空间中的图层。
  • SQLITE将迭代 SQLite 工作空间中的图层。
  • SQL_QUERY_LAYER将迭代 SQL 查询图层工作空间中的图层。
  • STREAM_SERVICE将迭代流服务工作空间中的图层。
  • WEB_FEATURE_SERVICE将迭代 Web 要素服务工作空间中的图层。
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

派生输出

名称说明数据类型
output_layer

基于已设置的参数过滤器的地图图层。该图层将包含已在该图层上设置的所有选择或连接。

任意值
output_name

图层的名称。

字符串
output_layer_type

图层的类型。

字符串
output_workspace_type

图层的工作空间类型。

字符串

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是