• 【171】IDL读取HDF文件


    ;+
    ;:Description:
    ;    Describe the procedure.
    ;
    ; Author: DYQ 2009-7-19;
    ;
    ;-
    PRO TEST_READHDF
      COMPILE_OPT idl2
      
      file = FILE_DIRNAME(ROUTINE_FILEPATH('TEST_READHDF')) + $
        'dataMOD04_L2.A2004196.0140.005.2007023163311.hdf'
      ;
      IsHdf = HDF_ISHDF(file)
      IF IsHDF EQ 0 THEN RETURN;
      ;调用IDL自带的函数进行当前HDF数据的信息获得
    ;  HDF_INFO,file
      ;如我们需要做一个地理纠正操作
      ;的预处理,那么需要获得原始数据
      ;及经纬度数据网格
      ;数据获取两种方式
      ;通过SD的信息中名字索引来判断,如纬度数据表示Latitude
      ;打开HDFSD文件
      ;
      sd_id = HDF_SD_START(file , /READ)
      
      HDF_SD_FILEINFO,sd_id,nmfsds,attr
      
      FOR i=0,nmfsds-1 DO BEGIN
        sds_id=HDF_SD_SELECT(sd_id,i)
        ;数据集中数据的名字
        HDF_SD_GETINFO,sds_id,name=n,ndims=r,type=t,natts=nats,$
          hdf_type=h,unit=u
        IF n EQ 'Latitude' THEN BEGIN
          HDF_SD_GETDATA,sds_id,latdata
          BREAK
        ENDIF
      ENDFOR
      
      ;自定义读取  ;
      ;计算SD中latitude的索引
      latindex = HDF_SD_NAMETOINDEX(sd_id,'Latitude')
      ;获得所在索引的ID
      Result = HDF_SD_SELECT(sd_id, latindex)
      ;读取数据
      HDF_SD_GETDATA, Result, tempLatData
      
      ;查看是否读取结果一致
      HELP,ARRAY_EQUAL(latdata,tempLatdata)
      
    END
    ;
    ;
  • 相关阅读:
    java 枚举类小结 Enum
    hibernate查询
    java装饰者模式理解
    内部类学习
    java使用json将HashMap转化成javabean小例子
    HashMap存储数据赋值javabean简单示例
    java数组转化成集合
    java正则匹配并提取字串
    Windows cmd命令反斜杠问题
    自动化构建工具
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/4772152.html
Copyright © 2020-2023  润新知