GPM数据集
GPM: Global Precipitation Measurement
最近需要用到这个数据集,将读到的有用的资料进行整合
比如这个数据集:
final 终期多卫星产品
L3级别
1 day 时间分辨率
0.1°×0.1°空间分辨率
注意数据的单位,我这下载的是month数据,单位为mm/hr
下载就是直接使用idm或者其他下载器进行下载
GPM降水量数据处理
导入matlab进行处理
我的目的是将nc4文件转为tif文件,用arcgis的模型构建器我试了很久,但是就是没成功。maybe我方法有问题吧...放弃这种方法
gpt上面一问,2分钟搞定
%%%批量将netcdf文件转为栅格文件
%%%其中要有地理坐标系下的栅格文件作为参考
% 设置输入和输出目录
inputDir = ''; % NetCDF 文件夹路径
outputDir = ''; % 输出 GeoTIFF 文件夹路径
referFilePath = ''; % 地理参考影像路径
% 确保输出目录存在
if ~exist(outputDir, 'dir')
mkdir(outputDir);
end
% 读取 refer.tif 的地理参考信息
[referData, referR] = geotiffread(referFilePath); % 读取 GeoTIFF 的数据和地理参考信息
% 获取 NetCDF 文件列表
ncFiles = dir(fullfile(inputDir, '*.nc4'));
% 遍历所有 NetCDF 文件
for i = 1:length(ncFiles)
% 获取文件的完整路径
ncFilePath = fullfile(inputDir, ncFiles(i).name);
% 读取 'precipitation' 变量的数据
precipData = ncread(ncFilePath, 'precipitation');
% 获取 NetCDF 数据的大小
[rows, cols] = size(precipData);
% 获取参考影像的大小
[refRows, refCols] = size(referData);
% 如果 NetCDF 数据的大小与参考影像的大小不同
if rows ~= refRows || cols ~= refCols
warning('Data size mismatch: %s. Skipping file.', ncFiles(i).name);
continue; % 跳过当前文件
end
% 创建 GeoTIFF 文件路径
[~, name, ~] = fileparts(ncFiles(i).name);
tifFilePath = fullfile(outputDir, [name, '.tif']);
% 写入 GeoTIFF 文件,使用 refer.tif 的地理参考信息
geotiffwrite(tifFilePath, precipData, referR);
fprintf('Converted %s to %s\n', ncFiles(i).name, tifFilePath);
end
这里得到的单位是mm/hr,如果要计算月降水量,还得乘以24*月份天数
在找教程的过程当中发现这个网站给出了一些数据处理的示例代码,但是我没用上,没找到我这种数据格式的处理代码:xxx.HDF5.nc4
有一些其他数据的,以后可能用得上,现在暂时记录
费时方法
当然也看到过有人介绍过用arcgis里面的netcdf转栅格的批处理工具进行处理,太麻烦了,一个一个点得点到啥时候
这里说批量将名字复制到exccel中,在粘贴到arcgis中,我自己操作好像不行
参考
GPM(全球卫星降水计划)数据集介绍与下载 - 哔哩哔哩 (bilibili.com)
NASA全球GPM免费降雨数据下载(2021年11月更新)_降水量数据下载-CSDN博客
Matlab / ArcGIS 处理GPM全球月均降水数据_gpm降水数据-CSDN博客
4 长江流域降雨量可视化 - GIS&RS 学习站 (gis-xh.github.io)
ASCII栅格的显示_以常见的 ascii 码存储的栅格文本文件为例,试解释其前六行所记录数据涵义。-CSDN博客
Python| 水文 |批量读取NC文件降水数据并导出为Excel相应格式_netcdf4库中降水数据的代码-CSDN博客