
本文使用 GRASS GIS v.voronoi.skeleton 算法,实现多边形中心线的计算。
v.voronoi.skeleton 是 GRASS GIS 提供的一个矢量处理算法,集成在 QGIS 的 Processing 工具箱中。它主要用于为多边形创建 Voronoi 图 或计算多边形的 中心线/骨架。
算法原理解释
该算法基于 Voronoi 图 的概念。简单来说:
对于点:Voronoi 图将平面划分为多个区域,每个区域包含一个输入点,且区域内任意位置到该点的距离都比到其他输入点更近。
对于多边形:算法会先计算多边形边界的 Voronoi 图。多边形的骨架或中心线本质上就是该 Voronoi 图中位于多边形内部的那部分线段。
关键参数详解
输入图层:矢量图层(多边形)
框架的最大悬挂长度(thin):骨架细化参数,控制输出结果的关键。
-1:提取中心线。用于生成一条相对简洁、贯穿多边形主要部分的单线。
>= 0:提取骨架。该值定义了毛刺的最大允许长度。值越小,保留的骨架细节(分支)越多;值越大,骨架越简化,短分支会被修剪掉。
平滑因子(smoothness):平滑度因子。仅对输入为多边形时生效。值越小,输出的线条越平滑,但可能增加数值计算不稳定的风险。通常使用默认值即可。
输出图层:临时图层

查看官方说明
提取中心线的意义
道路网络提取
- 场景:从道路面数据(如从遥感影像分类得到)中,提取出代表道路实际通行路径的单线。
- 目的:用于制作小比例尺地图、导航路网或进行网络分析(如路径规划、连通性分析)。
河流水系中心线
- 场景:从湖泊、水库或宽阔的河道面数据中,提取代表主流方向的中心线。
- 目的:用于水文建模、水流方向分析、河流等级划分或水系地图简化。
建筑物内部结构分析
- 场景:为大型厂房、商场或综合体的平面图生成中心线。
- 目的:可用于室内路径规划、应急疏散模拟或空间格局分析。
地理要素的形态分析与简化
- 场景:分析复杂多边形(如岛屿、植被斑块、行政区划)的形态特征。
- 目的:中心线可以反映多边形的“主轴”方向,用于形状描述、模式识别或制图时的图形简化。
更多QGIS使用方法,欢迎留言或联系我们。转载须注明出处。