07_QGIS3 基础栅格样式与分析方法
原文链接: https://www.qgistutorials.com/en/docs/3/raster_styling_and_analysis.html
基础栅格样式与分析 (QGIS3)¶
许多科学观测和研究都会生成栅格数据集。栅格是由被分配了特定数值的像素组成的网格。通过对这些数值进行数学运算,可以进行一些有趣的分析。QGIS 通过栅格计算器内置了一些基本的分析功能。在本教程中,我们将探讨可用于栅格样式化的选项以及栅格计算器提供的功能。
任务概述¶
我们将使用人口格网数据来创建一幅 2000 年至 2010 年全球人口变化的专题地图。
您将学到的其他技能¶
- 如何在图层之间复制/粘贴样式
获取数据¶
我们将使用哥伦比亚大学的世界网格化人口 (GPW) v4 数据集。具体来说,我们需要全球范围、2.5 角分分辨率、GeoTiFF 格式的 2000 年和 2010 年人口数量数据。您需要一个免费的地球数据账户来下载数据。

为了方便起见,您可以直接从以下链接下载数据集的副本:
gpw-v4-population-count-rev11_2000_2pt5_min_tif.zip
gpw-v4-population-count-rev11_2010_2pt5_min_tif.zip
数据来源 [GPW4]
操作步骤¶
- 打开 QGIS,在浏览器面板中找到已下载的文件。展开
gpw-v4-population-count-rev11_2000_2pt5_min_tif.zip文件,并将gpw-v4-population-count-rev11_2000_2pt5_min.tif文件拖拽到画布上。
- 新图层
gpw-v4-population-count-rev11_2000_2pt5_min将被添加到图层面板中。类似地,找到gpw-v4-population-count-rev11_2010_2pt5_min_tif.zip文件,并将gpw-v4-population-count-rev11_2010_2pt5_min.tif文件拖拽到画布上。
- 让我们探索一下这些图层。点击属性工具栏上的识别按钮。选中该工具后,点击画布上的任意一点。
- 与该像素关联的值将显示在新的“识别结果”面板中。在识别结果面板中,将模式更改为
从上到下(Top down)。这将显示所有栅格的像素值,而不仅仅是最顶层图层。比较两个图层的数值。由于栅格的分辨率约为 5km x 5km,像素值代表该像素所代表区域(25 平方公里)内的总人口数。
- 关闭“识别结果”面板。让我们为图层创建更好的可视化效果。点击图层面板中的打开图层样式化面板按钮。
- 在“图层样式化”面板中,点击渲染类型下拉菜单,选择
单波段伪彩色渲染器。
- 此渲染器将使用颜色色带对图层进行样式化。默认的颜色色带是白-红色,其中最小值将被分配白色,图层中的最大值将被分配红色。中间值将通过线性插值分配红色色调。展开“最小/最大值设置”,选择
累积计数剪切选项。您会看到地图的可视化效果现在好多了。标准数据范围被设置为数据值的 2% 到 98%,这意味着异常值将不会被用来设置最小值和最大值,从而产生更具代表性的可视化效果。
- 关闭图层样式化面板。我们也可以将类似的样式应用到另一个图层。但有一个更简单的方法可以在图层之间传递样式。右键单击
gpw-v4-population-count-rev11_2010_2pt5_min图层,选择样式 ‣ 复制样式。
- 现在右键单击未设置样式的
gpw-v4-population-count-rev11_2000_2pt5_min图层,选择样式 ‣ 粘贴样式。
- 相同的样式参数将被应用到另一个图层。当您想使用相同的分类来比较不同图层时,这个功能特别有用。当您切换顶部图层的可见性时,可以直观地看到人口的变化。
- 我们的任务是创建人口变化的专题地图。让我们计算两个图层之间的差异,并创建另一个栅格,其中每个像素代表人口的变化。转到处理 ‣ 工具箱。
- 在栅格分析下找到栅格计算器,双击打开该工具。
- 使用 … 按钮选择两个图层作为输入图层。栅格计算器可以对栅格像素应用数学运算。在本例中,我们希望输入一个简单的公式,用 2000 年人口减去 2010 年人口。使用 ε 按钮输入以下表达式。在表达式中,波段以栅格名称命名,后跟
@和波段号。由于我们的每个栅格只有 1 个波段,您会看到图层名称后附加了@1。保持所有其他选项为默认设置,将输出图层保存为population_change_2010_2000.tif,然后单击运行。
bash "gpw_v4_population_count_rev11_2010_2pt5_min.tif@1" - "gpw_v4_population_count_rev11_2000_2pt5_min.tif@1"
- 完成后,新图层
population_change_2010_2000将被添加到图层面板中。让我们更改样式,以便更好地可视化正负人口变化。点击图层面板中的打开图层样式化面板按钮。
- 一种选择是使用与之前类似的样式化技术,并选择一种发散色带。点击色带下拉菜单,选择
光谱色带。再次点击下拉菜单,选择反转色带,将蓝色分配给低值,红色分配给高值。
- 这是一种不错的可视化效果,但不容易解读。让我们创建一个更好的地图,包含 4 个离散类别:
减少、中性、增长和高增长。向下滚动到带有类别的表格。按住Shift键并选择所有行。点击移除选定行按钮。
- 将插值模式更改为
离散。我们现在将手动创建一个颜色表。点击手动添加值按钮。输入-100作为值,减少作为标签。为此类别分配蓝色。颜色表的工作方式是,所有低于输入值的值都将被赋予该条目的颜色。您会注意到画布将只显示人口变化为负的区域。
- 用合适的值完成颜色表。我分别选择了
100、1000和100000作为中性、增长和高增长类别的上限。为每个创建的类别分配颜色,例如米色、橙色和红色。
- 对可视化效果满意后,关闭图层样式化面板。您现在拥有了一幅全球人口变化的专题地图。
如果您想提供反馈或分享您对本教程的体验,请在下方评论。(需要 GitHub 账户)


















