网格式影像的基本分析与样式设定¶
警告
This tutorial is now obsolete. A new and updated version is available at 基本栅格样式和分析(QGIS3)
许多的科学观测与研究产生的是网格式影像(Raster)资料。这种资料以点阵图的方式呈现,点阵中的每个像素都有自己的特定数值。只要使用一些数学运算,就可以拿这些数值进行有趣的分析。QGIS 中的 影像计算 功能具有许多基本的指令可供使用,在本教学中,会展示基本的 影像计算 功能操作,以及一些设定网格式影像样式的选项。
取得资料¶
这边要使用的是 Columbia University 公布的 世界网格化人口分布 (GPW) v3 资料库中,以 ASCII 格式储存的、1990 年和 2000 年的全球网格化人口资料。
以下说明如何搜寻与下载相关资料。
前往 Population Density Grid, v3 download page.,在 Data Attributes 中选择 .ascii format、1° resolution 与 1990 年,然后按 Download。接下来你可能要建立一个免费帐号然后登入,或是直接使用底下的 Guest Download 来下载。接者以同样的方式取得 2000 年的资料。
完成后会有 2 个 zip 档。
为了方便起见,你也可以直接用下面的连结下载:
gl_gpwv3_pdens_90_ascii_one.zip
gl_gpwv3_pdens_00_ascii_one.zip
资料来源 [GPW3]
操作流程¶
打开 QGIS,选择
。
移到下载档案的资料夹,按住 Ctrl 键后点选两个 zip 档,这样就可以一次读取它们。(译注:如果出现错误讯息的话,先解压缩到同一个资料夹中,然后再参考下一步,选择目标档案即可。)
每个 zip 档都有 2 个网格档。有
a
的那个档表示人口数量有经过调整以符合联合国的统计数值。本教学使用调整过后的资料。选择glds00ag60.asc
图层,然后按下 确定。
这个图层并没有定义 CRS,因此我们得手动选择 EPSG:4326 作为这个以经纬度为单位的图层之座标参考系统。
由于我们选择了两个 zip 档,因此同样的步骤要做两次。重复以上步骤,这次选择
glds90ag60.asc
加到专案中。
再一次选 EPSG:4326 作为 CRS。
现在两个图层都读到 QGIS 内了。网格式影像会使用灰阶来呈现,颜色越深表示像素值越低,而颜色越浅表示像素值越高。
影像中的每个像素都有自身值,在这两个档案中,这个值就是人口密度。选择 识别图征 后在影像的任一处点一下,就可以看到这个像素的人口密度值。
为了适当的呈现人口密度分布的图样,得调整一下样式才行。在图层名字上按右键选择 属性,或是直接在图层名字上按两下,都可以进到图层属性的视窗。
在 样式 分页下,把 绘图类型 换成 单波段伪彩色,然后按下位于 产生新的色彩对映表 中的 分类 钮。会有 5 个新颜色和值跑出来,最后按下 确定。
回到 QGIS 主画面,就可以看到影像使用类似温度分布图的概念着色。顺便也对另一个影像执行相同步骤。
我们的分析目标是找出在 1990 年到 2000 年间有剧烈的人口变动的地方,方法则是计算这两个影像的每个像素数值的差异。选择
,
在 影像波段 的选择框中,可以点两下以选择某个图层。这里的波段命名方式是图层名称加上「@」再加上波段编号,由于我们的影像都只有 1 个波段,所有每个影像都只会有「编号 1」。在影像计算的功能中,可以针对像素进行基本的数学运算,为了找出人口密度差异,必须要在 2000 年的资料中减掉 1990 年的资料,所以计算式要输入
glds00ag60@1 - glds90ag60@1
。把输出档命名为pop_density_change_2000_1990.tif
,勾选 将结果加入专案 ,最后按 确定。
操作完成后,新图层会被加入到 QGIS 中。
虽然灰阶看起来还不错,但我们还是可以改一个更能表达资讯的样式。在
pop_density_change_2000_1990
图层上按右键后进入 属性,
这次我们要把在同一个范围之内的像素值设成相同颜色。在设定之前,先到 诠释资料 分页内看一下这个影像的属性,尤其是最大值和最小值。
切到 样式 分页下,把 绘图类型 换成 单波段伪彩色,再把 色彩内插 调成 离散。之后按下 手动新增值 4 次以建立 4 个类别,点一下类别的数值就可以进行更改。在这里,色彩对应的规则是「像素值比这个类别的值低的所有像素,都会被设成这个类别的颜色」。因为我们的影像的像素最小值比 -2000 还高一点,所以我们把第一个类别的值设成 -2000,这样这个颜色代表的就是「没有资料值」(No Data Values)。照如下的方式把所有类别都设定完成,然后按下 确定。
现在人口变多或变少的地方就清楚的显示出来了。接下来按下 放大 钮在欧洲附近拉一个矩形,缩进去看看细节。
选择 识别图征 后在影像红色含蓝色处点看看,就可以确认刚刚的样式设定是没问题的。
最后再让我们多做一步,把人口密度呈现负增长的地方筛选出来。开启
,
输入如下所示的表示式,如果像素值符合表示式,输出的像素值就是 1 ,如果不符合,就会是 0。这样我们就可以得到新的影像档,像素值为 1 时表示负增长,值为 0 时则没有负增长。把输出档命名为
negative_pop_change_2000_1990
,勾选 将结果加入专案 ,最后按 确定。
pop_density_change_2000_1990@1 < -10
新图层产生后,以右键进入 属性 ,在 透明度 分页中的 附加无资料值 的地方打上 0 ,这样的话值为 0 的像素也会被设成透明。最后按下 确定。
最后,就只剩下所有的负人口增长区是灰黑色的了。