玛卡巴卡的卡巴卡玛 发表于 2024-5-31 17:52:57

找出长时序遥感影像的缺失日期并用像素均为0的栅格添补缺失日期的文件

  本文先容基于C++语言的GDAL库,基于一个存储大量遥感影像的文件夹,依据每一景遥感影像的文件名中表示日期的那个字段,找出这些遥感影像中缺失的成像日期,并新天生多个像元值全部为0的栅格文件,作为这些缺失日期当日的遥感影像文件的方法。
  起首,我们来看一下本文需要实现的需求。现在有一个文件夹,存储了从2018年第001天到2022年第361天的全部遥感影像,其中每一景图像的像元个数、空间参考信息、NoData值等都是一致的。对于这些遥感影像,原本应该是每10天就有1景;但是由于遥感影像数据有缺失,因此部分日期没有对应的遥感影像。如下图所示,可以看到比如2018年的061这一天,它就没有对应的遥感影像。
https://img2024.cnblogs.com/blog/3080295/202405/3080295-20240531182242187-1005917441.png
  但是,由于后期处置惩罚的需要,我们现在盼望对这些缺失日期的遥感影像文件加以填补——详细的需求是,我们新建若干个像元值全部为0的栅格文件,作为每一个缺失日期当日的遥感影像文件;这些填补的、新的遥感影像文件的各项信息(比如像元个数、空间参考信息等)都和原本的文件一致即可,只要包管全部的像元都是0就行。
  知道了需求,我们就可以开始代码的撰写。本文用到的代码详细如下所示。其中,关于C++语言配置GDAL库的方法,各人可以参考文章在Visual Studio中部署GDAL库的C++版本(包罗SQLite、PROJ等依赖)。
#include #include #include #include "gdal_priv.h"#include "cpl_conv.h"using namespace std;void create_missing_raster(string path);int main() {    string file_path = R"(E:\02_Project\TIFF\TEST)";    create_missing_raster(file_path);    return 0;}void create_missing_raster(string path){        vector all_file_path;        for (int year = 2018; year
页: [1]
查看完整版本: 找出长时序遥感影像的缺失日期并用像素均为0的栅格添补缺失日期的文件