栅格数据的拼贴与裁切

本节会来介绍在QGIS中的栅格式影像操作的基本方法,像是浏览、拼贴与裁切影像等等。

内容说明

下载公开的巴西影像资料到 QGIS 中查看,然后把它们拼成一幅大型的影像,最后再把它沿着巴西的国界切下来,完成一幅没有接缝的巴西影像资料。

获取资料

首先我们需要巴西的国界来裁切影像,这个 shapefile 可以从 Natural Earth 网站上面抓下来 Admin 0 - Countries .

NASA/GSFC, Rapid Response site 收集了不错的、近乎即时公开的卫星影像资料,而 USDA Foreign Agricultural Service (FAS) subsets.. 则制作了这些卫星影像的区域性资料集。本教学会使用 FAS 的“巴西解析度 2 公里”资料集。

以下说明如何搜寻与下载相关资料。

1. 开启 `South America region subsets<http://lance-modis.eosdis.nasa.gov/imagery/subsets/?area=sa>`_. 在 FAS Subsets 的地方任意点一个副集合(红框),如 图 104

../../_images/110.png

2. 接下来进入到下载选项页面,可以选择任意一个 2km 的连结下载你想要的资料。这里我们选择植生指标(NDVI)的 影像下载作为示范,如 图 105 。什么是 NDVI product. Learn more about NDVI.

../../_images/24.png
  1. 选择 Download GeoTIFF file 来下载栅格影像,如 图 106

../../_images/33.png

对所有 7 个 FAS 在巴西的副集合进行相同的操作。

为了方便起见,你也可以直接用下面的连结们下载所有本教学的资料:

ne_10m_admin_0_countries.zip

FAS_Brazil1.2013363.aqua.ndvi.2km.tif

FAS_Brazil2.2013363.terra.ndvi.2km.tif

FAS_Brazil3.2013363.aqua.ndvi.2km.tif

FAS_Brazil4.2013363.aqua.ndvi.2km.tif

FAS_Brazil5.2013363.aqua.ndvi.2km.tif

FAS_Brazil6.2013363.terra.ndvi.2km.tif

FAS_Brazil7.2013363.aqua.ndvi.2km.tif

资料来源: LANCE NATURALEARTH

拼贴与裁切操作流程

1.现在我们对栅格数据进行剪裁拼接操作。启动 QGIS,选择 Layer ‣ Add Layer ‣Add Raster Layer..,如 图 107

../../_images/43.png

2.选择:menuselection:Browser,移到相对应的文件夹中,找到我们所需要的资料,然后双击,图像会进行加载,如 图 108

../../_images/53.png

3.现在可以看到所有的影像都已经载入并显示在左侧的图层目录了,接下来我们要把所有的影像拼成一幅大影像。首先选择 Raster ‣ Miscellaneous ‣ Merge,如 图 109 。QGIS 中的 Raster 选单其实是一个叫做 GdalTools 的附加元件。如果你找不到 Raster 选单的话,请去:menuselection:Plugins -->Manage and install plugins --> Installed 分页下把 GdalTools 启用。详情请参阅 using_plugins

../../_images/63.png

4.在 Merge 对话框中,按下 Input files 旁边的 ... 钮,前往你存放所有 geotiff 档的资料夹,选取所有文件。接着按下 Output file 旁边的 Select... 钮,然后把输出档命名为 "Brazil_mosaic.tif"。在底下的地方,勾选 Open out file after running algorithm,后载入QGIS地图中,最后按下:guilabel:Run ,如 图 110

../../_images/73.png

5.影像拼贴好载入 QGIS 后,现在所有的独立影像都结合在一起成为一个大图层了,尽管关闭所有的原始独立图层,把他们都取消勾选,如 图 111

../../_images/83.png

6.另外一种影像操作则是 crop 影像 ,只要用一个多边形的向量图层,就可以把一幅影像沿着这个多边形给剪下。所以现在把刚才从 Natural Earth 下载的国界多边形给读进来。选择 Layer ‣ Add Layer ‣ Add Vector Layer ,如 图 112

../../_images/93.png

7.选择 ne_10m_admin_0_countries.zip 然后按下 Open 。如有要你选择要开启压所档中的哪一个图层,就选"ne_10m_admin_0_countries.shp",如 图 113

../../_images/102.png

8.所有的国界都加载到 QGIS 了,不过我们只想要巴西的国界。所以接着按下位于上方工具列选择 Select Features by area or Single click ,如 图 114

../../_images/112.png

9.在巴西的多边形上随便按一个地方,它就会被选取,如 图 115

../../_images/122.png

10.在"ne_10m_admin_0_countries"图层上按右键然后选择 Export --> Save Selected Features As...,如 图 116

../../_images/132.png

11.把新文件命名为"brazil_boundary.shp",确认一下 Add saved file to map 有开启,最后按下 OK,如 图 117

../../_images/142.png
  1. 接着 QGIS 中就可以看到巴西的国界以多边形显示,如 图 118

../../_images/152.png
  1. 接下来选择 Raster ‣ Extraction ‣ Clipper,如 图 119

../../_images/162.png

14. 在 input file (raster) 选择 Merged ,然后把 Output file 命名为"Brazil_mosaic_clippe" 。在底下的:guilabel:Clipping mode 中,选 Mask layer 。然后用刚才存的"brazil_boundary"当作要剪下来的形状,再勾选:guilabel:Open out file after running algorithm 最后按 Run,如 图 120

../../_images/171.png

15.现在裁剪过的新图层就会被载到 QGIS 中。你可能会发现在拼贴边界外围的像素都变成黑色的了,如果要移除的话,请在"Brazil_mosaic_clipped"图层上按右键选择 Properties,如 图 121

../../_images/181.png

16.移到 Transparency`的分页,在 :guilabel:`Additional no data value 那边填上"0" 。如 图 122

../../_images/191.png

17.现在我们就有了一幅不错的、沿着国界裁切的拼贴影像。它可以用来当作其他资料的背景图层,或是直接进行后续的分析,如 图 123

../../_images/201.png