nc、hdf等数据转为带地理信息的geotif 您所在的位置:网站首页 matlab读取hdf数据文件 nc、hdf等数据转为带地理信息的geotif

nc、hdf等数据转为带地理信息的geotif

2023-11-26 19:44| 来源: 网络整理| 查看: 265

在做工作的时候会碰到很多nc格式的数据,并且读取的数据文件是长时间序列的,具有相同的地理投影与地理范围。

通常会用IDL来读取数据,但是读取的数据如何变为带有地理信息的数据,一直都是个问题。

以下是我的常用方法和尝试了但个人用起来不方便的方法(很主观,勿喷)

一般情况,除了data,也就是你获取的变量数据之外,还会有和data相同矩阵大小的经度和纬度矩阵。这两个是建立地理信息必要的东西。

1、利用arcmap打开nc数据,此时如果能够成功获取具有地理信息的数据,再保存成tif文件。在IDL中利用geoinfo赋值即可。(方便、快捷)

但是有些低版本的arcmap打开并不能带地理信息

2、利用envi里的Georeference from IGM功能建立地理信息。(稍微麻烦了些)

首先选择data,再选择X(经度)、Y(纬度)。

之后在弹出的地理/投影坐标窗口中,“Input Projection”默认选择地理经纬度, “ Output Projection ” 根 据需求选择或自定义。一般我都采用自定义。

这里可以先利用panoly读取nc数据文件,或者上网搜索,获取这个文件的投影和地理坐标信息。

以下为例子

下图为文件的地理坐标信息

之后ENVI窗口中的填写方法如图,注意标准纬线和中央经线的填写

随后会让你填写pixel size,默认就好,如果还有rotate啥的,检查一下前面的标准纬线和中央经线是否写错。

生成之后注意核对图像大小是否和原图一样,如果不一样,可能是地理/投影坐标信息输入错误,或者pixel size你修改了。(注意:后来发现有时候它判断会错误,按照数据官方提供的坐标和大小范围填写,rotation甚至从ENVI自动改的改回为0才对了)

最后将输出的图像转为tif,读写其他nc数据,利用IDLwrite tiff函数将这个图像的geoinfo赋值即可。

3、利用matlab读取,并建立地理信息(网上能搜到例子,但是我经常用极投影,因此并不是很规矩的经纬网,不能用)

4、python读取,尝试了利用xarray等库读取(不知道为啥读取的地理信息错误,建立之后图像的地理范围很小,可能我没太搞懂吧,毕竟我python较渣)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有