ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

使用列表

  • 示例
  • 对列表使用行内变量替换和填充选项

包含一个或多个值的变量称为列表变量。您可以将模型中的一个或多个变量声明为列表变量。要将变量设为列表变量,请执行以下操作:

  1. 右键单击变量。
  2. 单击属性。

    将弹出输入属性对话框。

  3. 在常规选项卡的此变量包含下,单击值列表。
    创建列表变量

打开列表变量时将显示批处理格网,可在其中输入变量值。将列表变量连接到某个工具后,该工具和所有下游流程(依赖于该工具的输出的流程)将针对列表中的每个值分别执行一次。使用列表变量与使用批处理类似,只是您不必为模型中的其他单个值变量提供值。使用列表变量要求您能够熟练使用批处理格网。

示例

本示例将通过简单的裁剪和缓冲区模型来说明列表处理过程,如下所示。

在该示例中,Input Feature 变量已设为列表变量。将 Input Feature 设为列表变量后,Output Clipped Feature 和 Output Buffer Feature 变量自动成为列表变量,因为它们都依赖于 Input Feature 变量。在下面的示例中,已打开裁剪工具且已添加三个输入裁剪要素类。裁剪要素和 XY 容差参数对于第一个像元之外的所有像元均不可用。这是因为 Study Area Clip 变量不是列表变量且 XY 容差参数不具有变量。第一个像元的值将用于所有这三个输入。

列表示例

模型现在即已准备就绪,可以在 ModelBuilder 中运行。模型将针对包含在输入要素类列表变量中的每个输入分别执行。

对列表使用行内变量替换和填充选项

在模型中创建输出列表变量后,可使用 %i% 在输出名称中进行行内变量替换。使用 %i% 在输出名称的末尾追加列表编号。如果存在许多输入,则为批处理格网中的每个输出定义唯一输出名称将十分繁琐。作为一种解决办法方法,您可以将填充选项与行内变量替换结合使用,如下图所示:

填充选项
  1. 双击打开裁剪工具对话框。
  2. 填入输入要素和裁剪要素参数。
  3. 在输出要素类中,单击第一个像元,定义输出路径,并在名称中使用 %i%,如上图所示。
  4. 定义第一个像元的路径和名称后,在像元中单击右键,然后单击填充,如图中编号 2 所示。
  5. 这将为所有像元填入相同的路径位置和文件名称,如上图编号 3 所示。将系统变量 %i% 用作行内变量将在输出名称的末尾追加数据在变量中的列表编号,从而确保每个输出都具有唯一名称。输出将命名为 Out0、Out1、Out2,依此类推。

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明