ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

QGIS几何处理实战:质心、提取、简化与泰森多边形应用指南

2026/8/9 11:43:18 拓冰建站 浏览量
QGIS几何处理实战:质心、提取、简化与泰森多边形应用指南 在 GIS 数据处理与分析中我们经常需要对矢量数据进行一系列几何操作以提取信息、简化数据或进行空间分析。无论是处理行政区划、道路网络还是分析点状设施的分布掌握核心的几何处理工具都是必备技能。本文将围绕 QGIS 中几个高频且实用的几何处理功能——质心计算、要素提取、几何简化以及泰森多边形Voronoi 图的生成进行系统性讲解与实战演练。如果你正在处理空间数据需要从复杂面状数据中提取中心点、从大量数据中筛选特定要素、对高精度数据进行简化以提升处理效率或者需要分析点状要素的服务范围与邻近关系那么本文的内容将为你提供一套完整的操作指南。我们将从概念入手逐步深入到每个工具的参数详解与实战案例确保你不仅能“照着做”更能理解“为什么这么做”。1. 核心概念与工具背景在深入操作之前我们有必要理解这几个功能在 GIS 分析中的角色和意义。质心 (Centroid)对于一个面状或线状几何图形其质心可以理解为该图形的几何中心或“平衡点”。在 QGIS 中计算质心通常是将面要素转换为点要素的过程。这常用于将行政区的面数据转换为代表其位置的点数据用于后续的点分析如设施选址、密度分析或制图标注。提取 (Extract)这是一个广义的操作指从现有的数据集中根据特定条件空间关系或属性条件筛选出部分要素形成新的数据集。在 QGIS 中这可以通过“按位置选择”、“按属性选择”并结合“将所选要素另存为”来实现也有专门的“提取”工具如“按范围提取”。它用于数据清洗、分区分析和样本选取。简化 (Simplify)矢量数据尤其是边界数据通常包含大量顶点以保持高精度。但在小比例尺地图显示或需要快速进行空间计算时过多的细节会成为负担。简化工具通过减少顶点数量来平滑几何形状在可接受的精度损失下显著减小数据量提升渲染和计算性能。关键在于平衡简化程度与形状保真度。泰森多边形 (Thiessen Polygon / Voronoi Diagram)这是一种重要的空间分割方法。给定一组离散点泰森多边形将平面划分为多个区域每个区域包含一个点且区域内任意位置到该点的距离都比到其他点更近。这广泛应用于服务范围分析如基站覆盖区、降雨量估算由雨量站生成、竞争商圈划分等领域。在 QGIS 中我们可以基于点图层快速生成其对应的泰森多边形。理解这些概念后我们将进入实战环节。请注意本文操作基于 QGIS 3.28 版本但核心逻辑在 3.x 系列中通用。部分工具位于“处理工具箱”中你可以通过CtrlAltT或菜单栏的“处理”-“工具箱”来打开它。2. 环境准备与示例数据为了进行连贯的演示我们需要准备一份示例数据。你可以使用自己的数据也可以按照以下步骤创建一份简单的数据。操作系统: Windows 10/11, macOS 或 Linux 均可。QGIS 版本: 3.28.0 “Firenze” 或更高版本。确保已安装。示例数据创建: 我们将创建一个包含两个图层的项目一个面图层 (regions): 模拟几个行政区。一个点图层 (facilities): 模拟设施点部分位于面内部分位于面外。打开 QGIS创建新项目。我们可以通过“图层”-“创建图层”-“新建临时图层”来快速创建。首先创建面图层点击上述菜单选择“多边形”几何类型命名为regions坐标系选择EPSG:4326(WGS 84)。点击“添加多边形要素”按钮在地图画布上随意绘制3-4个不规则的多边形面。在属性表中为每个面添加一个name字段如“区域A”、“区域B”。接着创建点图层同样方式新建一个“点”类型的临时图层命名为facilities坐标系保持一致。添加大约10个点确保一些点落在刚才创建的面内一些落在面外。在属性表中添加fid和type字段如type可以是“医院”、“学校”。现在我们有了用于演示的基础数据。请保存你的项目。3. 质心计算从面到点的转换质心计算是最常见的操作之一。我们将把regions面图层转换为代表其几何中心的点图层。3.1 使用“质心”工具QGIS 提供了专门的“质心”工具。打开“处理工具箱”CtrlAltT。在搜索框输入“质心”找到并双击“矢量几何 - 质心”工具。在弹出窗口中输入图层: 选择regions。质心: 保持默认这将创建一个新的临时图层。可选参数:全部部件质心: 如果一个要素由多个不相连的部分MultiPolygon组成勾选此项将为每个部分都生成一个质心。否则只生成一个总的质心。根据你的数据情况决定。点击“运行”。处理完成后画布上会新增一个点图层通常命名为“质心”。3.2 验证与属性传递新生成的质心图层只包含基本的几何信息。通常我们希望保留原始面图层的属性如name。检查属性表打开“质心”图层的属性表你会发现它可能没有name字段。这是因为默认的“质心”工具不传递属性。传递属性的方法使用“矢量几何 - 多边形部件到点”工具。这个工具在将多边形转换为点的同时会保留所有属性字段。在工具箱搜索“多边形部件到点”。选择regions作为输入图层。运行后生成的新点图层将完整包含regions图层的所有属性。3.3 应用场景与注意事项应用制图时用于放置区域标签点作为点输入进行空间插值或热点分析计算区域间的距离通过质心点。注意对于形状非常不规则如新月形的面几何质心可能落在面要素之外。如果业务上要求中心点必须在面内应考虑使用“内点”Point on Surface工具该工具能保证生成的点位于面要素内部。4. 要素提取按空间与属性条件筛选提取操作的核心是定义筛选条件。我们将演示两种最常用的提取方式。4.1 按属性提取假设我们只想提取facilities图层中type为“医院”的点。打开facilities图层的属性表。点击工具栏上的“按表达式选择要素”按钮。在表达式对话框中构建表达式type 医院注意字段名用双引号字符串值用单引号。点击“选择要素”符合条件的要素会高亮显示。右键点击facilities图层 - “导出” - “将所选要素另存为...”。选择格式如 GeoPackage、Shapefile指定保存路径和文件名如hospitals点击“确定”。这样就得到了一个只包含医院的新图层。4.2 按位置提取空间查询假设我们想提取位于regions面图层内的所有设施点。打开“处理工具箱”搜索“按位置提取”。找到并双击“矢量选择 - 按位置提取”工具。配置参数提取自: 选择facilities要从中提取的图层。其中要素位于: 选择regions作为空间过滤条件的图层。几何谓词: 选择“相交”intersect。这意味着只要点和面有接触点在面内或边上就会被选中。你也可以选择“之内”within这要求点必须严格在面内部。匹配条件: 通常选择“创建临时选区”或“添加到当前选区”。点击“运行”facilities图层中位于面内的点会被选中。同样使用“将所选要素另存为...”功能导出为新图层。4.3 使用“按范围裁剪”工具这是一个更直接的提取工具常用于按矩形或多边形范围提取数据。在工具箱搜索“按范围裁剪”。选择“矢量叠加 - 按范围裁剪”。参数设置输入图层:facilities。范围: 你可以手动输入坐标更常用的是点击右侧下拉箭头选择“使用画布中图层的范围”或“使用图层范围”然后选择regions图层。这样就会以regions图层的整体外接矩形作为裁剪范围。裁剪后选择“创建临时图层”。运行后会得到一个新的点图层其中只包含落在指定矩形范围内的点。注意这个工具是按矩形范围裁剪不是按面的精确形状。5. 几何简化平衡精度与性能当regions图层边界非常复杂时我们可能需要简化它。QGIS 提供了多种简化算法。5.1 使用“简化”工具打开“处理工具箱”搜索“简化”。找到“矢量几何 - 简化”工具。关键参数配置输入图层:regions。简化方法距离容差 (Douglas-Peucker): 最常用。它移除对整体形状贡献不大的顶点。需要一个“容差”参数单位与图层坐标单位一致如度、米。值越大简化越剧烈。简化平滑 (Visvalingam-Whyatt): 通过消除面积贡献最小的顶点来平滑线条有时能产生更自然的结果。容差: 这是最重要的参数。例如对于经纬度数据单位是度0.001度大约相当于100米。你需要根据数据精度和应用场景反复试验。建议先使用一个较小的值在预览中观察效果。简化后的几何图形: 选择输出方式。5.2 简化效果对比与参数选择为了直观感受简化效果我们可以这样做将原始regions图层设置为半透明填充并设置一个粗边框。运行“简化”工具容差设为0.01生成新图层regions_simplified_0.01。再运行一次容差设为0.05生成regions_simplified_0.05。将两个简化后的图层叠加上去使用不同的颜色如红色、蓝色细线边框。你会发现容差为0.05的图层边界更平滑顶点更少但可能丢失了一些重要的弯折细节。而容差为0.01的图层则更接近原始形状。如何选择容差制图用途: 考虑出图比例尺。在小比例尺地图上微小细节不可见可以使用较大的容差。分析用途: 如果简化后的几何图形将用于面积计算、叠加分析等需要谨慎评估简化带来的几何变形是否会影响分析结果。通常使用较小的容差。性能优化: 如果数据用于网络地图服务如 WMS/WFS简化可以大幅减少数据传输量和渲染时间。5.3 简化拓扑一致性一个高级选项是“保持拓扑一致性”。如果勾选QGIS 会尝试在简化过程中确保相邻多边形之间的边界在简化后仍然重合避免产生缝隙或重叠。这在处理行政区划等数据时非常重要。但勾选后处理速度会变慢。6. 泰森多边形生成从点到面的空间划分这是分析点数据空间影响力的强大工具。我们将基于facilities点图层生成泰森多边形。6.1 使用“泰森多边形”工具确保facilities图层已加载并处于激活状态。打开“处理工具箱”搜索“泰森”。找到并双击“矢量几何 - 泰森多边形”工具。参数配置相对简单输入图层: 选择facilities。缓冲区域范围 (%): 这是一个关键参数。泰森多边形在理论上会无限延伸。此参数定义了在点集的外围增加一个多大比例的缓冲区以生成一个闭合的多边形范围。通常设置为10到50之间。你可以理解为在点集的最外围画一个更大的框在这个框内生成泰森多边形。如果设置过小边缘的多边形可能会不完整。泰森多边形: 选择输出路径和格式。6.2 理解输出结果与属性运行工具后你会得到一个新的面图层。每个面泰森多边形都对应一个原始的点。打开属性表你会看到每个面要素都有一个id字段或其他标识并且工具会自动添加一个input_id字段或类似名称这个字段的值对应着原始facilities图层中点的fid或行号。这是泰森多边形与其生成点之间的关键链接。你可以通过这个链接将点的属性如type连接到泰森多边形上。使用“连接属性表”工具在属性表工具栏或“处理工具箱”中搜索“连接”基于input_id和fid进行连接。6.3 泰森多边形的应用与局限应用示例设施服务区划分: 假设facilities是便利店生成的泰森多边形可以近似认为是每个便利店的理论服务范围假设消费者选择最近便利店。气象数据分析: 将雨量站生成泰森多边形每个多边形的降水量用其内部站点的数据代表可用于估算区域平均降水量。竞争分析: 分析商业网点之间的竞争关系多边形边界可以视为市场势力的分界线。局限性均质平面假设: 泰森多边形假设空间是均质的距离是欧氏距离。它没有考虑地形、交通网络、河流等障碍物。权重未考虑: 标准泰森多边形没有考虑点的大小、容量差异如大型超市和小卖部应有不同影响力。对于这些复杂情况需要考虑使用网络分析、加权泰森多边形或引力模型等更高级的方法。7. 综合实战完整工作流演示现在我们将上述工具串联起来完成一个模拟的完整分析流程“分析各区域内主要设施的服务范围”。目标对于每个行政区regions找出其内部的设施点并基于这些内部点生成泰森多边形作为该区域内设施的理论服务范围。步骤:提取区域内的设施点:使用“按位置提取”工具从facilities中提取与regions相交的点。将结果保存为新图层facilities_in_regions。可选为了更精确可以使用“相交”工具但这里按位置选择已足够。为区域内设施生成泰森多边形:以facilities_in_regions为输入运行“泰森多边形”工具。缓冲范围设置为20。生成图层voronoi_in_regions。将泰森多边形裁剪到各自区域内:目前voronoi_in_regions是多边形覆盖了整个分析范围。我们需要把它裁剪到原始的regions面内。使用“相交”工具处理工具箱 - 矢量叠加 - 相交。输入图层:voronoi_in_regions。叠加图层:regions。运行后得到新图层voronoi_clipped_by_region。这个图层中的每个泰森多边形部分都被严格限制在了其对应的行政区域内。计算每个区域的服务范围面积:打开voronoi_clipped_by_region图层的属性表。启用编辑模式。打开字段计算器添加一个新字段如area_km2表达式使用$area / 1000000如果坐标是投影坐标系且单位为米则除以1000000得到平方公里。如果数据是地理坐标系度请先使用“重投影”工具投影到合适的投影坐标系如 UTM再进行面积计算因为地理坐标下的$area不准确。现在你就得到了每个设施点在所属行政区内实际的理论服务面积。通过这个流程你将原始数据转化为具有明确空间分析意义的成果数据。你可以进一步用区域名称 (name) 来符号化voronoi_clipped_by_region图层或者将面积数据汇总到regions图层上。8. 常见问题与排查思路在使用这些几何处理工具时你可能会遇到一些典型问题。问题现象可能原因解决思路质心工具运行后属性丢失使用了不保留属性的“质心”工具。改用“多边形部件到点”工具或使用“连接属性表”将原属性关联回来。按位置提取没选中任何要素1. 两个图层坐标系不一致。2. 几何谓词选择不当如用“之内”但点恰好在边界上。3. 图层本身无空间交集。1. 使用“重投影”工具统一坐标系。2. 尝试使用“相交”谓词。3. 检查数据范围确保它们有重叠。简化后图形严重变形或消失简化容差 (tolerance) 设置过大。逐步减小容差值重新尝试。先尝试一个极小的值如0.0001观察效果后再调整。泰森多边形边缘出现巨大或不规则多边形“缓冲区域范围 (%)” 参数设置过小导致边缘点无法形成闭合多边形。增大缓冲范围参数通常 20%-50% 是安全的起点。观察生成的多边形是否在边缘处闭合。处理工具报错“无效几何”输入数据中存在几何错误如自相交、重复节点等。1. 运行“矢量几何 - 修复几何”工具对输入图层进行修复。2. 使用“检查有效性”工具定位具体错误。面积/长度计算结果异常如极大或为0图层坐标系是地理坐标系度计算的是球面度而非实际距离/面积。将图层重投影到投影坐标系如 UTM 分区、Albers 等面积投影。使用“重投影”工具选择目标 CRS 的单位为米。9. 最佳实践与工程建议将几何处理集成到日常 GIS 工作流或自动化脚本中时遵循以下最佳实践可以提升效率和数据质量。数据预处理先行:在进行任何几何操作尤其是叠加分析如相交、裁剪前务必运行“修复几何”工具。无效几何是大多数空间处理失败的根本原因。确保所有参与分析的图层使用相同的、合适的投影坐标系。对于面积、长度计算和泰森多边形生成必须使用投影坐标系。WGS84 (EPSG:4326) 仅适用于存储和全球可视化不适用于分析。参数化与迭代测试:对于“简化”容差、“泰森多边形”缓冲范围这类关键参数不要凭感觉一次设定。应基于业务精度要求设计一个小的测试区域用不同的参数值运行直观对比结果选择最合适的值。将成功的参数记录在项目文档或处理模型Graphical Modeler中。维护属性关联:任何生成新几何的操作都要考虑属性信息的传递。优先使用能保留属性的工具如“多边形部件到点”。如果属性丢失确保原始数据和新数据之间有唯一的、稳定的关联键如id,fid以便后续使用“连接属性表”进行关联。利用图形建模器实现工作流自动化:对于像第7节那样的多步骤综合流程强烈建议使用 QGIS 的“图形建模器”Processing - Graphical Modeler。将每个工具拖入画布连接输入输出设置参数。模型可以保存、重复运行并分享给团队成员确保分析过程的一致性和可复现性。结果可视化与验证:处理后的结果一定要通过地图可视化进行人工检查。例如将简化前后的图层半透明叠加检查是否有重要地理特征被过度简化。对于泰森多边形检查其是否覆盖了整个研究区域边缘多边形是否完整以及每个多边形是否都正确关联到一个输入点。性能考量:处理大规模数据时如全国乡镇边界简化操作能极大提升渲染和后续分析速度。在运行“相交”、“联合”等复杂叠加分析前如果可能先用“按范围裁剪”将数据裁剪到感兴趣区域减少计算量。考虑将中间结果和最终成果保存为 GeoPackage 格式它比 Shapefile 性能更好功能更全面。掌握质心、提取、简化和泰森多边形这些核心几何操作意味着你能够更自如地驾驭矢量数据为深入的空间分析如网络分析、插值、热点探测等打下坚实基础。建议你打开 QGIS用自己手头的数据将本文的流程完整操作一遍遇到问题再回看排查思路。实践是巩固技能的最佳途径。