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

打印 上一主题 下一主题

主题 896|帖子 896|积分 2688

  本文先容基于C++语言的GDAL库,基于一个存储大量遥感影像文件夹,依据每一景遥感影像的文件名中表示日期的那个字段,找出这些遥感影像中缺失的成像日期,并新天生多个像元值全部为0的栅格文件,作为这些缺失日期当日的遥感影像文件的方法。
  起首,我们来看一下本文需要实现的需求。现在有一个文件夹,存储了从2018年第001天到2022年第361天的全部遥感影像,其中每一景图像的像元个数、空间参考信息、NoData值等都是一致的。对于这些遥感影像,原本应该是每10天就有1景;但是由于遥感影像数据有缺失,因此部分日期没有对应的遥感影像。如下图所示,可以看到比如2018年的061这一天,它就没有对应的遥感影像。

  但是,由于后期处置惩罚的需要,我们现在盼望对这些缺失日期的遥感影像文件加以填补——详细的需求是,我们新建若干个像元值全部为0的栅格文件,作为每一个缺失日期当日的遥感影像文件;这些填补的、新的遥感影像文件的各项信息(比如像元个数、空间参考信息等)都和原本的文件一致即可,只要包管全部的像元都是0就行。
  知道了需求,我们就可以开始代码的撰写。本文用到的代码详细如下所示。其中,关于C++语言配置GDAL库的方法,各人可以参考文章在Visual Studio中部署GDAL库的C++版本(包罗SQLite、PROJ等依赖)
[code]#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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表