ArcGIS地理信息系统空间分析实验教程
前言
什么是空间分析? 空间分析是地理信息系统的核心与灵魂,它利用地理空间数据,通过一系列数学、统计和逻辑运算,揭示地理要素之间的空间分布模式、空间关系和空间相互作用,从而回答“在哪里?”、“是什么?”、“为什么?”以及“会怎样?”等现实世界问题。
本教程目标
- 熟悉环境:掌握ArcGIS Pro的基本界面、数据管理和地理处理工具箱的使用。
- 掌握核心:学会缓冲区分析、叠加分析、网络分析、密度分析、表面分析等经典空间分析方法。
- 解决实际问题:能够综合运用多种空间分析技术,对一个具体问题(如选址、资源评估、路径规划)进行完整的分析流程设计和实施。
- 结果表达:学会将分析结果以清晰的地图、图表和报告形式进行可视化表达。
软件与环境
- 软件:ArcGIS Pro (推荐使用最新稳定版,如2.8或更高版本)
- 扩展模块:本教程中的大部分实验仅需ArcGIS Pro核心功能,部分实验(如网络分析)需要Network Analyst扩展模块。
- 数据:教程将使用ArcGIS自带的示例数据(如
City of San Diego数据集),并会提供如何获取和使用其他数据的指导。
第一部分:基础准备
ArcGIS Pro入门与数据管理
实验目标:

- 熟悉ArcGIS Pro的工作界面(项目、目录、地图、内容、属性表等)。
- 掌握地理数据库的创建与管理。
- 学习数据导入、创建和基本属性查询。
实验步骤:
- 启动与创建项目:
- 打开ArcGIS Pro,选择“Map”模板,创建一个新的地图项目。
- 将项目保存到一个合适的文件夹中。
- 界面探索:
- 目录窗格:浏览项目中的文件夹、数据库和工具。
- 内容窗格:管理地图中的图层,控制图层的显示顺序和符号系统。
- 视图:切换数据视图和布局视图。
- 创建地理数据库:
- 在目录窗格中,右键点击项目文件夹,选择
New > File Geodatabase。 - 为其命名,例如
MyAnalysis.gdb。
- 在目录窗格中,右键点击项目文件夹,选择
- 加载数据:
- 将本地数据文件(如Shapefile、CSV文件)直接拖拽到内容窗格或地图视图。
- 使用
Catalog窗格,右键点击MyAnalysis.gdb,选择Import > Feature Class (multiple),批量导入数据。
- 数据探索与查询:
- 窗格中,右键点击一个图层(如
Parks),选择Attribute Table打开属性表。 - 在属性表中,使用
Select工具,根据属性字段(如PARK_NAME)选择特定的要素。 - 学习使用
Selection > Select By Attributes对话框,构建SQL查询表达式("PARK_TYPE" = 'Neighborhood')。
- 窗格中,右键点击一个图层(如
关键知识点:
- 地理数据库:是ArcGIS推荐的数据存储格式,能更好地管理数据关系、拓扑和属性。
- 要素类:存储同类型地理要素(如点、线、面)的集合。
- 属性查询:基于非空间数据筛选要素,是空间分析的第一步。
第二部分:核心空间分析
缓冲区分析
实验目标:
- 理解缓冲区分析的基本原理。
- 掌握使用
Analysis工具箱创建不同类型的缓冲区。
实验场景: 假设我们要评估城市医院的服务范围,找出距离医院3公里以内的居民区。

实验步骤:
- 准备数据:
- 加载
Hospitals(医院点数据)和Neighborhoods(居民区面数据)到地图中。
- 加载
- 执行缓冲区分析:
- 打开
Analysis>Tools,打开地理处理窗格。 - 搜索并打开
Buffer工具。 - 输入要素:选择
Hospitals图层。 - 输出要素类:指定输出到
MyAnalysis.gdb,命名为Hospital_3km_Buffer。 - 距离:输入
3,单位选择Kilometers。 - 溶解类型:选择
ALL,这将合并所有重叠的缓冲区区域。 - 点击
Run。
- 打开
- 结果分析:
- 地图上会生成一个新的多边形图层
Hospital_3km_Buffer。 - 叠加分析:将
Hospital_3km_Buffer与Neighborhoods图层进行相交分析。- 在地理处理窗格中,搜索并打开
Intersect工具。 - 输入要素:同时选择
Hospital_3km_Buffer和Neighborhoods。 - 输出要素类:命名为
Neighborhoods_in_3km。 - 点击
Run。
- 在地理处理窗格中,搜索并打开
- 打开
Neighborhoods_in_3km的属性表,可以看到哪些居民区位于医院服务范围内。
- 地图上会生成一个新的多边形图层
关键知识点:
- 缓冲区:围绕指定要素(点、线、面)按一定距离创建的区域。
- 溶解:合并具有相同属性或相邻的缓冲区,避免重叠区域的出现。
- 叠加分析:将两个或多个图层进行空间组合,产生新的几何和属性信息。
Intersect(相交)是其中最常用的工具之一。
叠加分析
实验目标:
- 掌握
Union(合并)、Identity(标识)、Erase(擦除)等叠加分析工具的使用。 - 理解不同叠加分析工具的适用场景。
实验场景: 我们有一张土地利用图和一张土壤类型图,现在需要找出“林地”并且是“肥沃土壤”的区域。

实验步骤:
- 准备数据:
- 加载
Land_Use(土地利用面数据)和Soil_Type(土壤类型面数据)。
- 加载
- 执行Union分析:
- 在地理处理窗格中,打开
Union工具。 - 输入要素:同时选择
Land_Use和Soil_Type。 - 输出要素类:命名为
Land_Use_Soil_Union。 - 点击
Run。 - 分析结果:
Union会生成一个新图层,该图层是两个原始图层的几何和属性的完整叠加,所有区域都被分割,并保留了两个图层的所有属性字段,这让我们可以同时看到每个位置的土地利用和土壤类型。
- 在地理处理窗格中,打开
- 执行Identity分析:
- 在地理处理窗格中,打开
Identity工具。 - 输入要素:选择
Land_Use。 - 标识要素:选择
Soil_Type。 - 输出要素类:命名为
Land_Use_Identity。 - 点击
Run。 - 分析结果:
Identity会将Land_Use图层作为基准,只保留与Soil_Type相交的部分,并赋予Soil_Type的属性,不相交的部分则保留Land_Use的属性,但土壤类型字段为空。
- 在地理处理窗格中,打开
- 执行Erase分析:
- 在地理处理窗格中,打开
Erase工具。 - 输入要素:选择
Land_Use。 - 擦除要素:选择
Soil_Type。 - 输出要素类:命名为
Land_Use_Erased。 - 点击
Run。 - 分析结果:
Erase会从Land_Use图层中,挖掉与Soil_Type相交的区域,得到剩下的部分。
- 在地理处理窗格中,打开
关键知识点:
- Union:合并所有输入要素,保留所有几何和属性。
- Identity:用第二个图层“切割”第一个图层,并赋予第二个图层的属性。
- Erase:从一个图层中“挖掉”与另一个图层相交的部分。
网络分析
实验目标:
- 理解网络数据集的概念。
- 掌握使用Network Analyst扩展模块进行路径查找和服务区分析。
实验场景: 为一位游客规划从当前位置到景点的最短驾车路线,并找出从某个景点出发,15分钟车程内可以到达的区域。
实验步骤:
- 准备数据
