重要

Translation is a community effort you can join. This page is currently translated at 90.32%.

6.4. Lesson: Spatial Statistics

备注

本课程由 Linfiniti 和S Motala 开发 (Cape Peninsula University of Technology)

空间统计允许您分析和理解给定矢量数据集中发生的情况。QGIS包括许多有用的统计分析工具。

本课目标: 了解如何在 处理工具箱 中使用QGIS的空间统计工具。

6.4.1. ★☆☆ Follow Along: Create a Test Dataset

我们将创建一组随机点,以获取要使用的数据集。

为此,您需要一个多边形数据集来定义要在其中创建点的区域。

我们将使用覆盖街道的区域。

  1. 开始一个新工程

  2. 添加 roads 数据集,以及在 exercise_data/raster/SRTM/ 中找到的 srtm_41_19 (高程数据)。

    备注

    您可能会发现 SRTM DEM 图层与roads图层的CRS不同,QGIS正在一个CRS中重投影这两个图层。对于以下练习,这种差异并不重要,但可以随意重投影 (如本单元前面所示)。

  3. 打开 处理 工具箱

  4. 使用 矢量几何图形 ► 最小边界几何图形 工具,选择 凸包 作为 几何图形类型 ,生成包围所有道路的区域:

    ../../../_images/roads_hull_setup.png

    如您所知,如果未指定输出, 处理工具 将创建临时图层。由您决定是否立即或在后期保存图层。

创建随机点

  • 使用 矢量创建 ► 图层边界内生成随机点 工具在该区域创建100个随机点,最小距离为 0.0

    ../../../_images/random_points_setup.png

    备注

    黄色警告标志告诉您该参数与距离有关,算法只是提醒您 边界几何图形 图层位于地理坐标系中。在本示例,我们不使用此参数,因此您可以忽略。

如果需要,将生成随机点的图层移到图例顶部,以便更好地查看它们:

../../../_images/random_points_result.png

数据采样

要从栅格创建采样数据集,需要使用 栅格分析 ► 对栅格值取样 算法。此工具在点的位置对栅格进行采样,并根据栅格中的波段数在新字段中添加栅格值。

  1. 打开 对栅格值取样 算法对话框

  2. 选择 随机点 作为包含采样点的图层,选择SRTM栅格作为要从中获取值的波段。新字段的默认名称为 rvalue_N ,其中 N 是栅格波段的编号。如果需要,可以更改前缀的名称。

    ../../../_images/sample_raster_dialog.png
  3. 运行

现在,可以在 Sampled Points 图层的属性表检查栅格文件中的采样数据。它们位于您选择名称的新字段中。

此处显示了可能出现的采样图层:

../../../_images/random_samples_result.png

使用 rvalue_1 字段对采样点进行分类,使红色点位于较高的高度。

您将在剩余的统计练习中使用此采样图层。

6.4.2. ★☆☆ Follow Along: Basic Statistics

现在获取该图层的基本统计信息。

  1. 单击 属性工具栏 中的 sum 显示统计汇总 图标,将弹出新面板。

  2. 在出现的对话框中,指定 Sampled Points 图层作为源。

  3. 在字段组合框中选择 rvalue_1 字段。这是您用于计算统计数据的字段。

  4. 统计 面板将自动更新计算出的统计数据:

    ../../../_images/basic_statistics_results.png

    备注

    您可以通过单击 editCopy 复制统计数据到剪贴板 按钮来复制这些值,并将结果粘贴到电子表格。

  5. 完成后关闭 统计 面板

有许多不同的统计数据可用:

计数

采样或值的数量。

总和

这些值相加之和。

均值

均值 (平均值) 就是值的总和除以值的个数。

中值

如果将所有值按最小到最大顺序进行排列,中间值 (或两个中间值的平均值,如果N是偶数) 是这些值的中值。

标准差 (pop)

标准差,指示值围绕均值聚合的紧密程度。标准差越小,值越接近均值。

最小值

最小的值。

最大值

最大的值。

范围

最小值和最大值之间的差。

Q1

数据的第一四分位数。

Q3

数据的第三四分位数。

缺失 (空) 值

缺失值的数量。

6.4.3. ★☆☆ Follow Along: Compute statistics on distances between points

  1. 创建新的临时点图层。

  2. 进入编辑模式,在其他点中的某个位置数字化三个点。

    或者,使用与之前相同的随机点生成方法,但仅指定 三个 点。

  3. 以您喜欢的格式将新图层保存为 distance_points

要生成两个图层中的点之间距离的统计数据,请执行以下操作:

  1. 打开 矢量分析 ► 距离矩阵 工具。

  2. 选择 distance_points 图层作为输入点图层,选择 Sampled Points 图层作为目标点图层。

  3. 设置如下:

    ../../../_images/distance_matrix_setup.png
  4. 如果需要,可以将输出图层另存为文件,或者运行算法后再保存临时输出图层。

  5. 单击 运行 生成距离矩阵图层。

  6. 打开生成的图层属性表:值是指 distance_points 要素与其在 Sampled Points 图层中两个最近点之间的距离:

    ../../../_images/distance_matrix_example.png

利用这些参数, 距离矩阵 工具计算输入图层每个点相对于目标图层最近点的距离统计数据。输出图层的字段包含输入图层中的点的最邻近距离的均值、标准差、最小值和最大值。

6.4.4. ★☆☆ Follow Along: Nearest Neighbor Analysis (within layer)

要对点图层进行最近邻分析,请执行以下操作:

  1. 选择 矢量分析 ► 最近邻分析

  2. 在出现的对话框中,选择 Random points 图层,然后单击 运行

  3. 结果将显示在 结果查看器 面板。

    ../../../_images/result_viewer.png
  4. 单击蓝色链接打开 html 页面的结果:

    ../../../_images/nearest_neighbour_example.png

6.4.5. ★☆☆ Follow Along: Mean Coordinates

要获取数据集的平均坐标,请执行以下操作:

  1. 启动 矢量分析 ► 平均坐标

  2. 在出现的对话框中,将 Random points 指定为 输入图层 ,其他可选选项不变。

  3. 单击 运行

让我们将其与用于创建随机采样的多边形中心坐标进行比较。

  1. 启动 矢量几何图形 ► 质心

  2. 在出现的对话框中,选择 Bounding geometry - 边界几何图形 作为输入图层。

如您所见,平均坐标 (粉红点) 和研究区域的中心 (绿色) 不一定重叠。

质心是图层的重心 (正方形的重心是正方形的中心),而平均坐标表示所有结点坐标的平均值。

../../../_images/polygon_centroid_mean.png

6.4.6. ★☆☆ Follow Along: Image Histograms

数据集的直方图显示其值的分布。在QGIS中演示这个最简单方法是通过图像直方图,可以在任何图像图层 (栅格数据集) 的 图层属性 对话框中找到。

  1. 图层 面板,右键单击 srtm_41_19 图层

  2. 选择 属性

  3. 选择 直方图 选项卡。您可能需要单击 计算直方图 按钮来生成图形。您将看到一个显示栅格值的频率分布的图表。

    ../../../_images/histogram_export.png
  4. 可以使用 fileSave 保存图 按钮将图表导出为图像

  5. 您可以在 信息 选项卡中查看有关该图层的更多详细信息 (平均值和最大值是估算值,可能不准确)。

平均值是 332.8 (估算为324.3),最大值是 1699 (估算为1548)!您可以放大直方图。因为有很多像素的值为 0 ,所以直方图看起来是垂直压缩的。通过放大以覆盖除 0 处峰值以外的所有内容,您将看到更多信息:

../../../_images/histogram_export_zoom.png

备注

如果平均值和最大值与上述不同,可能是由于最小值/最大值的计算。打开 符号化 选项卡并展开 最小/最大值设置 菜单,选择 radioButtonOn最小值/最大值 并单击 应用

请记住,直方图显示值的分布,并非所有值必须在图表上可见。

6.4.7. ★☆☆ Follow Along: Spatial Interpolation

假设有一个采样点集合,您希望从中推测数据。例如,您可以访问我们之前创建的 Sampled points 数据集,并且希望对地形有所了解。

  1. 首先,在 处理工具箱 中启动 GDAL ► 栅格分析 ► 网格化 (最近邻搜索反距离权重法) 工具。

  2. 对于 点图层 请选择 Sampled points

  3. 加权功率 设置为 5.0

  4. 高级参数 中,将 字段Z值 设置为 rvalue_1

  5. 最后单击 运行 并等待处理结束

  6. 关闭对话框

下面是原始数据集 (左) 与从采样点构建的数据集 (右) 的比较。由于采样点位置的随机性,您的可能看起来有所不同。

../../../_images/interpolation_comparison.png

如您所见,100个采样点并不足以获得地形的详细印象。它给出了一个非常笼统的概念,但也可能会产生误导。

6.4.8. ★★☆ Try Yourself: Different interpolation methods

  1. 使用上面显示的流程创建一组 10 000 个随机点

    备注

    如果点的数量很大,可能处理时间会很长。

  2. 使用这些点对原始DEM进行采样

  3. 在此数据集上使用 网格化 (最近邻搜索反距离权重法) 工具。

  4. 加权功率平滑 分别设置为 5.02.0

结果 (取决于随机点的位置) 大致如下:

../../../_images/interpolation_comparison_10000.png

由于采样点的密度更大,可以更好地表示地形。请记住,采样越多,结果越好。

6.4.9. In Conclusion

QGIS有许多用于分析数据集空间统计属性的工具。

6.4.10. What's Next?

既然已经介绍了矢量分析,为什么不看看用栅格可以做些什么呢?这就是我们在下一单元要学习的内容!