% Author: xxhhoddity
% Published by CSDN, 2019
% Reference
% [1] http://blog.sciencenet.cn/blog-700639-1081275.html
% ------------ files in the directory to process ---------------
% format: ndvi3g_geo_v1_yyyy_mm.nc4
% e.g.: ndvi3g_geo_v1_1981_0712.nc4
% ---------------- the code ----------------
function GIMMS3gv1_percentile_nc4totiff()
clc; clear;
%% Browse folder which containing GIMMS3gv1 files as current folder of MATLAB
%% read the netCDF4 filenames by wildcast
filename = 'ndvi3g*.nc4';
% file list
Ifiles = dir(filename);
% file counts
nIfiles = length(Ifiles);
%% add the referenceinformation
% set the maximum andminimun latitude and longitude
% initial image lat [-90 90] lon[-180 180]
latlim = [-90 90];
lonlim = [-180 180];
% define the geo-reference
R = georefcells(latlim,lonlim,[2160 4320],'ColumnsStartFrom','north');
%% Read and convert
for nf = 1:nIfiles
Ifilename = Ifiles(nf).name;
Ifiletime = Ifilename(end-6);
year = Ifilename(end-12:end-9);
year = str2double(year);
IData = ncread(Ifilename,'percentile');
% each.nc4 file contain 12 NDVI images in half year
if str2double(Ifiletime)==1
Imonth = 1;
else
Imonth = 7;
end
if Imonth==1
for i = 1:2:12
ndvidata = IData(:,:,i);
ndvidata = ndvidata';
% name the files as yyyymma.tif or yyyymmb.tif
percentilefilename = ['percentile_',num2str(year),num2str((i+1)/2,'%02d'),'a.tif'];
% save a TIFF image
geotiffwrite(percentilefilename,ndvidata,R);
end
for i=2:2:12
ndvidata = IData(:,:,i);
ndvidata = ndvidata';
% name the files as yyyymma.tif or yyyymmb.tif
percentilefilename = ['percentile_',num2str(year),num2str(i/2,'%02d'),'b.tif'];
% save a TIFF image
geotiffwrite(percentilefilename,ndvidata,R);
end
elseif Imonth==7
for i = 1:2:12
ndvidata = IData(:,:,i);
ndvidata = ndvidata';
% name the files as yyyymma.tif or yyyymmb.tif
percentilefilename = ['percentile_',num2str(year),num2str((i+1)/2+6,'%02d'),'a.tif'];
% save a TIFF image
geotiffwrite(percentilefilename,ndvidata,R);
end
for i=2:2:12
ndvidata = IData(:,:,i);
ndvidata = ndvidata';
% name the files as yyyymma.tif or yyyymmb.tif
percentilefilename = ['percentile_',num2str(year),num2str(i/2+6,'%02d'),'b.tif'];
% save a TIFF image
geotiffwrite(percentilefilename,ndvidata,R);
end
end
end
return
%%

xxhhoddity
- 粉丝: 9
最新资源
- 基于Godot引擎的Android平台自动化导出解决方案_支持GithubCI持续集成_提供完整项目导出工作流_包含多平台配置示例_支持加密压缩保护_适用于移动游戏开发_包含详细.zip
- 基于Flutter框架开发的综合性学习项目_包含基础布局_数据请求_MVP架构_上拉加载_下拉刷新_主题切换_路由导航_Drawer侧边栏等核心功能_通过GankioAPI获取数.zip
- 基于GitlabJenkinsHarborSonarqubeDockerKubernetes的SpringCloud微服务架构持续集成与持续交付解决方案_实现自动化构建代.zip
- 基于Golang开发的PayJS支付接口SDK_支持微信支付和支付宝个人支付接口_提供扫码支付_付款码支付_收银台支付_JSAPI支付_小程序支付_人脸支付等完整支付功能_包含订单.zip
- 基于Gulp构建的前端多项目自动化工作流管理工具_零配置开箱即用_支持JS模块化开发_内置SCSS工具方法_精灵图自动合成_本地静态服务器_响应式CSS解决方案_项目热更新_支持P.zip
- 基于ILRuntime实现的Unity3D热更新解决方案_类似XLUA功能的热修复插件_专为Unity游戏开发设计的热补丁系统_支持C脚本热更无需Lua_包含自动生成注入代码和委.zip
- 基于IndexedDB的浏览器端高性能数据存储管理工具类_提供初始化数据库_添加数据_更新数据_查询数据_删除数据_清空数据等10种完整CRUD操作_支持大数据量存储_单条记录可达.zip
- 基于Java8开发的通用权限树结构转换工具_支持注解配置与常规配置两种使用方式_实现扁平列表数据到树形结构的自动转换_适用于后台管理系统权限树组织架构树分类目录树等场景_核心功.zip
- 基于Java开发的Excel转PDF高效转换工具_支持单文件多文件批量转换_合并多个Excel到单个PDF_自动生成导航栏_支持Sheet页锚点定位_企业文档格式转换解决方案_适用.zip
- 基于Koa2_vue2_webpack的全栈Nodejs企业级解决方案_集成session_route_REST_API_data模块_GRPC_saluki_日志监控_调用链路.zip
- 基于Kubernetes容器编排平台的Jenkins_Pipeline持续集成与持续部署自动化工作流系统_实现从代码提交到生产环境部署的全流程自动化管理_包含Gogs代码仓库_Ha.zip
- 基于LayaAir17引擎的小游戏资源离线缓存解决方案_实现微信小游戏资源下载解压与客户端缓存管理_替代Laya自带缓存方案_支持音频图片Atlas等资源统一缓存_解决微信开发工.zip
- 基于Laya引擎开发的UI组件库_包含轮播图组件_旋转木马效果组件_图片上传组件_本地缓存管理_剪贴板复制功能_二维码生成功能_适用于H5游戏开发_网页应用开发_微信小程序开发_提.zip
- 基于Linux的开源邮件服务器解决方案EwoMail_集成Postfix_Dovecot_Amavisd_LNAMP等组件_提供SMTP_IMAP_POP3_反垃圾_防病毒_Web.zip
- 基于Live2D_SDK和ARKit的面部追踪虚拟形象互动应用程序_支持iOS设备实时面部表情捕捉与驱动_用于二次元虚拟主播Vtuber形象展示与互动娱乐_包含多语言界面面部动.zip
- 基于Llama-IndexGPT-Index构建的智能文档问答系统_后ChatGPT时代企业级知识库解决方案_支持多格式文档索引与语义搜索_集成OpenAI-API实现自然语言.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


