基于MODIS观测的全球格点数据处理与GeoTIFF栅格化存储

文章目录


前言

这段 MATLAB 代码的目的是从 MODIS 观测火灾数据(2001-2021)创建全球 0.1° 分辨率的 GeoTIFF 栅格数据,并按年和月存储 FDI(火灾指数)和 Daynight(昼夜信息)数据。
其主要创新点在于:
高效的空间索引处理:利用 discretize 计算经纬度索引,确保数据正确匹配到栅格。
灵活的时间分组:支持按年份和月份分别统计 FDI 和 Daynight 数据。
最大化数据填充策略:使用 accumarray 按栅格计算 FDI 和 Daynight 的最大值。
自动存储:输出为 GeoTIFF 格式,并自动创建存储文件夹。

目的

这段 MATLAB 代码的目的是从 MODIS 观测火灾数据(2001-2021)创建全球 0.1° 分辨率的 GeoTIFF 栅格数据,并按年和月存储 FDI(火灾指数)和 Daynight(昼夜信息)数据。
其主要创新点在于:
高效的空间索引处理:利用 discretize 计算经纬度索引,确保数据正确匹配到栅格。
灵活的时间分组:支持按年份和月份分别统计 FDI 和 Daynight 数据。
最大化数据填充策略:使用 accumarray 按栅格计算 FDI 和 Daynight 的最大值。
自动存储:输出为 GeoTIFF 格式,并自动创建存储文件夹。

代码

clc; clear; close all; % 清空命令窗口、工作区变量,并关闭所有图形窗口

% 定义主文件夹路径,存储火灾观测数据
mainFolder = 'I:\Modisobseved fire2001-2021\CSV\'; 

% 加载合并后的 MODIS 火灾观测数据(假设存储在 allDataunique 变量中)
load(fullfile(mainFolder, 'merged_data.mat'), 'allDataunique');

% === 定义全球 0.1° 分辨率的经纬度范围 ===
lat_range = -90:0.1:90;  % 纬度范围:-90° 到 90°,步长 0.1°
lon_range = -180:0.1:180; % 经度范围:-180° 到 180°,步长 0.1°

% 创建空栅格,用 NaN 填充
FDI_grid = nan(length(lat_range), length(lon_range)); % 存储 FDI 值
Daynight_grid = nan(length(lat_range), length(lon_range)); % 存储 Daynight 值

% === 提取时间信息 ===
years = floor(allDataunique(:, 3) / 10000);  % 提取年份(YYYYMMDD 格式数据的前四位)
months = floor(mod(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值