ArcGIS 模型构建器 完整教程
目录
- 什么是模型构建器?
- 为什么要使用模型构建器?
- 模型构建器工作界面详解
- 核心概念:数据、工具、变量与连接
- 你的第一个模型:分步实战
- 进阶技巧与最佳实践
- 模型构建器的局限性
- 总结与学习资源
什么是模型构建器?
模型构建器 是 ArcGIS Desktop(特别是 ArcMap 和 ArcGIS Pro)中的一个可视化编程环境,它允许你通过拖放地理处理工具和数据,像搭积木一样创建一个处理流程(即“模型”),然后一键运行这个流程。

它就是一个“拖拉拽”式的自动化工具,将一系列手动执行的地理处理步骤整合成一个可重复、可共享、可调试的单一操作。
为什么要使用模型构建器?
使用模型构建器可以极大地提升你的工作效率和地理处理任务的可靠性。
- 自动化重复性任务:如果你需要每天或每周对相同的数据执行相同的处理流程(如数据更新、格式转换、指标计算),模型构建器可以一键完成,省去大量重复劳动。
- 提高结果的可复现性:模型是处理流程的精确记录,无论何时何地,只要数据和模型不变,得到的结果就完全一致,避免了手动操作可能带来的疏忽和错误。
- 简化复杂流程:一个复杂的分析可能包含十几个甚至几十个步骤,模型构建器将这些步骤清晰地组织在一个画布上,逻辑关系一目了然,便于理解和沟通。
- 促进知识共享与协作:你可以将构建好的模型(
.atx文件)分享给同事,他们无需了解每个工具的详细参数,即可运行你的完整分析流程。 - 学习地理处理逻辑:对于初学者,构建模型是理解 ArcGIS 地理处理工具如何协同工作的绝佳方式。
模型构建器工作界面详解
在 ArcMap 或 ArcGIS Pro 中打开模型构建器,你会看到一个包含以下几个关键部分的窗口:
- 菜单栏:包含文件、编辑、视图、插入等菜单,用于保存、调试和管理模型。
- 工具栏:提供常用操作按钮,如运行、验证、保存、插入工具等。
- 模型画布:你的主要工作区,用于拖放和排列工具、数据以及它们之间的连接线。
- 目录窗格:浏览并添加地理处理工具、数据集(如文件夹、Shapefile、Geodatabase)和变量到模型中。
- 参数窗格:显示当前选中工具或元素的详细参数设置。
核心概念:数据、工具、变量与连接
在开始构建模型之前,必须理解以下四个核心概念:

| 概念 | 描述 | 在模型中的表现 |
|---|---|---|
| 数据 | 模型处理的输入和输出,如要素类、栅格表、文件等。 | 椭圆形 |
| 工具 | 对数据进行操作的地理处理工具,如“缓冲区”、“联合”、“栅格计算器”等。 | 矩形 |
| 连接线 | 表示数据流向和工具间依赖关系的箭头,它将输入数据连接到工具,并将工具的输出连接到下一个工具或作为最终输出。 | 带箭头的线 |
| 变量 | 用于存储固定值(如缓冲距离、输出路径)或控制模型行为的元素,它们可以是模型参数,方便用户在运行时修改。 | 平行四边形 |
一个简单的逻辑:一个输入数据(椭圆)通过一条连接线连接到一个工具(矩形),该工具处理数据后,产生一个输出数据(椭圆),这个输出又可以作为下一个工具的输入。
你的第一个模型:分步实战
我们将创建一个经典的模型:计算点状设施(如学校)的服务范围(缓冲区),并统计每个缓冲区内的人口数量。
准备工作
- 准备数据:
schools.shp:点要素图层,代表学校位置。population.tif:栅格图层,代表人口密度数据。boundary.shp:面要素图层,代表研究区边界(可选,用于裁剪)。
- 启动模型构建器:
- ArcMap:
地理处理->打开模型构建器。 - ArcGIS Pro:
分析选项卡 ->工具-> 在地理处理窗格中,点击地理处理->新建模型。
- ArcMap:
添加第一个工具(缓冲区分析)
- 在 目录 窗格中,找到
分析工具->邻域分析->缓冲区工具。 - 将
缓冲区工具拖拽到模型画布上。 - 双击画布上的
缓冲区工具,打开其参数设置窗口。 - 设置参数:
- 输入要素:点击文件夹图标,浏览并添加你的
schools.shp数据。 - 输出要素类:指定一个输出路径和文件名,
D:\GISData\school_buffers.shp。 - 缓冲区距离:输入
1000米(代表1公里服务范围)。
- 输入要素:点击文件夹图标,浏览并添加你的
- 点击 确定,你会看到模型画布上出现了
schools.shp(输入数据,椭圆)和缓冲区工具(矩形)以及它们之间的连接线,还有一个代表输出的椭圆school_buffers。
添加第二个工具(分区统计)
我们要统计每个学校缓冲区内的人口。
- 在 目录 窗格中,找到
空间分析工具->区域分析->分区统计工具。 - 将
分区统计工具拖拽到模型画布上,并放置在缓冲区工具的下方。 - 将
缓冲区工具的输出(即school_buffers椭圆)拖拽并连接到分区统计工具的 区域字段 参数上。 - 双击
分区统计工具,设置其他参数:- 输入要素区域:
school_buffers(应该已经自动填充)。 - 区域字段:
FID或OBJECTID(每个缓冲区的唯一标识符)。 - 输入栅格:点击文件夹图标,添加你的
population.tif数据。 - 输出栅格:指定一个输出路径,
D:\GISData\population_in_buffers.tif。 - 统计类型:勾选
SUM(求和)。
- 输入要素区域:
- 点击 确定,模型画布上会更新,显示新的工具和连接。
添加变量(模型参数)
为了让模型更灵活,我们不把缓冲区距离 1000 米写死,而是创建一个变量,让用户可以在运行模型时自由修改。

- 在模型画布的空白处右键,选择
插入->变量。 - 一个平行四边形会出现在画布上,双击它,命名为
Buffer_Distance。 - 在
类型下拉菜单中,选择距离。 - 在
默认值中输入1000。 - 关键一步:我们需要将这个变量连接到
缓冲区工具,将Buffer_Distance平行四边形拖拽并连接到缓冲区工具的 缓冲区距离 参数上。 - 右键点击
Buffer_Distance平行四边形,选择模型参数,它的颜色会变为黄色,表示这是一个可由用户在运行时修改的参数。
运行与保存模型
- 运行:点击工具栏上的 运行 按钮(一个带绿色对勾的三角形),模型会按顺序执行,你可以通过观察连接线上的流动动画来查看进度。
- 保存:点击 保存 按钮,将模型保存为
.atx文件(School_Analysis.atx),下次你可以直接打开这个文件,继续编辑或运行它。 - 使用:保存后,你可以在 ArcToolbox 中找到这个模型,像使用其他工具一样,通过修改
Buffer_Distance参数来运行它,而无需再次打开模型构建器。
恭喜!你已经成功创建了你的第一个地理处理模型!
进阶技巧与最佳实践
掌握了基础后,这些技巧能让你的模型更强大、更专业。
- 模型注释:为工具和数据添加注释,右键点击元素,选择
添加注释,解释该步骤的作用,提高模型的可读性。 - 条件逻辑:使用
条件判断工具(位于模型构建器工具集中)来实现if-then-else逻辑。“如果输入要素数量大于10,则执行操作A,否则执行操作B”。 - 迭代处理:使用
迭代工具(如迭代要素类、迭代字段)来对多个数据或多个字段重复执行同一个工具集,这是处理批量数据(如对文件夹中的所有Shapefile执行相同操作)的利器。 - 模型验证:点击 验证 按钮(一个带红色感叹号的三角形),ArcGIS 会检查模型是否存在逻辑错误(如数据类型不匹配、工具参数缺失),模型验证通过后,工具图标会变为正常颜色。
- 错误处理:在复杂的模型中,某个步骤可能会失败(如数据不存在),使用
Try...Except结构可以捕获错误并记录日志,而不是让整个模型崩溃。 - 使用环境设置:在模型顶部右键,选择
环境...,在这里可以统一设置工作空间、处理范围、输出坐标系等,这比在每个工具中单独设置更高效,且能保证一致性。 - 简化模型:对于复杂的模型,可以使用
子模型功能,将模型的一部分打包成一个独立的子模型,使主模型画布更清晰。
模型构建器的局限性
虽然功能强大,但模型构建器并非万能:
- 不适合复杂计算:模型构建器主要用于调用已有的地理处理工具,它本身不支持编写复杂的 Python 或 Python 脚本逻辑(如循环、函数、类定义),对于非常定制化的分析,Python 脚本 是更好的选择。
- 性能瓶颈:对于涉及海量数据或极其复杂的迭代,Python 脚本通常比模型构建器运行得更快、更稳定。
- 调试复杂性:当模型非常庞大时,追踪一个错误可能比较困难,Python 脚本有更成熟的调试工具。
模型构建器是 “将现有工具组合起来” 的最佳工具,而 Python 脚本是 “创建新工具或实现新逻辑” 的最佳工具,在实际工作中,两者常常结合使用。
总结与学习资源
模型构建器是 ArcGIS 用户必须掌握的核心技能之一,它将你从繁琐的重复劳动中解放出来,让你更专注于地理分析本身。
学习建议:
- 从简单开始:先模仿本教程的例子,尝试用自己手头的数据构建类似的模型。
- 逐步增加复杂度:尝试添加变量、条件判断或迭代功能。
- 研究现有模型:ArcToolbox 中有很多系统自带的模型,你可以打开它们,学习大师是如何设计的。
- 拥抱 Python:当你发现模型构建器无法满足你的需求时,勇敢地迈出学习 Python 脚本的第一步,你会发现,很多在模型中难以实现的功能,用 Python 几行代码就能搞定。
官方学习资源:
- ArcGIS Pro 文档 - 模型构建器:最权威、最全面的指南,包含所有官方教程和参考。
- Esri 官方教程:Esri 官网提供了大量视频和文字教程,搜索 "ModelBuilder tutorial" 即可找到。
希望这份详尽的教程能帮助你顺利入门并精通 ArcGIS 模型构建器!祝你学习愉快!
