27.1.5. 内插

27.1.5.1. 热图(核密度估计)

使用核密度估计创建输入点向量层的密度(热图)栅格。

密度是基于位置中的点数计算的,聚集点的数量越多,值越大。热图使您可以轻松识别 hotspots 和点的聚类。

参数

标签

名字

类型

描述

Point layer

INPUT

[vector: point]

要用于热图的点向量层

Radius

RADIUS

[number]

默认:100.0

热图搜索半径(或内核带宽),以贴图为单位。半径指定一个点周围的距离,在该距离处可以感觉到该点的影响。较大的值会产生更好的平滑效果,但较小的值可能会显示更精细的细节和点密度的变化。

Output raster size

PIXEL_SIZE

[number]

默认:0.1

以层为单位的输出栅格层的像素大小。

在图形用户界面中,可以通过行数指定大小 (Number of rows )/栏目 (Number of columns ) or 像素大小( Pixel Size X / Pixel Size Y )。增加行数或列数将减小单元格大小并增加输出栅格的文件大小。中的值 RowsColumnsPixel Size XPixel Size Y 将同时更新-行数加倍将使列数增加一倍,单元格大小将减半。输出栅格的范围将保持不变(大致)。

Radius from field

任选

RADIUS_FIELD

[tablefield: numeric]

从输入图层中的属性字段设置每个要素的搜索半径。

Weight from field

任选

WEIGHT_FIELD

[tablefield: numeric]

允许按属性字段对输入要素进行加权。这可用于增加某些特征对结果热图的影响。

Kernel shape

KERNEL

[enumeration]

默认: 0

控制点的影响随着与该点的距离的增加而减小的速率。不同的核以不同的速度衰减,所以三权重核赋予距离点较近的特征更大的权重,而不是Epanechnikov核。因此,三权重会产生“更尖锐”的热点,而Epanechnikov会产生“更平滑”的热点。

有许多形状可供选择(请参阅 Wikipedia page 了解更多信息):

  • 0-四次

  • 1-三角形

  • 2-统一

  • 3-Triweight

  • 4-埃帕内奇尼科夫

Decay ratio (Triangular kernels only)

任选

DECAY

[number]

默认: 0.0

可以与三角形核一起使用,以进一步控制来自特征的热量如何随着距离该特征的距离而减少。

  • 值为0(=最小值)表示热量将集中在给定半径的中心,并在边缘完全熄灭。

  • 值0.5表示半径边缘的像素将获得搜索半径中心像素的一半热量。

  • 值为1表示热量均匀分布在整个搜索半径圆上。(这相当于“统一”内核。)

  • 大于1的值表示朝向搜索半径边缘的热量高于中心。

Output value scaling

OUTPUT_VALUE

[enumeration]

默认: Raw

允许更改输出热图栅格的值。以下选项之一:

  • 0-未加工

  • 1-按比例调整

Heatmap

OUTPUT

[raster]

默认: [Save to temporary file]

使用核密度值指定输出栅格层。以下选项之一:

  • 保存到临时文件

  • 保存到文件…

产出

标签

名字

类型

描述

Heatmap

OUTPUT

[raster]

具有核密度值的栅格图层

示例:创建热图

对于下面的示例,我们将使用 airports QGIS示例数据集中的矢量点图层(请参见 下载样本数据 )。另一个制作热图的优秀QGIS教程可在以下位置找到 http://qgistutorials.com

In 图 27.2, the airports of Alaska are shown.

../../../../_images/heatmap_start.png

图 27.2 阿拉斯加机场

  1. 打开 Heatmap (Kernel Density Estimation) QGIS中的算法 Interpolation 群组

  2. In the Point layer 选择字符串 field, select airports from the list of point layers loaded in the current project.

  3. 更改 Radius1000000 米。

  4. 更改 Pixel size X1000 。这个 Pixel size YRowsColumns 将自动更新。

  5. Click on Run to create and load the airports heatmap (see 图 27.4).

../../../../_images/heatmap_dialog.png

图 27.3 热图对话框

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

../../../../_images/heatmap_loaded_grey.png

图 27.4 加载后的热图看起来像灰色表面

  1. 打开的属性对话框 heatmap_airports 层(选择该层 heatmap_airports ,用鼠标右键打开上下文菜单,然后选择 Properties )。

  2. 选择 Symbology 标签。

  3. Change the Render type 选择字符串 to 'Singleband pseudocolor'.

  4. Select a suitable Color ramp 选择字符串, for instance YlOrRd.

  5. 单击 Classify 纽扣。

  6. 新闻发布会 OK 来更新层。

The final result is shown in 图 27.5.

../../../../_images/heatmap_loaded_colour.png

图 27.5 阿拉斯加机场的风格化热图

Python代码

Algorithm IDqgis:heatmapkerneldensityestimation

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.5.2. IDW插值法

生成点向量层的反距离加权(IDW)插值法。

在插补过程中会对采样点进行加权,以使一个点相对于另一个点的影响随着距离要创建的未知点的距离而减小。

IDW插值法也有一些缺点:如果样本数据点分布不均匀,则会降低插补结果的质量。

此外,内插曲面中的最大值和最小值只能出现在样本数据点。

参数

标签

名字

类型

描述

Input layer(s)

INTERPOLATION_DATA

[string]

用于内插的矢量图层(S)和字段(S),以字符串形式编码(请参阅 ParameterInterpolationData 班级在 InterpolationWidgets 以了解更多详细信息)。

提供以下图形用户界面元素来组成插补数据字符串:

  • Vector layer [vector: any]

  • Interpolation attribute [tablefield: numeric]: Attribute to use in the interpolation

  • Use Z-coordinate for interpolation [boolean]: Uses the layer's stored Z values (Default: False)

对于每个添加的层-域组合,可以选择一种类型:

  • Points

  • Structured lines

  • Break lines

在字符串中,层字段元素由 '::|::' 。层-字段元素的子元素由 '::~::'

Distance coefficient P

DISTANCE_COEFFICIENT

[number]

默认:2.0

设置插补的距离系数。最小值:0.0%,最大值:100.0。

Extent (xmin, xmax, ymin, ymax)

EXTENT

[extent]

输出栅格层的范围。

可用的方法包括:

  • 从Layer…计算:使用当前项目中加载的层的范围

  • 从布局地图…计算:使用的范围 layout map item 在激活项目中

  • 从书签…计算:使用已保存的数据区 bookmark

  • 使用地图画布范围

  • 在画布上绘制:单击并拖动一个矩形,以分隔要考虑的区域

  • 将坐标输入为 xmin, xmax, ymin, ymax

Output raster size

PIXEL_SIZE

[number]

默认:0.1

以层为单位的输出栅格层的像素大小。

在图形用户界面中,可以通过行数指定大小 (Number of rows )/栏目 (Number of columns ) or 像素大小( Pixel Size X / Pixel Size Y )。增加行数或列数将减小单元格大小并增加输出栅格的文件大小。中的值 RowsColumnsPixel Size XPixel Size Y 将同时更新-行数加倍将使列数增加一倍,单元格大小将减半。输出栅格的范围将保持不变(大致)。

Interpolated

OUTPUT

[raster]

默认: [Save to temporary file]

插值值的栅格层。以下选项之一:

  • 保存到临时文件

  • 保存到文件…

产出

标签

名字

类型

描述

Interpolated

OUTPUT

[raster]

插值值的栅格图层

Python代码

Algorithm IDqgis:idwinterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.5.3. 线密度

为每个栅格单元计算圆形邻域内的线状要素的密度度量。这一测量是通过将所有相交于圆形邻域的线段相加,并将该总和除以该邻域的面积来获得的。可以将加权系数应用于线段。

../../../../_images/linedensity.png

图 27.6 线密度示例。输入层来源:Roads Overijssel--荷兰(OSM)。

参数

标签

名字

类型

描述

Input line layer

INPUT

[vector: any]

包含线要素的输入矢量图层

Weight field

WEIGHT

[number]

包含要在计算过程中使用的权重系数的图层字段

Search Radius

RADIUS

[number]

默认:10

圆形邻域的半径。可以在此处指定单位。

Pixel size

PIXEL_SIZE

[number]

默认:10

以层为单位的输出栅格层的像素大小。该栅格具有正方形像素。

Line density raster

OUTPUT

[raster]

默认: [Save to temporary file]

作为栅格层的输出。以下选项之一:

  • 保存到临时文件

  • 保存到文件…

产出

标签

名字

类型

描述

Line density raster

OUTPUT

[raster]

输出线密度栅格层。

Python代码

Algorithm IDnative:linedensity

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.5.4. 三角网内插

生成点向量层的不规则三角网(TIN)内插。

使用三角网方法,可以创建由最近邻近点的三角形组成的曲面。为此,将围绕选定采样点创建外接圆,并将它们的交点连接到不重叠且尽可能紧凑的三角形网络。生成的曲面并不光滑。

该算法创建内插值的栅格层和具有三角剖分边界的矢量线层。

参数

标签

名字

类型

描述

Input layer(s)

INTERPOLATION_DATA

[string]

用于内插的矢量图层(S)和字段(S),以字符串形式编码(请参阅 ParameterInterpolationData 班级在 InterpolationWidgets 以了解更多详细信息)。

提供以下图形用户界面元素来组成插补数据字符串:

  • Vector layer [vector: any]

  • Interpolation attribute [tablefield: numeric]: Attribute to use in the interpolation

  • Use Z-coordinate for interpolation [boolean]: Uses the layer's stored Z values (Default: False)

对于每个添加的层-域组合,可以选择一种类型:

  • Points

  • Structured lines

  • Break lines

在字符串中,层字段元素由 '::|::' 。层-字段元素的子元素由 '::~::'

Interpolation method

METHOD

[enumeration]

默认:0

设置要使用的插补方法。以下选项之一:

  • Linear

  • Clough-Toucher (cubic)

Extent (xmin, xmax, ymin, ymax)

EXTENT

[extent]

输出栅格层的范围。

可用的方法包括:

  • 从Layer…计算:使用当前项目中加载的层的范围

  • 从布局地图…计算:使用的范围 layout map item 在激活项目中

  • 从书签…计算:使用已保存的数据区 bookmark

  • 使用地图画布范围

  • 在画布上绘制:单击并拖动一个矩形,以分隔要考虑的区域

  • 将坐标输入为 xmin, xmax, ymin, ymax

Output raster size

PIXEL_SIZE

[number]

默认:0.1

以层为单位的输出栅格层的像素大小。

在图形用户界面中,可以通过行数指定大小 (Number of rows )/栏目 (Number of columns ) or 像素大小( Pixel Size X / Pixel Size Y )。增加行数或列数将减小单元格大小并增加输出栅格的文件大小。中的值 RowsColumnsPixel Size XPixel Size Y 将同时更新-行数加倍将使列数增加一倍,单元格大小将减半。输出栅格的范围将保持不变(大致)。

Interpolated

OUTPUT

[raster]

默认: [Save to temporary file]

将三角网内插输出为栅格层。以下选项之一:

  • 保存到临时文件

  • 保存到文件…

Triangulation

TRIANGULATION

[vector: line]

默认: [Skip output]

将TIN输出为矢量层。以下选项之一:

  • 跳过输出

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Interpolated

OUTPUT

[raster]

作为栅格图层的输出TIN插值法

Triangulation

TRIANGULATION

[vector: line]

将TIN输出为矢量层。

Python代码

Algorithm IDqgis:tininterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。