空间分析是什么?GIS核心功能实操详解(附:练习数据)
《空间分析是什么?GIS核心功能实操详解(附:练习数据)》这篇教程面向刚接触 GIS 的同学和初级 GIS 工程师,目标很明确:用一个可复现的小案例,把空间分析是什么、常用空间分析工具怎么选、结果如何检查讲清楚。
引言:空间分析是什么,为什么它是 GIS 的核心功能
空间分析是指利用地理位置、空间关系和属性信息,对地理对象进行计算、判断、统计和推理的过程。简单说,GIS 不只是“看地图”,更重要的是回答“哪里合适、哪里受影响、哪些对象有关联、结果是否可信”。
例如:
- 学校周边 500 米内有多少个小区?
- 哪些建筑落在洪水淹没范围内?
- 一条道路服务范围能覆盖哪些村庄?
- 哪个区域更适合建设垃圾中转站?
- 同一批数据为什么在 QGIS 和 ArcGIS Pro 中算出的面积不一样?
这些问题都属于空间分析。它依赖两个基础:一是空间数据本身,例如点、线、面、栅格;二是空间关系,例如相交、包含、距离、邻近、叠加和连通。

背景:一个练习案例理解 GIS 空间分析
为了避免只讲概念,本文使用一个典型练习场景来说明空间分析的完整过程。你可以在 QGIS 或 ArcGIS Pro 中按同样思路操作。
练习目标:判断“学校周边 500 米范围内覆盖了哪些居民小区,并统计每所学校服务范围内的小区数量”。
建议准备 3 类练习数据:
- 学校点数据:字段包含 school_id、name、type。
- 居民小区面数据:字段包含 community_id、name、population。
- 行政区面数据:用于裁剪和结果展示,字段包含 district_name。
如果你暂时没有数据,可以自己在 QGIS 中新建临时图层绘制几个点和面,也可以使用公开的 OpenStreetMap 数据做练习。关键不在于数据多复杂,而在于理解空间分析的输入、处理和输出关系。
原理:空间分析到底在计算什么
空间分析并不是神秘功能,它本质上是在计算地理对象之间的空间关系。常见关系包括:
- 距离关系:某个点距离某条道路多远,某个小区是否在学校 500 米范围内。
- 拓扑关系:点是否落在面内,两个面是否相交,一个面是否包含另一个面。
- 叠加关系:多个图层相互覆盖后,属性如何合并,面积如何拆分。
- 邻近关系:最近的医院、最近的道路、最近的消防站在哪里。
- 统计关系:某个行政区内有多少点、多少面积、多少人口。
在实际 GIS 软件中,这些关系会对应到具体工具,例如缓冲区、相交、裁剪、空间连接、最近邻分析、栅格重分类和叠加分析。
理解空间分析时,尤其要注意一个核心前提:空间分析结果高度依赖坐标系、数据质量和工具参数。同一个案例,如果坐标系不适合、几何有错误、参数选择不对,结果可能看起来能跑通,但实际是错的。
步骤:用 QGIS 完成一次空间分析实操
步骤 1:加载练习数据
打开 QGIS,新建工程,然后加载学校点、小区面和行政区面数据。常见格式可以是 Shapefile、GeoPackage、GeoJSON 或 FileGDB。
- 点击“图层”中的“添加矢量图层”。
- 分别加载学校点、小区面、行政区面。
- 检查图层是否正确显示在地图窗口中。
- 打开属性表,确认关键字段是否存在。
如果图层加载后位置明显偏移,先不要继续分析。位置偏移通常说明坐标系定义错误、坐标系不一致,或者经纬度坐标被错误当作投影坐标使用。
步骤 2:统一坐标系
空间分析中最常见的错误之一,是直接在经纬度坐标系下计算距离和面积。经纬度单位是度,不是米,因此做 500 米缓冲区、面积统计时容易出错。
建议将数据统一转换到适合本地的投影坐标系,例如:
- 中国地区常见工程数据可使用 CGCS2000 高斯克吕格投影带。
- 城市级练习可选择当地常用投影坐标系。
- 全球小比例尺分析可谨慎使用 Web Mercator,但不建议用于精确面积和距离计算。
在 QGIS 中可以使用“导出”功能将图层另存为新的投影坐标系,也可以使用“矢量通用工具”中的“重投影图层”。
步骤 3:对学校点创建 500 米缓冲区
缓冲区分析是最常见的空间分析之一,用来回答“某对象一定距离范围内有什么”。本例中,我们要创建学校周边 500 米服务范围。
- 打开“处理工具箱”。
- 搜索“缓冲区”。
- 输入图层选择学校点数据。
- 距离填写 500。
- 线段数可设置为 16 或 24,表示圆弧平滑程度。
- 如果需要每所学校独立统计,不要勾选“融合结果”。
- 运行工具,得到学校 500 米缓冲区图层。
这里的关键参数是距离单位。只有在投影坐标系单位为米时,500 才代表 500 米。如果图层仍是经纬度坐标系,500 可能会被理解为 500 度,结果完全不可用。
步骤 4:用空间连接统计小区数量
接下来需要判断哪些小区落在学校缓冲区内。常用方法有两种:空间连接和相交分析。
如果你的目标是“每个学校缓冲区内有多少小区”,推荐使用空间连接或按位置连接属性。
- 在处理工具箱中搜索“按位置连接属性”。
- 目标图层选择学校缓冲区。
- 连接图层选择居民小区面。
- 几何关系选择“相交”或“包含”。
- 如果只要统计数量,选择汇总统计。
- 输出结果图层,打开属性表检查统计字段。
如果小区只要与缓冲区有一点接触就算覆盖,可以选择“相交”。如果要求小区完全位于服务范围内,应选择“包含”或进一步计算小区在缓冲区内的面积比例。
步骤 5:用相交分析得到覆盖小区明细
如果你不只关心数量,还想知道具体有哪些小区被覆盖,可以使用相交分析。
- 搜索“相交”。
- 输入图层选择学校缓冲区。
- 叠加图层选择居民小区面。
- 运行后得到缓冲区与小区的交集图层。
- 打开属性表,查看 school_id、school_name、community_id、community_name 等字段。
相交分析的结果通常会把面切碎。比如一个小区跨越两个学校缓冲区,结果中可能出现多条记录。这不是错误,而是叠加分析的正常表现。
步骤 6:检查结果并制图输出
空间分析完成后,不要急着导出成果。至少做 4 项检查:
- 检查学校缓冲区半径是否合理,是否确实为 500 米。
- 检查被统计的小区是否在地图上确实与缓冲区相交。
- 检查属性表中统计数量是否存在空值或异常值。
- 检查是否有重复记录,尤其是一对多关系造成的重复。
确认结果后,可以设置符号样式:学校点使用醒目标记,缓冲区使用半透明填充,小区面按是否覆盖分类显示。最后在布局中添加图名、比例尺、图例和数据来源说明。
常见坑:空间分析结果不对通常不是工具坏了
常见坑 1:坐标系没有统一
空间分析最常见问题是坐标系。数据看起来能叠上,并不代表可以直接计算距离和面积。尤其是经纬度坐标系下做缓冲区,结果常常不可信。
处理建议:
- 分析前查看每个图层的坐标参考系统。
- 距离和面积分析优先使用投影坐标系。
- 不要只依赖工程坐标系显示,必要时导出为统一坐标系的新图层。
常见坑 2:几何错误导致分析失败
小区面、行政区面如果存在自相交、空几何、重复节点等问题,叠加分析可能失败,或输出结果缺失。
处理建议:
- 在 QGIS 中使用“检查几何有效性”。
- 发现错误后使用“修复几何”。
- 修复后重新运行相交、裁剪或空间连接。
常见坑 3:相交、包含、落在内部混用
空间关系选择不当,会直接改变统计结果。例如一个小区边界刚好碰到缓冲区,如果选择“相交”会被统计,如果选择“完全包含”则不会被统计。
处理建议:
- 只要接触就算影响:使用相交。
- 必须完全位于范围内:使用包含。
- 点落在面内部:使用在内部或包含。
- 线穿过面:通常使用相交。
常见坑 4:重复统计一对多结果
空间分析经常产生一对多关系。一个学校缓冲区可能覆盖多个小区,一个小区也可能被多个学校缓冲区覆盖。如果直接求和,可能出现重复统计。
处理建议:
- 明确统计口径:按学校统计、按小区统计,还是按行政区统计。
- 使用唯一 ID 字段识别重复记录。
- 必要时按 school_id 和 community_id 去重。
- 涉及人口统计时,不能简单把完整小区人口重复加到多个缓冲区中。
方法比较:常用 GIS 空间分析工具怎么选
| 分析方法 | 适合解决的问题 | 典型输入 | 注意事项 |
|---|---|---|---|
| 缓冲区分析 | 一定距离范围内有什么 | 点、线、面 | 必须注意坐标系和距离单位 |
| 裁剪分析 | 只保留研究区内的数据 | 任意矢量图层与研究区面 | 适合数据预处理,不负责属性统计 |
| 相交分析 | 找出两个图层重叠部分 | 点线面均可 | 面数据会被切分,属性会合并 |
| 空间连接 | 按空间关系把属性挂接到目标图层 | 目标图层与连接图层 | 适合统计数量、求和、平均值 |
| 最近邻分析 | 寻找最近的设施或对象 | 点到点、点到线、点到面 | 需要确认距离是直线距离还是网络距离 |
| 栅格叠加分析 | 适宜性评价、风险评价 | 多个栅格因子 | 需要统一分辨率、范围和权重 |
对于初学者,可以先掌握缓冲区、裁剪、相交、空间连接这 4 类工具。它们已经能覆盖大量日常 GIS 空间分析任务。
检查清单:做空间分析前后都要核对
分析前检查
- 数据是否能正确叠加显示。
- 每个图层是否有正确坐标系。
- 用于距离和面积计算的数据是否为投影坐标系。
- 图层是否存在几何错误。
- 关键字段是否存在唯一 ID。
- 研究区范围是否明确。
- 分析单位是米、平方千米、亩,还是其他单位。
分析中检查
- 缓冲区距离参数是否正确。
- 是否误勾选了融合缓冲区。
- 空间关系选择是否符合业务口径。
- 输出图层是否覆盖预期范围。
- 字段是否因叠加产生重名或被截断。
分析后检查
- 随机抽查几条记录,在地图上验证空间关系。
- 检查统计结果是否存在明显异常。
- 检查是否有重复统计。
- 检查面积、距离单位是否正确。
- 保存工程文件、输出图层和处理参数,便于复现。
FAQ:关于空间分析是什么的常见问题
1. 空间分析是什么,和普通属性查询有什么区别?
普通属性查询主要根据字段值筛选数据,例如查找人口大于 5000 的小区。空间分析会使用位置和空间关系,例如查找学校 500 米范围内的小区。前者关注表格属性,后者关注地理位置与空间关系。
2. 学 GIS 一定要会空间分析吗?
是的。空间分析是 GIS 的核心能力之一。制图解决“怎么表达”,数据管理解决“怎么存”,空间分析解决“怎么判断和决策”。无论是自然资源、城市规划、交通、环保还是 WebGIS 项目,都会用到空间分析。
3. 为什么我做缓冲区分析结果特别大或特别小?
最常见原因是坐标系和单位不对。如果图层是经纬度坐标系,单位是度,不适合直接填写 500 当作 500 米。应先把数据转换到合适的投影坐标系,再做缓冲区分析。
4. 空间连接和相交分析有什么区别?
空间连接更偏向把一个图层的属性按空间关系连接到另一个图层,适合统计和挂接属性。相交分析会生成两个图层重叠部分的新几何,适合提取交集范围和明细。简单理解:空间连接偏“统计表”,相交分析偏“生成新图形”。
5. QGIS 和 ArcGIS Pro 做空间分析结果会一样吗?
在输入数据、坐标系、几何修复状态、空间关系和参数完全一致时,结果通常应接近或一致。但不同软件的几何引擎、默认容差、字段处理和投影转换方式可能不同。正式项目中应记录软件版本、工具参数和数据处理过程。
6. 空间分析练习数据需要很复杂吗?
不需要。初学阶段建议使用简单数据,例如几个学校点、几个小区面和一个行政区面。先把缓冲区、相交、空间连接、结果检查流程跑通,再换成真实项目数据。
7. 面积统计为什么容易出错?
面积统计容易受坐标系、几何错误和叠加方式影响。如果使用经纬度坐标系直接算面积,结果通常不适合作为工程统计值。建议使用适合研究区的等面积投影或本地常用投影,并在计算后核对单位。
结论:理解空间分析,关键是把“关系”和“口径”说清楚
空间分析是什么?它不是单个按钮,也不是某一种软件功能,而是一套利用空间位置、空间关系和属性信息解决实际问题的方法。掌握空间分析,最重要的是明确输入数据、分析目标、空间关系、统计口径和结果检查方法。
对于初学者,建议从 4 个工具开始练习:缓冲区、裁剪、相交和空间连接。每次操作后都检查坐标系、单位、几何有效性和重复统计问题。只要这些基础环节稳定,后续学习网络分析、栅格叠加、适宜性评价和自动化空间分析都会更容易。
Dr.GIS 建议:不要把空间分析当成“点一下工具就结束”。真正可靠的 GIS 分析,一定包含数据检查、参数解释、结果验证和统计口径说明。