使用R语言中的raster包批量拼接栅格遥感影像

本文介绍了如何使用R语言中的raster包,对文件夹中的大量栅格遥感影像进行遍历、读取,并逐一对每一景栅格图像进行拼接、融合,从而实现全部栅格遥感影像拼接为完整的一景图像的方法。

如果需要使用Python语言实现类似的批量拼接、镶嵌操作,可以参考Python arcpy创建栅格、批量拼接栅格和Python ArcPy批量拼接长时间序列栅格图像这两篇文章。

首先,我们来看一下本文所需实现的需求。现有一个文件夹,其中含有大量栅格遥感影像,这些遥感影像均为同一成像时间、不同空间范围的遥感影像。我们希望对这些遥感影像加以拼接,最终得到一景将这里各个图像拼接后的大图像。

接下来,我们需要为栅格遥感影像的拼接做准备。首先,通过library(raster)代码导入本文所需的R语言raster包。然后使用list.files()函数遍历指定文件夹,获取全部待拼接的遥感影像。

接下来,通过for循环将每一个遥感影像的文件名转换为栅格对象类型。然后,使用mosaic()函数实现栅格遥感影像的拼接。由于mosaic()函数在处理重叠区域时需要一些辅助参数,我们通过do.call()函数来调用mosaic()函数,同时传递这些参数。

接下来,我们通过merge()函数来实现遥感影像的融合。merge()函数与mosaic()函数功能相似,但在处理重叠区域时默认选择位于顶层的遥感影像的像元数值。

最后,将拼接或融合后的结果图像通过writeRaster()函数保存。运行上述代码,即可获得拼接或融合后的结果图像。

至此,我们完成了批量拼接或融合栅格遥感影像的操作。

标签:游戏攻略