IDL环境栅格文件批量转带地理信息的tiff格式

May ·
更新时间:2024-09-20
· 924 次阅读

ENVI+IDL5.3

在IDL中进行栅格运算后,应用raster.Export, outname, ‘tiff’.直接将影像输出,会丢失投影等信息。此时可以用envi_write_envi_file 指定file_type=tiff和map_info,来写出带有投影信息的tiff文件,但这种方法生成tif文件的同时会单独生成一个hdr头文件。
在这里插入图片描述
如果想用raster.save方法输出文件,并且将头文件信息写入tiff,可用如下方法,将dat和相应的hdr文件批量转换成tiff。

以下代码用于解决在IDL中运算生成的dat文件批量转换成带有地理信息的tiff文件格式。
(前提是,dat文件的hdr头文件中必须带有地理信息)

完整代码下载地址

部分代码如下:

raster=ENVIRaster(data,uri=uri) raster.save ;写出地理信息,需要同一景带有地理信息的影像来获取信息 map_info=envi_get_map_info(fid=fid) ENVI_SETUP_HEAD, fname=uri, $ ns=ns, nl=nl, nb=1, $ data_type=data_type, $ MAP_INFO = MAP_INFO , $ INTERLEAVE =0, $ offset=0, /write ;dat转tif raster=e.OpenRaster(filename) raster.Export, outname, 'tiff' raster.close

可能有更好的方法或者接口直接在tiff中写入投影信息,比如:ENVIRasterMetadata,但官方没有给出能够写地理信息的样例,以上办法可取后,我也没有再去尝试。


作者:江北20190411



idl 地理信息 地理

需要 登录 后方可回复, 如果你还没有账号请 注册新账号