如何利用Matlab和Python读取Landsat/TM数据

不行动,永远得不到结果。——卜老师的男神

Matlab读取遥感数据

Matlab读取FastB格式数据

方法一:由于FastB格式数据是以二进制文件的形式读入,因此可直接通过fopen、fread、fwrite、fclose等函数对文件进行打开、读写、关闭等操作。代码如下:

方法二:在Matlab中,可直接利用multibandread函数对遥感二进制影像进行读取,通过头文件获取相应的参数,如行数、列数、波段数、影像存储类型(bsq、bil、bip)、数据类型(Byte、Integer等)。代码如下(PS:仅在for循环的内容和上述代码不同,其余相同):注:’ieee-le’表示以little-endian的排序方式读取或写入字节,具体详情可参考帮助文档。默认情况下,当前支持的所有平台都使用little-endian排序方式对新文件进行排序。

Matlab读取GEOTIFF格式数据

可直接通过imread函数读取tiff影像数据,但是速度较慢。代码如下:

若要读取多个单波段数据并进行波段合成,则代码如下:

Matlab也可通过geotiffread函数读取TIFF影像,并获取地理信息。

Python读取遥感数据

Python有着浩如烟海的第三方库,可调用各种功能,本期所使用到的为GLOB模块和GDAL库。

有多个第三方库支持GEOTIFF文件的读写,但对于包含地理空间坐标信息和投影信息的遥感影像来说,GDAL则展现出它独有的魅力,它是一个用以读写、转换地理空间数据的开源库,可处理各种栅格地理数据格式。

GLOB是用来进行文件相关操作的包,用以查找所需要的文件。

Python读取FastB格式数据

Python可直接通过open和read函数对文件进行打开和读取,其中参数’rb’表示以二进制格式打开一个文件,具体代码如下:

Python读取GEOTIFF格式数据

分别打开单波段影像数据,并将其存放到data变量中,代码如下:

如果直接打开一个多波段数据,并读取数据,可以使用以下代码:

为你使用的编程语言投上一票吧!

下期预告:

遥感文献常用免费遥感数据及其下载平台(五)

——国产数据系列

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180604G1UQ9600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券