Matlab 读取不同格式数据
作为一个地信的小白,本科就学会了一个ArcGIS。虽然Matlab, C, Java, C++, C# 等的编程课上了一大堆,但是考完试就完全忘了,妥妥的一个代码小白,当初连如何切换当前目录都不会……
读研后,发现Matlab处理遥感相关的数据真的方便。尤其是处理全球性的数据时(如再分析数据,模式输出数据……),大多为.nc格式,跟着小白看看这些格式的数据如何读取吧。
1、 .nc文件读取
(以读取ECMWF再分析数据为例,使用ncread函数)
cd filepath //首先转到数据存放目录下
ncinfo('ECMWF_1501.nc'); //使用ncinfo函数读取数据信息,查看数据中的变量
par01 = ncread('ECMWF_1501.nc','par');//选择Variables中的par读取
这样我们成功地把光合有效辐射给读进来了,此代码也可读取.nc4 格式的文件。
2、 .tif 文件读取
(以读取0.05°的MOD12Q1土地利用数据为例,使用imread函数)
cd filepath //首先还是转到数据存放目录下
Info = imfinfo('MOD12Q1_Land_Cover_Type2_0.05deg.tif'); //使用iminfo函数读取数据信息
mod12_L2= imread('MOD12Q1_Land_Cover_Type2_0.05deg.tif'); //使用imread函数读取tif数据,得到一个3600*7200的矩阵
3、 .hdf文件读取
HDF格式的文件可先使用HDFView等软件先查看数据信息,但是小白比较懒,一般都直接使用Matlab查看……
(以读取hdf格式的MOD12Q1土地利用数据为例, 使用hdftool函数,超简单超好用!)
hdftool('MOD12Q1.A2001001.h00v09.004.2004358134002.hdf')
输入上面的代码后出现如下界面
会有两种方式(HDF,EOS)来查看HDF格式文件,然后你想导入哪个变量就从右下角的“数据导入命令”里COPY 代码就OK啦,是不是超简单呀~