一、什么是核密度估计?
核密度估计(Kernel Density Estimation,简称 KDE) 是一种非参数方法,用于将离散的点要素转换为连续的密度表面。
简单来说,它不再把点看作一个孤立的坐标,而是将每个点看作一个"影响源"——每个点都向外辐射影响力,多个点的影响力相互叠加,最终在地图上呈现出连续的密度分布。
二、核心原理
1. 核函数(Kernel)
算法会在每个点的位置放置一个三维的"钟形曲线"(即核)。这个曲线的特点是:
- 中心最高:点所在位置的影响力最强;
- 向四周逐渐降低:距离点越远,影响力越弱;
- 在指定半径处变为零:超出搜索范围后不再产生影响。
2. 叠加计算
在地图上的每一个像素点,算法会计算所有覆盖该像素的核函数值的总和。换言之,每个像素的最终值 = 覆盖它的所有核函数值之和。
3. 结果生成
重叠的点越多,该位置的数值就越高,颜色就越深,从而形成所谓的"热点"区域。这正是核密度图最直观的视觉效果。
三、关键参数及其影响
1. 半径 / 带宽(Radius / Bandwidth)——最关键的参数
半径决定了核的影响范围,其选择本质上是在平滑度与细节度之间寻找平衡:
- 大半径:结果更平滑,显示宏观的趋势,但会丢失细节(过度平滑)。
- 小半径:结果更精细,能显示局部的小集群;但如果太小,地图会看起来像很多孤立的小圆点(噪声过多)。
2. 核形状(Kernel Shape)——决定影响力的衰减速度
核形状决定了热点边缘的锐利程度。常见的核形状包括:
- Quartic(四次):衰减较平缓,热点边缘较为柔和;
- Triangular(三角形):线性衰减,边缘较锐利;
- Epanechnikov:抛物线衰减,介于两者之间。
实际应用中默认的 Quartic 通常已能满足需求。
3. 像素大小(Pixel Size)——决定输出栅格的分辨率
像素越小,图像越细腻,但计算量和文件体积越大;反之亦然。
4. 权重字段(Weight Field)——为不同点赋予不同重要性
如果某些点比其他点更重要(例如:人口点,权重为人口数),可以使用此字段进行加权计算。
四、推荐工具对比
根据当前已安装的工具,建议优先使用 QGIS 原生算法,因为它集成度最高且操作简便。以下是三种可选工具:
优先级 1(首选)
- 算法名称:Heatmap (Kernel Density Estimation)
- 算法 ID:
qgis:heatmapkerneldensityestimation
- 来源:QGIS 原生
- 特点:简单快捷,直接生成栅格
优先级 2
- 算法名称:v.kernel
- 算法 ID:
grass:v.kernel.rast
- 来源:GRASS GIS
- 特点:专业地理分析,支持网络密度
优先级 3
- 算法名称:Kernel Density Estimation
- 算法 ID:
sagang:kerneldensityestimation
- 来源:SAGA Next Gen
- 特点:提供不同的数学实现方式
五、详细制作步骤
以 qgis:heatmapkerneldensityestimation 为例。
第一步:启动工具
在 "工具箱" → "插值" → 选择 热力图(核密度估计)。

第二步:配置参数
- Point layer:选择您的点矢量图层。
- Radius:设置搜索半径(单位与项目坐标系一致,如 EPSG:4326 为度,投影坐标系为米)。
- Output raster size:设置像素大小(Pixel Size X / Y)。
- Kernel shape:根据需求选择(默认 Quartic 即可)。
- Weight from field(可选):如果有权重字段则选择。
第三步:运行与可视化
- 点击 Run 生成灰度栅格图。
美化步骤
- 右键点击生成的图层 → Properties(属性);
- 选择 Symbology(符号化) 选项卡;
- 将 Render type(渲染类型) 改为 Singleband pseudocolor(单波段伪彩色);
- 选择一个颜色渐变方案(如 YlOrRd 黄-橙-红);
- 点击 Classify(分类) → OK。

六、小结
核密度估计(KDE)通过将离散点要素转化为连续密度表面,能够直观地揭示空间聚集格局。在实际操作中,半径(带宽) 是最需要反复调试的参数——它直接决定了结果是呈现宏观趋势还是局部细节。配合合适的核形状、像素大小与权重字段,可以生成既美观又具分析价值的密度热点图。
对于大多数应用场景,QGIS 原生的 Heatmap (Kernel Density Estimation) 工具足以胜任,配合单波段伪彩色渲染即可快速产出专业级的核密度可视化成果。