14.4. 栅格文件的基本处理

14.4.1. 修改投影系统

图像投影系统的修改(也称为“重投影”)可以使用 gdalwarp 命令完成。这种处理可能会产生严重的后果, 因为它涉及图像几何形状的修改,从而重新采样。根据选择的选项,图像大小、空间分辨率和像素值可能会受到影响。

QGIS处理步骤

1.重投影

目标是转换图像以适应Lambert 93(RGF93)投影系统。

在菜单栏中:

  • 单击 Raster > Projections > Warp (Reproject)…

在扭曲窗口中:

  • 设置如下:

    • 输入文件: LC81990262017019LGN00_B2

    • 输出文件: LC81990262017019LGN00_B2_L93_TEST.TIF

    • 来源SRS: EPSG:32631

    • 目标SRS: EPSG:2154

  • 单击“OK”

_images/image22_xk7.jpeg

2.结果分析

除了投影系统的变化外,图像的元数据(输入和输出)还有其他差异。经过转换,空间分辨率从30 m增加到30.00801077323341 m。 默认情况下,GDAL 计算的分辨率尽可能接近原始图像。这很有用,尤其是当从地理坐标系切换到投影坐标系时。 但是,它也可能在后续处理中造成问题。

3.重投影设置

这里的目标是在此时重新投影图像,以确定输入图像的空间分辨率(30 m)。

在菜单栏中:

  • 在“Warp”窗口中单击 Raster > Projections > Warp (Reproject)… :

  • 设置如下:

Input file: LC81990262017019LGN00_B2
Output file: LC81990262017019LGN00_B2_L93.TIF
Source SRS: EPSG:32631
Target SRS: EPSG:2154
  • 单击编辑按钮|image6|,

  • 在命令编辑字段中插入以下选项:-tr 30 30

  • 单击“确定”

4.Landsat光谱波段处理

  • 为其他Landsat光谱波段再现步骤3

  • 按以下方式命名输出:

输入图像名称输出图像名称

输入图像名称

LC81990262017019LGN00_B3.TIF
LC81990262017019LGN00_B4.TIF
LC81990262017019LGN00_B5.TIF

输出图像名称

LC81990262017019LGN00_B3_L93.TIF
LC81990262017019LGN00_B4_L93.TIF
LC81990262017019LGN00_B5_L93.TIF

5.相应的GDAL 命令

上面使用的工具相当于在终端中启动以下命令:

>gdalwarp -s_srs EPSG:32631 -t_srs EPSG:2154 -of GTiff -tr 30
30LC81990262017019LGN00_B2.TIF
LC81990262017019LGN00_B2_L93.TIF

其中:

  • [-s_srs]:描述源空间引用,

  • [-t_srs]:描述目标空间参考,

  • [-of]:设置输出格式,

  • [-tr]:设置输出文件的分辨率(以s_srs为测量单位)。

一些有用的选项:

  • [-te xmin-ymin-xmax-ymax]:指定输出图像的空间范围,

  • [-ts width height]:设置输出文件大小(以像素为单位),

  • [-r]:设置要使用的重采样方法,

注意:修改像素值的方法不是近(最近邻)方法。

  • [-dstnodata]:不设置数据值,

  • [-cutline]:使用矢量数据剪切输出图像。

有关更多信息,请参阅以下网页: http://www.gdal.org/gdalwarp.html

表2.6.投影变换

14.4.2. 剪切图像

目标是根据空间范围或载体数据来剪切图像。根据选择的选项,GDalTools建议的工具使用不同的GDAL 命令。

QGIS处理步骤

1.打开图像

在QGIS中:

  • 打开第2.2.4.1节中创建的图像LC81990262017019LGN00_B2_L93.TIF。

  • 打开矢量文件 DEPARTEMENT.shp ,其中存储部门边界(多边形)

2.根据空间范围切割图像

目标是根据空间范围切割图像。Thisextend是由两个坐标定义的矩形:西北角(左上)和东南角(右下)。 如果此窗口与输入像素不对齐,则在最近邻居重新采样的情况下,输出图像将轻微移动(默认情况下)。

在菜单栏中:

  • 单击 Raster > Extraction > Clipper…

在Clipper窗口中:

  • 设置如下:

    • 输入文件:LC81990262017019LGN00_B2_L93

    • 输出文件: LC81990262017019LGN00_B2_L93_CLIP.TIF

    • 剪裁模式:范围

    • 范围坐标:
      • 1: x = 630000 ; y = 6872000 (左上)

      • 2: x = 647000 ; y = 6853000 (右下)

      • 注意:也可以在QGIS地图画布中绘制范围。

  • 单击“OK”

3.结果分析

与重新投影一样,Clipper命令可以更改输出空间分辨率。由于指定的空间延伸坐标并非全是30的倍数, 因此X上的输出分辨率为29.9824 m,Y上的输出分辨率为29.9685 m。-TR选项解决了这个问题。

4.相应的GDAL 命令

上面使用的工具相当于在终端中启动以下命令:

> gdal_translate -projwin 630000.0 6872000.0 647000.0 6853000.0
-of GTiff LC81990262017019LGN00_B2_L93.TIF
LC81990262017019LGN00_B2_L93_CLIP.TIF

其中:

  • [-projwin*ulx-uly-lrx-lry*]:指定范围坐标的左上角和右下角,

  • [-of]:设置输出格式。

一些有用的选项:

  • [-tr xres yres]:设置输出文件的分辨率,

  • [-r]:设置要使用的重新采样方法。

有关更多信息,请参阅以下网页: http://www.gdal.org/gdal_translate.html

5.根据载体文件剪切图像

目标是根据第75部(巴黎)的行政边界切割形象。与之前的切割不同,该工具使用gdalwarp命令。

在QGIS中:

  • 选择巴黎部门对应的部门图层的多边形:

"NOM_DEPT" = 'PARIS' or
"CODE_DEPT" = '75'
  • 将所选内容另存为 DEPARTMENT_PARIS.shp 。

_images/image24_x1b.jpeg

在菜单栏中:

  • 单击 Raster > Extraction > Clipper…

在Clipper窗口中:

  • 设置如下:

    • 输入文件: LC81990262017019LGN00_B2_L93

    • 输出文件: LC81990262017019LGN00_B2_L93_CLIP_PARIS.TIF

    • 剪裁模式:遮罩层

    • 遮罩层: DEPARTMENT_PARIS

  • 选中选项将目标数据集的范围裁剪到剪切线的范围

  • 选中“保持输入光栅的分辨率”选项

  • 单击“OK”

6.结果分析

输出图像根据矢量层范围进行裁剪。多边形外部的所有像素都被指定为0值。空间分辨率保持在30 m。

7.相应的GDAL 命令

上面使用的工具“Clipper”相当于在终端中启动以下命令:

> gdalwarp -cutline DEPARTMENT_PARIS.shp -crop_to_cutline -tr
30.0 30.0 -of GTiff LC81990262017019LGN00_B2_L93.TIF
LC81990262017019LGN00_B2_L93_CLIP_PARIS.TIF

其中:

  • [-tr]:设置输出文件的分辨率,

  • [-of]:设置输出格式,

  • [cutline]:允许使用矢量文件中的混合剪切线,

  • [-crop_to_cutline]:将目标数据集的范围裁剪到剪切线的范围

有关更多信息,请参阅以下网页: http://www.gdal.org/gdalwarp.html

表2.7.图像裁剪

14.4.3. 栅格数据合并

栅格数据合并对应于 gdal_merge.pycommander 的执行。术语合并是指具有不同目标的两种应用程序:一方面, 将条带堆叠在同一文件中(层堆叠),另一方面,创建相邻图像的拼接。

光谱波段堆叠

QGIS处理步骤

1.打开图像

在QGIS中:

  • 打开以下图像:

    • LC81990262017019LGN00_B2_L93.TIF

    • LC81990262017019LGN00_B3_L93.TIF

    • LC81990262017019LGN00_B4_L93.TIF

    • LC81990262017019LGN00_B5_L93.TIF

2.带堆叠目标是将图像堆叠在单个文件中。

在菜单栏中:

  • 单击 Raster > Miscellaneous > Merge…

在合并窗口中:

  • 设置如下:

  • 输入文件:选择QGIS中显示的图像 注意:通过依次选择波段B2至B5,输出文件将组织如下: 波段1:蓝色(B2),波段2:绿色(B3),波段3:红色(B4),波段4:近红外(B5)

  • 输出文件:LC81990262017019LGN00_MS_L93.TIF

  • 选中选项将每个输入文件放置到一个单独的标注栏中

  • 单击“OK”

3.结果分析

结果是一个具有四个光谱带的GeoTIFF文件。这种类型的多频段文件对于在QGIS中显示彩色构图很有用。它也是某些处理的先决条件。

4.相应的GDAL 命令

上面使用的工具相当于在终端中启动以下命令:

> gdal_merge.bat -separate -of GTiff -o

LC81990262017019LGN00_MS_L93.TIF
LC81990262017019LGN00_B2_L93.TIF
LC81990262017019LGN00_B3_L93.TIF
LC81990262017019LGN00_B4_L93.TIF
LC81990262017019LGN00_B5_L93.TIF

其中:

  • [-of]:设置输出格式,

  • [-separate]:将每个输入文件放在一个单独的带中,

  • [-o]:设置输出文件的名称。

一些有用的选项:

  • [-ps pixelsize_x pixelsize_y]: 设置输出文件的分辨率,

  • [-ul_lr ulx uly lrx lry]: 指定输出图像的空间范围。

注意: gdal_merge 工具输入具有相同坐标系的图像。然而,这些图像可能具有不同的空间范围和分辨率。

有关更多信息,请参阅以下网页: http://www.gdal.org/gdal_merge.html

表2.8.创建多频段栅格文件

14.4.4. 图像拼接

QGIS处理步骤

1.打开图片

在QGIS中:

  • 打开以下图像:

    • LC81990262017019LGN00_B2_L93_CLIP.TIF

    • LC81990262017019LGN00_B2_L93_CLIP_PARIS.TIF

显示器上的两个图像相邻,但略有重叠。

2.图像拼接

目标是生成两个输入图像的拼接。

在菜单栏中:

  • 单击 Raster > Miscellaneous > Merge…

在合并窗口中:

  • 设置如下:

    • 输入文件:选择步骤1中打开的两个图像。

    • 输出文件: LC81990262017019LGN00_MOSA.TIF

    • 选中“无数据值”选项,然后输入值0

  • 单击“OK”

3.结果分析

结果是两个输入图像的拼接。考虑无数据值使我们能够使值等于0的像素“透明”。输出处的空间分辨率取决于 gdal_merge 命令 输入中指示的第一图像。如果此图像为LC 81990262017019LGN00_B2_L93_CLIP.TIF,则输出像素的尺寸在X方向 将为29.9824 m,在Y方向将为29.9685 m。相反,它们在X和Y上的长度为30 m。

_images/image25_x28.jpeg
  • LC81990262017019LGN 00_B2_L93_CLIP.TIF

  • LC81990262017019LGN 00_B2_L93_CLIP_PARIS.TIF

_images/image26_x7b.jpeg
  • LC81990262017019L GN00_MOSA.TIF

4.对应GDAL 命令上面使用的工具相当于在终端中启动以下命令:

> gdal_merge -n 0 -a_nodata 0 -of GTiff -o
LC81990262017019LGN00_MOSA.tif
LC81990262017019LGN00_B2_L93_CLIP.TIF
LC81990262017019LGN00_B2_L93_CLIP_PARIS.TIF

其中:

  • [-of]:设置输出格式,

  • [-o]:设置输出文件的名称,

  • [-n]:设置合并时忽略像素的值,

  • [-a_nodata]:将指定的nodata值分配给输出文件。

注意:所有输入图像必须具有匹配数量的频段。

有关更多信息,请参阅以下网页: http://www.gdal.org/gdal_merge.html

表2.9.创建图像拼接

14.4.5. 减轻你的工作!使用虚拟栅格数据(VRT)

GdalTools扩展包中的合并工具使用的 gdal_merge 命令有时会生成大型栅格文件。GDAL通过创建虚拟数据集或VRT提供了 另一种策略。该格式允许通过应用算法(投影的变化、空间分辨率等)来组装异类网格数据在飞行中, 以便它们彼此连贯。由于VRT是GDAL 解释的ML文件,因此在存储方面非常轻便。

QGIS处理步骤

1.打开图像进行堆叠

在QGIS中:

  • 仅打开以下图像:

    • LC81990262017019LGN00_B2_L93.TIF

    • LC81990262017019LGN00_B3_L93.TIF

    • LC81990262017019LGN00_B4_L93.TIF

    • LC81990262017019LGN00_B5_L93.TIF

2.波段堆叠

目标是将图像堆叠在单个VRT文件中。

在菜单栏中:

  • 点击 Raster > Miscellaneous > Build Virtual Rasterl (Catalog)…

在“Virtual Raster”窗口中:

  • 选中“Use visible raster layers for input”选项

注意:处理输出处的波段顺序遵循QGIS层面板中呈现的显示顺序。按照频段号的递减顺序组织Landsat 8文件。

  • 设置如下:

    • 输出文件: LC81990262017019LGN00_MS_L93.VRT

    • 选中“分离”选项

  • 单击“OK”

3.打开拼接图像

在QGIS中:

  • 删除所有数据

  • 仅打开以下图像:

    • LC81990262017019LGN00_B2_L93_CLIP.TIF

    • LC81990262017019LGN00_B2_L93_CLIP_PARIS.TIF

4.图像拼接

目标是将输入图像镶嵌在单个VRT文件中。

在菜单栏中:

  • 单击 Raster > Miscellaneous > Build Virtual Rasterl (Catalog)…

在“Build Virtual Raster”窗口中:

  • 选中“Use visible raster layers for input”选项

  • 设置如下:

    • 输出文件: LC81990262017019LGN00_MOSA.VRT

    • 选中“源无数据”选项,然后输入值0

  • 单击“OK”

5.结果分析

以VRT格式创建的文件在显示屏上给出的结果与使用 gdal_merge 命令获得的结果相同(请参阅2.2.4.3部分)。 但是,创建策略有所不同。构建虚拟栅格并不是生成新图像文件,而是简单地复制输入数据的一个扩展到。 事实上,结果的数据量很小,如下表所示:

_images/image27_xd0.png

VRT文件是一个构造如下的HTML:

_images/image28_xj4.jpeg

根元素VRTDataset对应于输出码的描述。它的rasterXSize和rasterYSize属性以像素形式表达其大小。 它包括与投影系统(SRS)、仿射变换(GeoTransform)、每个频段的特征(VRTRasterBand)等相关的几个子元素。

有关更多信息,请在以下网页上介绍VRT格式: http://www.gdal.org/gdal_vrttut.html

6.相应的GDAL 命令

上面使用的工具相当于在终端中启动以下命令:

  • 对于波段堆叠:

gdalbuildvrt -separate LC81990262017019LGN00_MS_L93.VRT
LC81990262017019LGN00_B2_L93.TIF
LC81990262017019LGN00_B3_L93.TIF
LC81990262017019LGN00_B4_L93.TIF
LC81990262017019LGN00_B5_L93.TIF
gdalbuildvrt -srcnodata 0 LC81990262017019LGN00_MOSA.VRT
LC81990262017019LGN00_B2_L93_CLIP.TIF
LC81990262017019LGN00_B2_L93_CLIP_PARIS.TIF

其中:

  • [-separate]: 将每个输入文件放在一个单独的波段中,

  • [-srcnodata]: 设置合并时被忽略像素的值。

一些有用的选项:

  • [-resolution] 或 [-tr xres yres]:设置输出文件的分辨率,

  • [-te xmin ymin xmax ymax]:指定输出图像的空间范围,

  • [-r]:设置要使用的重新采样方法。

有关更多信息,请参阅以下网页: http://www.gdal.org/gdalbuildvrt.html

表2.10. VRT格式的使用