以中国日降雨量月均数据(nc文件包含12月)为例,提取某经纬度下的多月份像元值。
(【数据分享】1960-2020年中国1公里分辨率月降水数据集)
一、确定经纬度所在行列号
以92.18E,30.475N为例,首先在Matlab中输入以下代码:
ncdisp('CN_Prec_MonthlyMean_1km_2019.nc'); %读取nc文件信息
lat = ncread('CN_Prec_MonthlyMean_1km_2019.nc','latitude');
lon = ncread('CN_Prec_MonthlyMean_1km_2019.nc','longitude');
pre = ncread('CN_Prec_MonthlyMean_1km_2019.nc','pre') ;
工作区获取到lat、lon和pre的信息,打开lat和lon文件
92.18E定位至92.1754~92.1838,确定的单元格为92.1754所在的2248(选择数值小的单元格);
30.475N定位至30.4718~30.4634,确定的单元格为30.4718所在的2771(选择数值小的单元格);
二、提取多月单像元数值
将得到的行列号输入至以下代码,得到多月单像元数值——2019.xls:
ncdisp('CN_Prec_MonthlyMean_1km_2019.nc'); %读取nc文件信息
lat = ncread('CN_Prec_MonthlyMean_1km_2019.nc','latitude');
lon = ncread('CN_Prec_MonthlyMean_1km_2019.nc','longitude');
pre = ncread('CN_Prec_MonthlyMean_1km_2019.nc','pre') ;
pre1= [];
for i = [1:12]
pre1 = [pre1;pre(2771,2248,i)];
end
xlswrite('2019',pre1)
完毕。
疑问待解决:
1、如何不通过经纬度范围,使用find函数批量提取多经纬度对应的行列号?
2、如何批量提取大范围的数值?
参考链接:
NetCDF(.nc)文件数据的读取_哔哩哔哩_bilibili
5分钟!利用MATLAB读取.nc(netCDF)文件并转Excel格式_哔哩哔哩_bilibili文章来源:https://www.toymoban.com/news/detail-468788.html
请教:matlab提取数据文件中某个经纬度的数据?谢谢! – MATLAB中文论坛文章来源地址https://www.toymoban.com/news/detail-468788.html
到了这里,关于利用MATLAB读取.nc文件单像元数值并转为Excel格式(以中国日降雨量月均数据为例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!