1. 构建模型输入输出数据源
在模型文件夹ModelBuilder下创建输入数据文件夹ToolData和输出数据文件夹Scratch,如下图所示。
2. 创建模型
单击 ArcMap 标准工具工具条上的模型构建器按钮。这样便可打开“模型构建器”窗口用于编辑操作。
您也可以通过右键单击现有工具箱并选择新建 > 模型来创建一个新模型。这样便可在该工具箱中创建一个具有默认名称的模型,并打开该模型以执行编辑。
3. 向模型中添加工具和数据
在搜索 窗口中,输入缓冲区,然后单击搜索按钮。“缓冲区”工具将与其他搜索项一并列出。将搜索项缓冲(分析)(表示“分析”工具箱中的缓冲区工具)拖动到“模型构建器”画布的空白区域中。
备注:工具和输出数据均为空(即没有颜色),这是由于尚未指定任何工具参数。
以同样的方式搜索并添加“分析”工具箱中的“裁剪”工具。如果两个工具互相压盖,可单击“模型构建器”工具条上的自动布局按钮来排列工具。
4. 填入工具参数
步骤:
(1)在“模型构建器”中,双击“缓冲区”工具打开其工具对话框。
(2)对于输入要素参数,可以单击“浏览”按钮 浏览 然后导航到输入地理数据库 (\ModelBuilder\ToolData\Input.gdb)。
(3) 选择PlanA_Roads 要素类,然后单击添加。
(4)填入要素后,将自动生成输出要素类参数,并且已填入值。单击“浏览”按钮 浏览 替换输出要素类参数中自动生成的输出名称。导航到 ModelBuilder 文件夹中的输出地理数据库 (\ModelBuilder\Scratch\Output.gdb),键入输出名称 BufferedFC,然后单击保存。
(5)对于距离参数,可以选择字段选项(Distance),然后从下拉列表中选择“距离”字段。
(6)单击确定。(无需填入任何其他参数。)
备注:输入变量(蓝色椭圆)、工具(黄色椭圆)和输出变量(绿色椭圆),表明所有参数值均已指定并且工具已准备好运行。
(7)现在可以双击裁剪打开相关工具对话框。
(8)对于输入要素参数,可以单击“浏览”按钮浏览 然后导航到输入地理数据库 (\ModelBuilder\ToolData\Input.gdb)。
(9)选择vegtype要素类,然后单击添加。
(10)对于裁剪要素参数,可单击箭头并从下拉列表中选择 BufferedFC。蓝色再循环符号表示 BufferedFC 在模型中是一个变量。添加“缓冲区”工具时,便会在模型中创建此变量。
(11)对于输出要素类参数,可以单击“浏览”按钮浏览,导航到输出地理数据库 (\ModelBuilder\Scratch\Output.gdb),输入数据集名称 ClippedFC,然后单击保存。
(12)在裁剪工具对话框中单击确定。Buffer 工具的输出变量将作为输入自动连接(使用连接符)到 Clip 工具,如下图所示。
5. 运行模型
(1)运行模型之前,请选择ClippedFC变量,右键单击,然后单击添加至显示选项。设置此选项可确保在“模型构建器”中运行模型时,输出 ClippedFC 可添加到 ArcMap 中的显示画面,这样便可以快速查看运行结果。
(2)在“模型构建器”菜单中单击模型>运行整个模型。模型开始运行,输出会添加到显示中。模型完成运行后,工具(黄色矩形)和输出变量(绿色椭圆)的周围会显示下拉阴影,表示这些工具已经运行过。
6. 创建初始模型
如果之前保存了该模型,则右键单击模型将其打开,然后选择编辑。如果此模型是在“在模型构建器中执行工具的教程”中运行后才保存的,则模型要素周围可能会有下拉阴影。要移除下拉阴影,可在“模型构建器”工具条上单击验证整个模型按钮来验证整个模型。
如果单击确定以运行此工具,则会运行该模型。即使为输出变量选中了添加至显示,模型的输出 (ClippedFC) 也不会添加到 ArcMap 的内容列表中。原因是通过模型的工具对话框运行模型时,将会忽略添加至显示设置。要将输出添加至显示,必须将输出变量作为模型参数。
7. 显示工具参数
(1)在目录 窗口中,右键单击 Model,然后单击编辑。将在“模型构建器”中打开 Model。
(2)右键单击 Buffer。
(3)单击获取变量 > 从参数 > 距离 [值或字段]。此操作会将“距离”参数作为变量添加到模型中。
(4)右键单击 Clip。
(5)单击获取变量 > 从参数 > XY 容差。
8. 创建模型参数
(1)右键单击距离 [值或字段],然后选中模型参数选项,如下图所示。
变量旁边将显示字母 P,表示此变量为模型参数。此模型参数随后也将在模型工具对话框上显示。
(2)为以下变量创建模型参数(不为 BufferedFC 创建模型参数):
PlanA_Roads
vegetype
XY 容差
ClippedFC
9. 对模型元素重命名
“模型构建器”为变量指定默认名称。这些变量名用于作为模型工具对话框上的参数名称进行显示。对变量重命名是一种很好的做法,尤其是在变量为模型参数时。
(1)右键单击 PlanA_Roads,然后单击重命名。
(2)输入“输入道路”,然后单击确定。变量名称将更改为“输入道路”。
(3)按以下方法对其余变量进行重命名:
将 Distance [value or field] 重命名为 Buffer Distance。
将 vegetype 重命名为“输入植被”。
将 ClippedFC 重命名为“输出裁剪后的要素类”。
(4)保存模型。无需退出“模型构建器”。
(5)在目录 窗口中双击模型可打开模型工具对话框。可能需要移动或最小化“模型构建器”窗口才能访问目录 窗口。模型工具对话框应与下图类似。您对话框上的参数顺序可能会有所不同,但这不是问题,接下来您将更改此顺序。
10. 设置模型参数顺序
标准做法是按以下顺序排列参数:
? 必需的输入数据集
? 影响工具执行的其他必需参数
? 必需的输出数据集
? 可选参数
(1)在“模型构建器”中,单击模型 > 模型属性。
(2)单击参数选项卡。
(3)选择 Input Roads 参数,然后使用右侧的向上箭头和向下箭头按钮将其移动到顶部。
(4)如下所示更改其他参数的位置:
11. 设置模型参数类型
按正确顺序设置模型参数后,需要更改参数类型。如果参数是模型中某个工具的必需参数,则不能设置为可选的。
(1)在“模型构建器”中,单击模型 > 模型属性。
(2)单击参数选项卡。
(3)单击 XY Tolerance 的类型类别下方的单元格。将弹出一个包含两个选项的列表。在此示例中,保留 XY Tolerance 为可选参数,而将其余参数设置为必需参数,如下图所示。
12. 对模型参数设置过滤器
可通过对参数应用过滤器来限制任何参数的输入类型。此示例中的模型要求 Input Roads 参数为线要素。在以下步骤中,将通过应用过滤器来修改该参数,以使其仅接受线要素。
(1)单击模型 > 模型属性。
(2)单击参数选项卡。
(3)选择 Input Roads,然后单击过滤器类别下方的单元格。
(4)选择要素类过滤器。将打开要素类 对话框。
(5)取消选中除“折线”外的所有类型,然后单击确定。
(6)在模型属性 对话框上,单击确定应用过滤器。
13. 为输出数据设置符号系统
(1)创建图层符号系统文件。右键单击图层,然后单击另存为图层文件,保存成 .lyr 文件(\ModelBuilder\ToolData\OutputSymbology.lyr)。
(2)在“模型构建器”窗口中,右键单击 Output Clipped Feature Class,然后单击属性。
(3)单击图层符号系统选项卡。
(4)浏览查找 ToolData 文件夹 (C:\ModelBuilder\ToolData) 中所复制的图层文件。
(5)选择 OutputSymbology.lyr,然后单击添加。
14. 管理中间数据
此示例中,Buffer 工具的输出仅在作为 Clip 工具的输入时才有用,而在这之后不再使用,因此“中间”选项为选中状态。可通过取消选中“中间”选项来保存中间数据。
15. 更改模型的常规属性
(1)在“模型构建器”界面上,单击模型 > 模型属性。
(2)输入 ExtractVegetationforProposedRoads 作为模型名称。模型名称中不允许包含空格。
(3)在标注文本框中,输入 Extract Vegetation for Proposed Roads。模型标注中允许包含空格。此标注用于在目录 窗口中显示模型名称。
(4)在描述文本框中,输入所需文本。
备注:选中存储相对路径名(不是绝对路径名) 选项,以便共享模型工具或将模型数据和模型移动到其他位置。此教程中未使用此选项,但此处将其作为一种很好的做法进行介绍,便于您在以后共享模型和模型工具时使用。
16. 记录模型
最好在分享模型前先对其进行记录。
(1)右键单击目录窗口中的模型,然后单击项目描述。将打开项目描述窗口,其中显示了描述页面。
(2)在项目描述窗口中,单击编辑按钮。将打开文档编辑器以供您输入项目描述。
(3)为模型中的每一项输入相应的描述,然后单击保存按钮。
参考文献:
http://help.arcgis.com/zh-cn/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#//00930000003t000000
http://resources.arcgis.com/zh-cn/help/main/10.2/#/na/01540000054q000000/
http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//00150000001v000000
http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//002w00000048000000
http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//001700000070000000
http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//00210000003v000000
本文出自 “IT技术学习与交流” 博客,谢绝转载!