模型构建器教程.docx
《模型构建器教程.docx》由会员分享,可在线阅读,更多相关《模型构建器教程.docx(50页珍藏版)》请在冰豆网上搜索。
![模型构建器教程.docx](https://file1.bdocx.com/fileroot1/2023-2/9/343d0992-e2c0-4d4c-a785-327157c71856/343d0992-e2c0-4d4c-a785-327157c718561.gif)
模型构建器教程
教程:
使用模型构建器创建工具
此教程将引导您逐步完成模型工具的创建过程。
在此教程中,通过将模型变量显示为模型参数,从而使在模型构建器中执行工具的教程中构建的模型成为有用的工具。
有关创建模型工具的综合概述,请参阅使用模型构建器创建工具快速浏览。
假定您在开始此教程前已安装了ArcGISDesktop(ArcView、ArcEditor或ArcInfo)。
此教程所需的数据包含在ArcGISDesktopCD中,且默认安装在C:
\arcgis\ArcTutor目录下。
教程情景是虚构的,原始数据已针对教程进行了调整。
为了避免损坏原始数据,请将ModelBuilder文件夹从C:
\arcgis\ArcTutor目录下复制到计算机的C盘。
如果将数据复制到其他驱动器或位置,请确保在执行以下所有步骤时均使用相应的驱动器。
步骤:
1.打开地图文档。
2.创建模型。
3.显示工具参数。
4.创建模型参数。
5.对模型元素重命名。
6.设置模型参数顺序。
7.设置模型参数类型。
8.对模型参数设置过滤器。
9.为输出数据设置符号系统。
10.管理中间数据。
11.更改模型的常规属性。
12.记录模型。
1-打开地图文档
在Windows资源管理器中浏览到C:
\ModelBuilder文件夹,然后双击ExtractVegetation.mxd。
此操作将启动ArcMap并打开该地图文档;另外,也可以执行下列操作
步骤:
1.单击开始>所有程序>ArcGIS>ArcMap10启动ArcMap。
2.在ArcMap-启动对话框中,单击现有地图>浏览更多。
将出现打开ArcMap文档对话框。
3.浏览到C:
\ModelBuilder文件夹,选中ExtractVegetation.mxd,然后单击打开。
这样便可打开ExtractVegetation.mxd。
2-创建初始模型
执行在模型构建器中执行工具中的相应步骤。
此教程中使用相同的模型开始。
如果之前保存了该模型,则右键单击模型将其打开,然后选择编辑。
如果此模型是在“在模型构建器中执行工具的教程”中运行后才保存的,则模型要素周围可能会有下移阴影。
要移除下移阴影,可在“模型构建器”工具条上单击验证整个模型按钮
来验证整个模型。
双击目录窗口中的示例模型。
将打开工具对话框,但不显示任何参数,如下图所示。
如果单击确定以运行此工具,则会运行该模型。
即使为输出变量选中了添加至显示,模型的输出(ClippedFC)也不会添加到ArcMap的内容列表中。
原因是通过模型的工具对话框运行模型时,将会忽略添加至显示设置。
要将输出添加至显示,必须将输出变量变为模型参数。
创建模型参数的另一个原因是,您希望以不同输入来运行该模型,而无需每次都打开“模型构建器”,如下图所示。
创建模型参数后,可通过模型的工具对话框执行模型,从而为InputRoads、BufferDistance、InputVegetation、OutputClippedFeatureClass和XYTolerance参数提供不同的值。
无需在每次运行模型时都打开“模型构建器”,也可以改用工具对话框。
通过模型的工具对话框来运行模型还有一个额外的优势,那就是会在结果窗口中创建结果,而在“模型构建器”内运行模型并不会在结果窗口中创建结果。
其余步骤会将模型变量显示为参数,以使其在模型工具对话框中如上所示。
3-显示工具参数
要定义“缓冲距离”和“XY容差”参数,需要为它们创建模型变量。
将工具添加到模型后,会自动为输入和输出数据集创建模型变量,但不会为任何其他工具参数创建模型变量。
主要是为了美观,如果自动为每个工具参数都创建变量,则模型图很快就会变得难以辨认。
例如,将缓冲区工具添加到模型后,会自动为输出要素类参数创建变量。
右键单击Buffer并填充输入要素参数后,便会为输入要素创建模型变量。
所有其他参数(如距离、侧类型和末端类型)并不会作为变量自动添加到模型中。
以下步骤将为距离[值或字段]和XY容差创建模型变量。
步骤:
1.在目录窗口中,右键单击模型,然后单击编辑。
将在“模型构建器”中打开模型。
2.右键单击Buffer。
3.单击获取变量>从参数>距离[值或字段]。
此操作会将“距离”参数作为变量添加到模型中。
4.右键单击Clip。
5.单击获取变量>从参数>XY容差。
4-创建模型参数
您已为“距离”和“XY容差”创建了变量,接下来便可创建模型参数。
步骤:
1.右键单击Distance[valueorfield],然后选中模型参数选项,如下图所示。
2.变量旁边将显示字母P,表示此变量为模型参数。
此模型参数随后也将在模型工具对话框上显示。
3.为以下变量创建模型参数(不为BufferedFC创建模型参数):
∙PlanA_Roads
∙vegetype
∙XY容差
∙ClippedFC
5-对模型元素重命名
“模型构建器”为变量指定默认名称。
这些变量名用作模型工具对话框上的参数名称。
对变量重命名是一种很好的做法,尤其是在变量为模型参数时。
步骤:
1.右键单击PlanA_Roads,然后单击重命名。
2.输入InputRoads,然后单击确定。
变量名称将更改为InputRoads。
3.按以下方法对其余变量进行重命名:
∙将Distance[valueorfield]重命名为BufferDistance。
∙将vegetype重命名为InputVegetation。
∙将ClippedFC重命名为OutputClippedFeatureClass。
4.保存
模型。
无需退出“模型构建器”。
5.在目录窗口中双击模型可打开模型工具对话框。
可能需要移动或最小化“模型构建器”窗口才能访问目录窗口。
模型工具对话框应与下图类似。
您对话框上的参数顺序可能会有所不同,但这不是问题,因为接下来您将更改此顺序。
6.可通过单击确定来执行工具,但建议您在执行工具前先选择其他输出要素类。
该工具执行后,输出要素类将被添加到ArcMap的内容列表中。
与在“模型构建器”内运行模型不同,通过模型对话框运行模型并不会改变模型图。
6-设置模型参数顺序
如上图所示,参数的顺序并不理想。
标准做法是按以下顺序排列参数:
∙必需的输入数据集
∙影响工具执行的其他必需参数
∙必需的输出数据集
∙可选参数
步骤:
1.在“模型构建器”中,单击模型>模型属性。
2.单击参数选项卡。
3.选择InputRoads参数,然后使用右侧的上箭头和下箭头按钮将其移动到顶部。
4.如下所示更改其他参数的位置:
7-设置模型参数类型
按正确顺序设置模型参数后,需要更改参数类型。
如果参数是模型中某个工具的必需参数,将无法通过以下设置将类型更改为可选。
步骤:
1.在“模型构建器”中,单击模型>模型属性。
2.单击参数选项卡。
3.单击XYTolerance的类型类别下方的单元格。
将出现一个包含两个选项的列表。
在此示例中,保留XYTolerance为可选参数,而将其余参数设置为必需参数,如下图所示。
8-对模型参数设置过滤器
可通过对参数应用过滤器来限制任何参数的输入类型。
此示例中的模型要求InputRoads参数为线要素。
在以下步骤中,将通过应用过滤器来修改该参数,以使其仅接受线要素。
步骤:
1.单击模型>模型属性。
2.单击参数选项卡。
3.选择InputRoads,然后单击过滤器类别下方的单元格。
4.选择要素类过滤器。
将打开要素类对话框。
5.取消选中除“折线(Polyline)”外的所有类型,然后单击确定。
6.在模型属性对话框上,单击确定应用过滤器。
9-为输出数据设置符号系统
可将模型的输出设置为包含特定的符号系统,以用来显示输出。
对于此示例,符号系统基于缓冲区内的植被类型。
要为输出数据设置符号系统,第一步是创建图层文件,第二步是在输出数据属性中定义图层文件。
此教程中已创建了图层符号系统文件。
步骤:
1.在“模型构建器”窗口中,右键单击OutputClippedFeatureClass,然后单击属性。
2.单击图层符号系统选项卡。
3.浏览查找ToolData文件夹(C:
\ModelBuilder\ToolData)中所复制的图层文件。
4.选择OutputSymbology.lyr,然后单击添加。
5.单击确定。
了解有关创建图层符号系统文件的详细信息
10-管理中间数据
运行模型时,模型中执行的每个过程都会创建输出数据。
创建的某些数据在模型运行后毫无用处,因为创建这些数据只是为了与创建新输出的另一个过程相连。
此类数据称为中间数据。
除最终输出之外的所有输出或者已变为模型参数的输出都将自动成为模型的中间数据。
此示例中,Buffer工具的输出仅在作为Clip工具的输入时才有用,而在这之后不再使用,因此“中间”选项为选中状态。
可通过取消选中“中间”选项来保存中间数据。
11-更改模型的常规属性
可对模型的名称、标注和描述进行设置。
步骤:
1.在“模型构建器”界面上,单击模型>模型属性。
2.输入ExtractVegetationforProposedRoads作为模型名称。
模型名称中不允许包含空格。
3.在标注文本框中,输入ExtractVegetationforProposedRoads。
模型标注中允许包含空格。
此标注用于在目录窗口中显示模型名称。
4.在描述文本框中,输入所需文本。
选中存储相对路径名(不是绝对路径名)选项,以便共享模型工具或将模型数据和模型移动到其他位置。
此教程中未使用此选项,但此处将其作为一种很好的做法进行介绍,便于您在以后共享模型和模型工具时使用。
了解有关相对路径选项的详细信息
5.单击确定。
6.保存
完成的模型,并退出“模型构建器”。
在目录窗口中双击模型可打开模型工具对话框。
由于模型是与预定义的值一起保存的,因此对话框中的所有参数都已填入。
可通过在此处输入新值来更改任何参数的值。
单击确定运行模型。
默认情况下,模型的最终输出(OutputClippedFeatureClass)会添加到显示中,而模型消息将在结果窗口中显示。
要查看结果,可在地图文档的内容列表中取消选中VegetationType图层。
12-记录模型
最好在分享模型前先对其进行记录。
要进行记录:
步骤:
1.右键单击目录窗口中的模型,然后单击项目描述。
将打开项目描述窗口,其中显示了描述页面。
2.在项目描述窗口中,单击编辑按钮。
将打开文档编辑器以供您输入项目描述。
3.为模型中的每一项输入相应的描述,然后单击保存按钮。
要了解有关记录的详细信息,请参阅工具和工具箱记录快速浏览
其他分析
如果需要使用该模型执行某些分析,可以添加“汇总统计数据”工具以便获得一个在拟建道路周围缓冲区面中受到植被类型影响的区域的汇总表。
以下步骤还将介绍如何将模型用作其他模型内部的工具。
步骤:
1.在ArcMap的标准工具条上,单击模型构建器按钮
以打开新模型。
2.由于您已创建了模型工具,因此可以像任何其他工具一样使用模型工具。
可通过将模型工具从目录窗口拖动到新模型中来将其添加到新模型中,如下图所示。
由于模型工具已预定义了输入和输出参数的值,因而模型工具的输入和输出变量(蓝色和绿色椭圆)将会添加到新模型中。
请注意,将模型工具添加到其他模型中时,并不会显示该模型工具的所有参数。
另外,还将使用输入数据集的原始名称。
您可以按此教程中前面介绍的那样,创建变量并对其进行重命名。
3.通过单击地理处理>搜索工具打开搜索窗口(如果尚未在ArcMap中打开)。
这将打开搜索窗口。
4.在搜索窗口中,输入SummaryStatistics,然后单击搜索按钮
。
5.将此工具拖到模型中。
6.双击“汇总统计数据”元素打开此工具的对话框。
7.对于输入表参数,单击箭头,然后选择旁边具有蓝色再循环图标
的OutputClippedFeatureClass。
这个再循环图标意味着此要素类是模型中的变量。
8.对于输出表参数,可以浏览到输出地理数据库(C:
\ModelBuilder\Scratch\Output.gdb),输入名称AffectedVegetation,然后单击保存。
9.对于统计字段参数,在列表中选择Shape_Area。
10.单击统计类型下Shape_Area旁的单元格,然后从下拉列表中选择总和。
11.对于案例分组字段参数,在列表中选择VEG_TYPE。
下图显示了完成的模型和汇总统计数据对话框。
12.单击确定。
13.右键单击OutputClippedFeatureClass(绿色椭圆),然后选中添加至显示。
这样便会在模型运行后将输出添加至显示。
14.右键单击AffectedVegetation变量,然后选中添加至显示选项。
这样便会在模型运行后将输出添加至显示。
15.运行模型。
输出OutputClippedFeatureClass和AffectedVegetation表将被添加到ArcMap内容列表的显示中。
16.右键单击表,然后单击打开可打开对应的表。
表中显示的是A计划中拟建道路的缓冲区面内受植被类型影响的区域的汇总。
教程:
在模型构建器中执行工具
本教程将向您逐步介绍在“模型构建器”中创建模型和执行工具的全过程。
首先需要在“模型构建器”中添加一个工具并为该工具的各参数设定值。
此操作是在构造一个流程。
模型将通过连接各个流程来构建。
本教程中构建的是一个相对简单的模型,其作用是识别拟建道路附近的植被类型。
在该模型中,首先将使用道路属性表中距离字段的值对道路进行缓冲。
“缓冲区”工具的输出将用于裁剪植被数据,从而创建一个缓冲区面内各种植被类型的数据集。
本教程由七个主要的步骤组成:
步骤:
1.复制教程数据
2.打开地图文档
3.创建新模型
4.向模型添加工具和数据
5.填入工具参数
6.运行模型
7.保存模型
1-复制教程数据
假定您在开始此教程前已安装了ArcGISDesktop(ArcView、ArcEditor或ArcInfo)。
此教程所需的数据包含在ArcGISDesktopCD中,且默认安装在C:
\arcgis\ArcTutor目录下。
教程情景是虚构的,原始数据已针对教程进行了调整。
步骤:
1.为避免损坏原始数据,请将ModelBuilder文件夹从C:
\arcgis\ArcTutor目录下复制到计算机的C盘。
如果将数据复制到其他驱动器或位置,请确保在执行以下所有步骤时均使用相应的位置。
2-打开地图文档
在Windows资源管理器中浏览到C:
\ModelBuilder文件夹,然后双击ExtractVegetation.mxd。
此操作将启动ArcMap并打开该地图文档;另外,也可以执行下列操作
步骤:
1.单击开始>所有程序>ArcGIS>ArcMap10启动ArcMap。
2.在ArcMap-启动对话框中,单击现有地图>浏览更多。
将出现打开ArcMap文档对话框。
3.浏览到C:
\ModelBuilder文件夹,选中ExtractVegetation.mxd,然后单击打开。
这样便可打开ExtractVegetation.mxd。
3-创建新模型
步骤:
1.单击ArcMap标准工具条上的模型构建器按钮
。
这样便可打开“模型构建器”窗口用于编辑操作。
您也可以通过右键单击现有工具箱并选择新建>模型来创建新模型。
这样便可在该工具箱中创建具有默认名称的模型,同时还会打开该模型以供编辑。
4-向模型中添加工具和数据
既然模型已经打开可供编辑,便可使用搜索窗口添加两个工具:
步骤:
1.在ArcMap中,单击地理处理>搜索工具。
此时将打开搜索窗口,您可以将其停靠在ArcMap中的任何位置。
2.在搜索窗口中,输入缓冲区,然后单击搜索按钮
。
“缓冲区”工具将与其他搜索项一并列出。
3.将搜索项缓冲(分析)(表示“分析”工具箱中的缓冲区工具)拖动到“模型构建器”画布的空白区域中。
4.这样便可将工具和输出数据变量添加到模型中。
输出变量将通过连接符连接到工具。
工具和输出数据均为空(即没有颜色),这是由于尚未指定任何工具参数。
5.以同样的方式搜索并添加“分析”工具箱中的“裁剪”工具。
如果两个工具互相压盖,可单击“模型构建器”工具条上的自动布局按钮
来排列工具。
还存在两种在模型中添加工具的其他方法,但本教程中并没有采用,下面将列出这些方法以供参考:
∙在目录窗口中,导航到工具箱>系统工具箱>分析工具>邻域分析。
您可以选择“缓冲区”并将该工具拖动到“模型构建器”画布的空白区域中。
∙在“模型构建器”标准工具条上单击添加数据或工具按钮
,然后导航到工具箱>系统工具箱>分析工具>邻域分析。
选择“缓冲区”工具,然后单击添加。
5-填入工具参数
既然已将各工具添加到模型中,现在便可以填入工具参数。
步骤:
1.在“模型构建器”中,双击“缓冲区”工具打开其工具对话框。
2.对于输入要素参数,可以单击“浏览”按钮
然后导航到输入地理数据库(C:
\ModelBuilder\ToolData\Input.gdb)。
3.选择PlanA_Roads要素类,然后单击添加。
4.填入输入要素后,将自动生成输出要素类参数,并且已填入值。
单击“浏览”按钮
替换输出要素类参数中自动生成的输出名称。
导航到ModelBuilder文件夹中的输出地理数据库(C:
\ModelBuilder\Scratch\Output.gdb),键入输出名称BufferedFC,然后单击保存。
5.对于距离参数,可以选择字段选项,然后从下拉列表中选择“距离”字段。
6.单击确定。
(无需填入任何其他参数。
)
7.输入数据将作为变量(上图中的蓝色椭圆)添加到模型中并自动连接到Buffer。
输入变量(蓝色椭圆)、工具(黄色椭圆)和输出变量(绿色椭圆)的颜色发生了变化,这表明所有参数值均已指定并且工具已准备好运行。
请注意,在工具对话框中单击确定并不会在“模型构建器”中执行工具。
8.数据或工具添加到模型中后便称为模型元素。
共有三种基本元素:
变量(例如,数据集)、工具和连接符。
9.现在可以双击裁剪打开相关工具对话框。
10.对于输入要素参数,可以单击“浏览”按钮
然后导航到输入地理数据库(C:
\ModelBuilder\ToolData\Input.gdb)。
11.选择vegtype要素类,然后单击添加。
12.对于裁剪要素参数,可单击箭头并从下拉列表中选择BufferedFC。
蓝色再循环符号
表示BufferedFC在模型中是一个变量。
添加“缓冲区”工具时,便会在模型中创建此变量。
13.对于输出要素类参数,可以单击“浏览”按钮
,导航到输出地理数据库(C:
\ModelBuilder\Scratch\Output.gdb),输入数据集名称ClippedFC,然后单击保存。
14.在裁剪工具对话框中单击确定。
Buffer工具的输出变量将作为输入自动连接(使用连接符)到Clip工具,如下图所示。
6-运行模型
各工具的所有参数均填入之后,模型便准备好运行。
步骤:
1.运行模型之前,请选择ClippedFC变量,右键单击,然后单击添加至显示选项。
设置此选项可确保在“模型构建器”中运行模型时,输出ClippedFC可添加到ArcMap中的显示画面,这样便可以快速查看运行结果。
2.在“模型构建器”菜单中单击模型>运行整个模型。
模型开始运行,输出会添加到显示中。
模型完成运行后,工具(黄色矩形)和输出变量(绿色椭圆)的周围会显示下拉阴影,表示这些工具已经运行过。
针对其他道路运行此模型
要针对其他道路(例如PlanB或PlanC要素类)运行该模型,可采用两种方法:
1.双击Buffer,然后导航至另一个要素类,或者
2.将目录窗口中的数据拖动到“模型构建器”画布中创建新数据变量,然后将此变量连接到Buffer。
遵循以下步骤可详细了解如何操作。
步骤:
1.在ArcMap菜单中,选择地理处理>地理处理选项。
a.确保选中当连接元素时,显示有效参数(如果存在多个参数)旁边的复选框。
b.单击确定。
2.在目录窗口中导航到输入地理数据库。
3.选择PlanB_Roads要素类,然后将其拖动到“模型构建器”画布上。
4.单击“连接”按钮
,然后按以下步骤操作:
a.单击PlanB_Roads变量元素。
b.单击Buffer工具元素。
此时将弹出包含该工具可用的各个参数选项的快捷菜单。
c.从列表中选择输入要素参数。
这样,PlanB_Roads变量将连接到Buffer,同时将自动断开之前连接到该工具的PlanA_Roads变量的连接。
模型元素的下拉阴影将消失,这表示尚未使用新添加的变量运行模型。
5.双击Buffer,然后从PlanB_Roads要素类中选择相应的距离字段。
6.使用模型>运行整个模型来运行模型。
模型开始运行,输出会添加到显示中。
模型完成运行后,工具和输出变量的周围会显示下拉阴影,表示这些工具已经运行过。
ArcMap内容列表中现有输出ClippedFC图层(之前针对PlanA_Roads运行模型得到的结果)将更新为PlanB_Roads的运行结果。
7-保存模型
保存是本教程的最后一步。
您将使用在使用模型构建器创建工具教程中保存的模型。
步骤:
1.单击“模型构建器”工具条上的保存工具
,然后导航到C:
\ModelBuilder。
2.模型只能保存在工具箱中。
单击导航窗口上的新建工具箱图标
。
一个使用默认名称的工具箱将添加到工作空间中。
3.将名称更改为MyTools.tbx。
4.选择MyTools.tbx,然后单击保存,从而保存使用默认名称的模型(Model)。
其他分析
如果需要使用该模型执行某些分析,可以添加“汇总统计数据”工具以便获得一个在拟建道路周围缓冲区面中