​Matlab 读取不同格式数据

作为一个地信的小白,本科就学会了一个ArcGIS。虽然Matlab, C, Java, C , C# 等的编程课上了一大堆,但是考完试就完全忘了,妥妥的一个代码小白,当初连如何切换当前目录都不会……

matlab有图怎么回事(地理人你会用Matlab吗)(1)

读研后,发现Matlab处理遥感相关的数据真的方便。尤其是处理全球性的数据时(如再分析数据,模式输出数据……),大多为.nc格式,跟着小白看看这些格式的数据如何读取吧。

matlab有图怎么回事(地理人你会用Matlab吗)(2)

1、 .nc文件读取

(以读取ECMWF再分析数据为例,使用ncread函数

cd filepath //首先转到数据存放目录下

ncinfo('ECMWF_1501.nc'); //使用ncinfo函数读取数据信息,查看数据中的变量

par01 = ncread('ECMWF_1501.nc','par');//选择Variables中的par读取

matlab有图怎么回事(地理人你会用Matlab吗)(3)

这样我们成功地把光合有效辐射给读进来了,此代码也可读取.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')

输入上面的代码后出现如下界面

matlab有图怎么回事(地理人你会用Matlab吗)(4)

会有两种方式(HDF,EOS)来查看HDF格式文件,然后你想导入哪个变量就从右下角的“数据导入命令”里COPY 代码就OK啦,是不是超简单呀~

matlab有图怎么回事(地理人你会用Matlab吗)(5)

,