模仿网站建设,大学生网站设计论文范文,sns电商网站,wap端和app有什么区别ENVI使用的是通用栅格数据格式#xff0c;包含一个简单的二进制文件#xff08; a simple flat binary #xff09;和一个相关的ASCII#xff08;文本#xff09;的头文件。 利用其他语言如C/C等直接读取ENVI的数据#xff0c;则可以先对hdr文件进行解析#xff0c;获取… ENVI使用的是通用栅格数据格式包含一个简单的二进制文件 a simple flat binary 和一个相关的ASCII文本的头文件。 利用其他语言如C/C等直接读取ENVI的数据则可以先对hdr文件进行解析获取数据类型。 hdr的文件结构如下 ENVIdescription {Canon City, Colorado, Landsat TM, Calibrated to Reflectance }samples 640lines 400bands 6header offset 0file type ENVI Standarddata type 1interleave bsqsensor type Landsat TMwavelength units Micrometersz plot range {0.00, 100.00}z plot titles {Wavelength, Reflectance}band names {TM Band 1, TM Band 2, TM Band 3, TM Band 4, TM Band 5, TM Band 7}wavelength {0.48500, 0.56000, 0.66000, 0.83000, 1.65000, 2.21500}
解析的关键信息有samples640列lines400行header offset0头信息偏移量-单位为字节data type1数据类型代码见下表。 数据类型 代码 字节型 1 16位有符号整型 2 32位有符号长整型 3 32位无符号长整型 13 浮点型 4 双精度浮点型 5
对常用数据类型文件进行了读写的测试值完全一致。 利用IDL进行文件写出 ;;C读取ENVI格式技术测试代码; :输出不同数据类型的二进制文件;; Author: DYQ 2011年6月2日;; BBS http://bbs.esrichina-bj.cn/ESRI/forum-28-1.html; E-Mail: dongyqesrichina-bj.cn; Blog: http://hi.baidu.com/dyqwrp;-PRO test_out_binoutdir c:\temp\if file_test(outdir,/directory) ne 1 then file_mkdir,outdir;字节byteOPENW,lun,outdira.dat,/get_lunWRITEU,lun,BINDGEN(10)FREE_LUN,lun;整型intOPENW,lun,outdirb.dat,/get_lunWRITEU,lun,INDGEN(10)FREE_LUN,lun;浮点floatOPENW,lun,outdirc.dat,/get_lunWRITEU,lun,FINDGEN(10)FREE_LUN,lun;长整型longOPENW,lun,outdird.dat,/get_lunWRITEU,lun,LINDGEN(10)FREE_LUN,lun;双精度doubleOPENW,lun,outdire.dat,/get_lunWRITEU,lun,DINDGEN(10)FREE_LUN,lunEND //;C读取ENVI格式技术测试代码#include stdafx.h#include iostream.hint main(int argc, char* argv[]){printf(Hello ! Successful Using C! ^_^ \n);int i,n;FILE*fp;//二进制字节型char *bdatanew char[10];fpfopen(c:\\temp\\a.dat,rb);nfread(bdata,1,10,fp);fclose(fp);for(i0;i10;i){cout二进制;couti:short(bdata[i])endl;}//二进制整型文件short int *idatanew short int[10];fpfopen(c:\\temp\\b.dat,rb);nfread(idata,2,10,fp);fclose(fp);for(i0;i10;i){cout整型;couti:idata[i]endl;}//二进制浮点文件float *fdatanew float[10];fpfopen(c:\\temp\\c.dat,rb);nfread(fdata,4,10,fp);fclose(fp);for(i0;i10;i){cout浮点;couti:fdata[i]endl;}//二进制长整型文件long *ldatanew long[10];fpfopen(c:\\temp\\d.dat,rb);nfread(ldata,4,10,fp);fclose(fp);for(i0;i10;i){cout长整型;couti:ldata[i]endl;}//双精度doubledouble *ddatanew double[10];fpfopen(c:\\temp\\e.dat,rb);nfread(ddata,8,10,fp);fclose(fp);for(i0;i10;i){cout双精度型;couti:ddata[i]endl;}return 0;}
推荐文章:C/C下读取ENVI栅格文件格式 - ENVI-IDL技术殿堂 - 博客园
关于ENVI遥感影像的hdr元数据信息设置与读取C 、Python_envi hdr数据-CSDN博客 FR:徐海涛(hunkxu)