27.1.5. 内插
27.1.5.1. 热图(核密度估计)
使用核密度估计创建输入点向量层的密度(热图)栅格。
密度是基于位置中的点数计算的,聚集点的数量越多,值越大。热图使您可以轻松识别 hotspots 和点的聚类。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Point layer |
|
[vector: point] |
要用于热图的点向量层 |
Radius |
|
[number] 默认:100.0 |
热图搜索半径(或内核带宽),以贴图为单位。半径指定一个点周围的距离,在该距离处可以感觉到该点的影响。较大的值会产生更好的平滑效果,但较小的值可能会显示更精细的细节和点密度的变化。 |
Output raster size |
|
[number] 默认:0.1 |
以层为单位的输出栅格层的像素大小。 在图形用户界面中,可以通过行数指定大小 ( |
Radius from field 任选 |
|
[tablefield: numeric] |
从输入图层中的属性字段设置每个要素的搜索半径。 |
Weight from field 任选 |
|
[tablefield: numeric] |
允许按属性字段对输入要素进行加权。这可用于增加某些特征对结果热图的影响。 |
Kernel shape |
|
[enumeration] 默认: 0 |
控制点的影响随着与该点的距离的增加而减小的速率。不同的核以不同的速度衰减,所以三权重核赋予距离点较近的特征更大的权重,而不是Epanechnikov核。因此,三权重会产生“更尖锐”的热点,而Epanechnikov会产生“更平滑”的热点。 有许多形状可供选择(请参阅 Wikipedia page 了解更多信息):
|
Decay ratio (Triangular kernels only) 任选 |
|
[number] 默认: 0.0 |
可以与三角形核一起使用,以进一步控制来自特征的热量如何随着距离该特征的距离而减少。
|
Output value scaling |
|
[enumeration] 默认: Raw |
允许更改输出热图栅格的值。以下选项之一:
|
Heatmap |
|
[raster] 默认: |
使用核密度值指定输出栅格层。以下选项之一:
|
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Heatmap |
|
[raster] |
具有核密度值的栅格图层 |
示例:创建热图
对于下面的示例,我们将使用 airports
QGIS示例数据集中的矢量点图层(请参见 下载样本数据 )。另一个制作热图的优秀QGIS教程可在以下位置找到 http://qgistutorials.com 。
In 图 27.2, the airports of Alaska are shown.

图 27.2 阿拉斯加机场
打开 Heatmap (Kernel Density Estimation) QGIS中的算法 Interpolation 群组
In the Point layer
field, select
airports
from the list of point layers loaded in the current project.更改 Radius 至
1000000
米。更改 Pixel size X 至
1000
。这个 Pixel size Y , Rows 和 Columns 将自动更新。Click on Run to create and load the airports heatmap (see 图 27.4).

图 27.3 热图对话框
QGIS将生成热图并将其添加到您的地图窗口。默认情况下,热图以灰度级着色,较亮的区域显示机场密度较高。热图现在可以在QGIS中设置样式以改善其外观。

图 27.4 加载后的热图看起来像灰色表面
打开的属性对话框
heatmap_airports
层(选择该层heatmap_airports
,用鼠标右键打开上下文菜单,然后选择 Properties )。选择 Symbology 标签。
单击 Classify 纽扣。
新闻发布会 OK 来更新层。
The final result is shown in 图 27.5.

图 27.5 阿拉斯加机场的风格化热图
Python代码
Algorithm ID : qgis:heatmapkerneldensityestimation
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.5.2. IDW插值法
生成点向量层的反距离加权(IDW)插值法。
在插补过程中会对采样点进行加权,以使一个点相对于另一个点的影响随着距离要创建的未知点的距离而减小。
IDW插值法也有一些缺点:如果样本数据点分布不均匀,则会降低插补结果的质量。
此外,内插曲面中的最大值和最小值只能出现在样本数据点。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer(s) |
|
[string] |
用于内插的矢量图层(S)和字段(S),以字符串形式编码(请参阅 提供以下图形用户界面元素来组成插补数据字符串:
对于每个添加的层-域组合,可以选择一种类型:
在字符串中,层字段元素由 |
Distance coefficient P |
|
[number] 默认:2.0 |
设置插补的距离系数。最小值:0.0%,最大值:100.0。 |
Extent (xmin, xmax, ymin, ymax) |
|
[extent] |
输出栅格层的范围。 可用的方法包括:
|
Output raster size |
|
[number] 默认:0.1 |
以层为单位的输出栅格层的像素大小。 在图形用户界面中,可以通过行数指定大小 ( |
Interpolated |
|
[raster] 默认: |
插值值的栅格层。以下选项之一:
|
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Interpolated |
|
[raster] |
插值值的栅格图层 |
Python代码
Algorithm ID : qgis:idwinterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.5.3. 线密度
为每个栅格单元计算圆形邻域内的线状要素的密度度量。这一测量是通过将所有相交于圆形邻域的线段相加,并将该总和除以该邻域的面积来获得的。可以将加权系数应用于线段。

图 27.6 线密度示例。输入层来源:Roads Overijssel--荷兰(OSM)。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input line layer |
|
[vector: any] |
包含线要素的输入矢量图层 |
Weight field |
|
[number] |
包含要在计算过程中使用的权重系数的图层字段 |
Search Radius |
|
[number] 默认:10 |
圆形邻域的半径。可以在此处指定单位。 |
Pixel size |
|
[number] 默认:10 |
以层为单位的输出栅格层的像素大小。该栅格具有正方形像素。 |
Line density raster |
|
[raster] 默认: |
作为栅格层的输出。以下选项之一:
|
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Line density raster |
|
[raster] |
输出线密度栅格层。 |
Python代码
Algorithm ID : native:linedensity
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.5.4. 三角网内插
生成点向量层的不规则三角网(TIN)内插。
使用三角网方法,可以创建由最近邻近点的三角形组成的曲面。为此,将围绕选定采样点创建外接圆,并将它们的交点连接到不重叠且尽可能紧凑的三角形网络。生成的曲面并不光滑。
该算法创建内插值的栅格层和具有三角剖分边界的矢量线层。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer(s) |
|
[string] |
用于内插的矢量图层(S)和字段(S),以字符串形式编码(请参阅 提供以下图形用户界面元素来组成插补数据字符串:
对于每个添加的层-域组合,可以选择一种类型:
在字符串中,层字段元素由 |
Interpolation method |
|
[enumeration] 默认:0 |
设置要使用的插补方法。以下选项之一:
|
Extent (xmin, xmax, ymin, ymax) |
|
[extent] |
输出栅格层的范围。 可用的方法包括:
|
Output raster size |
|
[number] 默认:0.1 |
以层为单位的输出栅格层的像素大小。 在图形用户界面中,可以通过行数指定大小 ( |
Interpolated |
|
[raster] 默认: |
将三角网内插输出为栅格层。以下选项之一:
|
Triangulation |
|
[vector: line] 默认: |
将TIN输出为矢量层。以下选项之一:
还可以在此处更改文件编码。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Interpolated |
|
[raster] |
作为栅格图层的输出TIN插值法 |
Triangulation |
|
[vector: line] |
将TIN输出为矢量层。 |
Python代码
Algorithm ID : qgis:tininterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。