使用点或多边形对影像资料取样¶
警告
This tutorial is now obsolete. A new and updated version is available at 使用点或多边形(QGIS3)采样栅格数据
许多科学与环境的资料库使用的是网格状的影像资料,高程资料 (DEM) 同样的也是以影像档的方式发行。这些影像档中,要呈现的资料数值就是影像中每个像素的像素值。有些时候,我们会需要找出在特定地点的像素值,或是把某个区域的所有像素一同囊括以进行后续分析。这些功能在 QGIS 中可以透过两个附加元件来达成,分别是 Point Sampling Tool
和 Zonal Statistics plugin
。
取得资料¶
美国国家海洋暨大气总署(NOAA)的 Climate Prediction Center 提供了温度和降雨相关的 GIS 资料。下载 最近一笔的当日最高温资料。档案会以 us.tmax_nohads_ll_{YYYYMMDD}_float.tif
的分式命名。(Y=年,M=月,D=日)
接着我们要使用 2013 US Gazetteer 的 CSV 档,上面记载所有美国的都市区域位置。下载 Urban Areas Gazetteer File。
然后我们还要对每个县计算最高温的平均值,所以需要 2013 TIGER/Line Shapefiles。下载 县边界 (及相等行政区) 的 shapefile。
为了方便起见,你也可以直接用下面的连结下载:
操作流程¶
选择
,选择刚才下载的us.tmax_nohads_ll_{YYYYMMDD}_float.tif
,然后按 开启。
图层载入后,选择 识别图征 工具然后点选图层的任一处。你可以在「波段 1」中看到该点的摄氏温度值。
接着把刚下载的
2013_Gaz_ua_national.zip
档案解压缩,产生2013_Gaz_ua_national.txt
。选择 。
在 从分隔文件建立一个图层 视窗中,点选 浏览 然后开启
2013_Gaz_ua_national.txt
。选择 自订分隔符号 中的 定位键,由于典座标以经纬度编排,因此 X座标 选择 INTPTLONG,Y座标 选择 INTPTLAT。勾选 使用空间索引,然后按下 确定。
现在我们已做好从影像图层中取样的准备。请安装
Point Sampling Tool
附加元件,安装细节请参考 使用附加元件。
选择
,开启附加元件视窗。
在 Point Sampling Tool 视窗中,Layer containing sampling points 要选择
2013_Gaz_ua_national
,而且我们必须要明确的指定所有会从输入图层转存到输出图层的栏位值,因此请从2013_Gaz_ua_national
图层中选择GEOID
和NAME
两栏位。我们可以一次从许多影像波段中取样,不过因为我们目前使用的影像只有 1 个波段,所以选择us.tmax_nohads_ll_{YYYYMMDD}_float: Band 1
即可。把输出向量图层命名为max_temparature_at_urban_locations.shp
后按下 确定,程式就会开始执行,当执行结束后,再按下 关闭。
新的图层
max_temparature_at_urban_locations
会被载入到 QGIS 中。使用 识别图征 工具,在任何一点上按一下,就可以浏览其属性。你会看到有个称为us.tmax_no
的属性,这就是在此点位置的影像像素值。
我们分析的第一部分已经完成,现在来移除一些不需要的图层。按住 Shift 键然后选择
max_temparature_at_urban_locations
和2013_Gaz_ua_national
图层,以右键点选 移除,就可把它们从 QGIS 的图层列表中移除。
选择
,选择刚才下载的tl_2013_us_county.zip
,然后按 开启,选择tl_2013_us_county.shp
图层然后按下 确定。
tl_2013_us_county
会加入到 QGIS 中。本图层使用的投影法是EPSG:4269 NAD83
,与影像的投影法不相符,所以我们必须先把新图层重投影到EPSG:4326 WGS84
才行。
在
tl_2013_us_county
图层上按右键然后选择 存档为…,
在 储存向量图层为… 的视窗中,按下 浏览然后把新档案命名为
counties.shp
。点选 选取CRS 钮,然后选择WGS 84
作为 CRS,勾选 加入储存档案至地图中,最后按下 确定。
名称为
counties
的新图层会加入 QGIS 中。
启用
区域统计附加元件(Zonal Statistics Plugins)
。由于它属于核心附加元件,所以 QGIS 已经安装就绪了。有关于如何启用核心附加元件,请参考 使用附加元件。
选择
。
影像图层 的栏位选择
us.tmax_nohads_ll_{YYYYMMDD}_float
,包含此区域的多边形图层 选择counties
,输出的栏位前缀 输入ZX_
,然后按下 确定。
依照你的资料大小而定,分析可能需要一点时间。
处理结束后,选择
counties
图层,使用 识别图征 工具点一下任一个县市的多边形图征,你可以图层中出现了新的属性:ZS_count
、ZS_mean
,和ZS_sum
。这三个属性分别为影像像素的总数、像素值的平均,以及像素值的总和。由于我们要求的是平均温度,ZS_mean
栏位就是我们所需要的。
让我们来调整一下图层样式,建立一张温度分布地图。在
counties
图层上按右键选择 属性。
切换至 样式 分业,选择 渐层 样式然后 行 选择
ZS_mean
。选择一个你喜欢的 色彩映射表 与 模式,然后按下 分类以建立类别,最后按下 :guilabel:`确定。(样式设定的细节,请参考 基本向量资料样式设定。)
最后你会看到县市界的多边形地图现在已依照从影像网格中取出的平均最高气温数值设定好样式了。