精华内容
下载资源
问答
  • pyhdf
    2021-03-02 17:56:51

    科学数据集接口

    读取数据科学数据集采用pyhdf中的SD库。在接入数据前需要创造一个SD实例,代表文件。之后通过获取其中的SDS实例得到一个numpy数组,例子如下

    
    from pyhdf.SD import *
    
    d = SD('example.hdf',SDC.READ)) # 创建SD实例
    Lats_SDC = d.select('Latitude') # 创建SDC实例
    Lats_array = Lats_SDC.get() # 获取数据数据组
    d.end() # 关闭SD
    
    

    其中Latitude为参考hdf文件中一个数据集的名称,同理其他名称的数据集可以通过修改select中的名称进行获取。如果需要得到文件中所有数据集名称属性,可以参考SD文件中的说明部分,调用SDAttr类中的方法。

    元数据接口(meta data)

    元数据(meta data)无法通过科学数据集的方式获取,需要通过pyhdf包中的HDF库和VS库进行调用。

    
    from pyhdf.HDF import *
    from pyhdf.VS importt *
    
    HDF_object = HDF('example.hdf').vstart() # 创建HDF实例
    VD_object = HDF_object.attach('metadata') # 创建VD实例
    meta_data = VD_object.read() # 读取vdata
    
    HDF('example.hdf').close()
    
    

    通过以上方法可以获取元数据的numpy数组,同理也可以获取其他各类型的数组。

    pyhdf所有相关包文件中的接口说明都存在目标对应的py文件中,建议通过参考文件中的说明进行使用。

    更多相关内容
  • pyhdf-0.10.3-cp38-cp38-win_amd64
  • pyhdf-0.10.3-cp39-cp39-win_amd64
  • pyhdf-0.10.1-cp36-cp36m-win_amd64.whl Python读取hdf文件 - XerCis的博客 - CSDN博客 https://blog.csdn.net/lly1122334/article/details/102493134
  • python离线安装包,亲测可用
  • pyhdf-0.10.2-cp27-cp27m-win_amd64
  • python离线安装包,亲测可用
  • pyhdf读取和保存hdf文件

    千次阅读 2022-02-18 13:01:06
    参考资料: pyhdf的安装:https://fhs.github.io/pyhdf/install.html ...一、load pyhdf # 三种加载方式 import pyhdf.SD from pyhdf import SD from pyhdf.SD import * 二、保存数据 保存hdf文件

    参考资料:

    pyhdf的安装:https://fhs.github.io/pyhdf/install.html
    pyhdf使用:https://fhs.github.io/pyhdf/modules/SD.html

    hdf是遥感中常用的文件保存格式,下面我们来介绍一下如何用python读取和保存hdf格式的文件。

    一、load pyhdf

    # 三种加载方式
    import pyhdf.SD 
    from pyhdf import SD
    from pyhdf.SD import *
    

    二、保存数据

    保存hdf文件主要可以分为创建hdf文件与配置文件属性、创建数据集与配置属性、数据集赋值、文件关闭等几个部分。

    # Import SD and numpy.
    from pyhdf.SD import *
    from numpy import *
    
    fileName = 'template.hdf'
    # 创建HDF文件
    hdfFile = SD(fileName ,SDC.WRITE|SDC.CREATE)
    
    # Assign a few attributes at the file level
    hdfFile.author = 'It is me...'
    hdfFile.priority = 2
    
    # Create a dataset named 'd1' to hold a 3x3 float array.
    d1 = hdfFile.create('d1', SDC.FLOAT32, (3,3))
    # Set some attributes on 'd1'
    d1.description = 'Sample 3x3 float array'
    d1.units = 'celsius'
    # Name 'd1' dimensions and assign them attributes.
    dim1 = d1.dim(0)
    dim2 = d1.dim(1)
    dim1.setname('width')
    dim2.setname('height')
    dim1.units = 'm'
    dim2.units = 'cm'
    
    # Assign values to 'd1'
    d1[0]  = (14.5, 12.8, 13.0)  # row 1
    d1[1:] = ((-1.3, 0.5, 4.8),  # row 2 and
              (3.1, 0.0, 13.8))  # row 3
              
    # Close dataset
    d1.endaccess()
    # Close file
    hdfFile.end()
    

    三、读取hdf

    获取文件(file)和数据集(dataset)的内容和属性信息

    # Import SD and numpy.
    from pyhdf.SD import *
    from numpy import *
    
    fileName = 'template.hdf'
    # Open file in read-only mode (default)
    hdfFile = SD(fileName)
    
    # Display attributes.
    print "file:", fileName
    print "author:", hdfFile.author
    print "priority:", hdfFile.priority
    
    # Open dataset 'd1'
    d1 = hdfFile.select('d1')
    
    # Display dataset attributes.
    print "dataset:", 'd1'
    print "description:",d1.description
    print "units:", d1.units
    
    # Display dimensions info.
    dim1 = d1.dim(0)
    dim2 = d1.dim(1)
    print "dimensions:"
    print "dim1: name=", dim1.info()[0],
    print "length=", dim1.length(),
    print "units=", dim1.units
    print "dim2: name=", dim2.info()[0],
    print "length=", dim2.length(),
    print "units=", dim2.units
    
    # Show dataset values
    print d1[:]
    # Close dataset
    d1.endaccess()
    # Close file
    hdfFile.end()
    

    pyhdf的数据格式

    CHAR and CHAR8 (equivalent): an 8-bit character.
    
    UCHAR, UCHAR8 and UINT8 (equivalent): unsigned 8-bit values (0 to 255)
    
    INT8: signed 8-bit values (-128 to 127)
    
    INT16: signed 16-bit values
    
    UINT16: unsigned 16 bit values
    
    INT32: signed 32 bit values
    
    UINT32: unsigned 32 bit values
    
    FLOAT32: 32 bit floating point values (C floats)
    
    FLOAT64: 64 bit floating point values (C doubles)
    
    展开全文
  • pyhdf中SD的API官方说明 笔者近期在使用pyhdf包做相关的数据处理,其中最常用的是其中的SD库。笔者将其文件中的API说明找了出来,虽然没有空余时间第一时间翻译,但还是先把原文发出来,希望能排上点用。 ''' ...

    pyhdf中SD的接口说明原文

    笔者近期在使用pyhdf包做相关的数据处理,其中最常用的是其中的SD库。其中相关的说明如下。

    '''
    Classes summary
    ---------------
    pyhdf wraps the SD API using different types of python classes::
    
      SD     HDF SD interface (almost synonymous with the subset of the
             HDF file holding all the SD datasets)
      SDS    scientific dataset
      SDim   dataset dimension
      SDAttr attribute (either at the file, dataset or dimension level)
      SDC    constants (opening modes, data types, etc)
    
    In more detail::
    
      SD     The SD class implements the HDF SD interface as applied to a given
             file. This class encapsulates the "SD interface" identifier
             (referred to as "sd_id" in the C API documentation), and all
             the SD API top-level functions.
    
             To create an SD instance, call the SD() constructor.
    
             methods:
               constructors:
                 SD()          open an existing HDF file or create a new one,
                               returning an SD instance
                 attr()        create an SDAttr (attribute) instance to access
                               an existing file attribute or create a new one;
                               "dot notation" can also be used to get and set
                               an attribute
                 create()      create a new dataset, returning an SDS instance
                 select()      locate an existing dataset given its name or
                               index number, returning an SDS instance
    
               file closing
                 end()         end access to the SD interface and close the
                               HDF file
    
               inquiry
                 attributes()  return a dictionary describing every global
                               attribute attached to the HDF file
                 datasets()    return a dictionary describing every dataset
                               stored inside the file
                 info()        get the number of datasets stored in the file
                               and the number of attributes attached to it
                 nametoindex() get a dataset index number given the dataset
                               name
                 reftoindex()  get a dataset index number given the dataset
                               reference number
    
               misc
                 setfillmode() set the fill mode for all the datasets in
                               the file
    
    
      SDAttr The SDAttr class defines an attribute, either at the file (SD),
             dataset (SDS) or dimension (SDim) level. The class encapsulates
             the object to which the attribute is attached, and the attribute
             name.
    
             To create an SDAttr instance, obtain an instance for an SD (file),
             SDS (dataset) or dimension (SDim) object, and call its attr()
             method.
    
             NOTE. An attribute can also be read/written like
                   a python class attribute, using the familiar
                   dot notation. See "High level attribute access".
    
             methods:
               read/write value
                 get()         get the attribute value
                 set()         set the attribute value
    
    
               inquiry
                 index()       get the attribute index number
                 info()        get the attribute name, type and number of
                               values
    
    
      SDC    The SDC class holds constants defining file opening modes and
             data types. Constants are named after their C API counterparts.
    
               file opening modes:
                 SDC.CREATE      create file if non existent
                 SDC.READ        read-only mode
                 SDC.TRUNC       truncate file if already exists
                 SDC.WRITE       read-write mode
    
               data types:
                 SDC.CHAR        8-bit character
                 SDC.CHAR8       8-bit character
                 SDC.UCHAR       unsigned 8-bit integer
                 SDC.UCHAR8      unsigned 8-bit integer
                 SDC.INT8        signed 8-bit integer
                 SDC.UINT8       unsigned 8-bit integer
                 SDC.INT16       signed 16-bit integer
                 SDC.UINT16      unsigned 16-bit intege
                 SDC.INT32       signed 32-bit integer
                 SDC.UINT32      unsigned 32-bit integer
                 SDC.FLOAT32     32-bit floating point
                 SDC.FLOAT64     64-bit floaring point
    
               dataset fill mode:
                 SDC.FILL
                 SDC.NOFILL
    
               dimension:
                 SDC.UNLIMITED   dimension can grow dynamically
    
               data compression:
                 SDC.COMP_NONE
                 SDC.COMP_RLE
                 SDC.COMP_NBIT
                 SDC.COMP_SKPHUFF
                 SDC.COMP_DEFLATE
                 SDC.COMP_SZIP
                 SDC.COMP_SZIP_EC
                 SDC.COMP_SZIP_NN
                 SDC.COMP_SZIP_RAW
    
      SDS    The SDS class implements an HDF scientific dataset (SDS) object.
    
             To create an SDS instance, call the create() or select() methods
             of an SD instance.
    
             methods:
               constructors
                 attr()        create an SDAttr (attribute) instance to access
                               an existing dataset attribute or create a
                               new one; "dot notation" can also be used to get
                               and set an attribute
    
                 dim()         return an SDim (dimension) instance for a given
                               dataset dimension, given the dimension index
                               number
    
               dataset closing
                 endaccess()   terminate access to the dataset
    
               inquiry
                 attributes()  return a dictionary describing every
                               attribute defined on the dataset
                 checkempty()  determine whether the dataset is empty
                 dimensions()  return a dictionary describing all the
                               dataset dimensions
                 info()        get the dataset name, rank, dimension lengths,
                               data type and number of attributes
                 iscoordvar()  determine whether the dataset is a coordinate
                               variable (holds a dimension scale)
                 isrecord()    determine whether the dataset is appendable
                               (the dataset dimension 0 is unlimited)
                 ref()         get the dataset reference number
    
    
               reading/writing data values
                 get()         read data from the dataset
                 set()         write data to the dataset
    
                               A dataset can also be read/written using the
                               familiar index and slice notation used to
                               access python sequences. See "High level
                               variable access".
    
               reading/writing  standard attributes
                 getcal()       get the dataset calibration coefficients:
                                  scale_factor, scale_factor_err, add_offset,
                                  add_offset_err, calibrated_nt
                 getdatastrs()  get the dataset standard string attributes:
                                  long_name, units, format, coordsys
                 getfillvalue() get the dataset fill value:
                                  _FillValue
                 getrange()     get the dataset min and max values:
                                  valid_range
                 setcal()       set the dataset calibration coefficients
                 setdatastrs()  set the dataset standard string attributes
                 setfillvalue() set the dataset fill value
                 setrange()     set the dataset min and max values
    
               compression
                 getcompress()  get info about the dataset compression type and mode
                 setcompress()  set the dataset compression type and mode
    
               misc
                 setexternalfile()  store the dataset in an external file
    
      SDim   The SDdim class implements a dimension object.
    
             To create an SDim instance, call the dim() method of an SDS
             (dataset) instance.
    
             Methods:
               constructors
                 attr()         create an SDAttr (attribute) instance to access
                                an existing dimension attribute or create a
                                new one; "dot notation" can also be used to
                                get and set an attribute
    
               inquiry
                 attributes()   return a dictionary describing every
                                attribute defined on the dimension
                 info()         get the dimension name, length, scale data type
                                and number of attributes
                 length()       return the current dimension length
    
               reading/writing dimension data
                 getscale()     get the dimension scale values
                 setname()      set the dimension name
                 setscale()     set the dimension scale values
    
               reading/writing standard attributes
                 getstrs()      get the dimension standard string attributes:
                                  long_name, units, format
                 setstrs()      set the dimension standard string attributes
    '''
    
    展开全文
  • pycharm不能安装pyhdf怎么办,已解决,python3安装pyhdf,pip安装本地包

    版本号:python3.9
    安装步骤:
    1、下载
    地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhdf

    点击红色方框进行下载,笔者保存到了 E:\pyhdf目录下
    随便保存个位置

    在这里插入图片描述
    接着打开pycharm
    在这里插入图片描述
    打开终端,输入命令

     pip install E:\pyCharm\pyProject\venv\Lib\site-packages\pyhdf\pyhdf-0.10.3-cp39-cp39-win_amd64.whl
    

    注意 后面是我自己安装的位置
    就可以了

    展开全文
  • from pyhdf.SD import * file_name=r"***.hdf" #找个hdf文件测试 hdf=SD(file_name,SDC.READ) #用SD读取 wantget=hdf.__getattr__('加上自己想读的全局属性名称') #__getattr__进行读取 print(wantget) #可以直接...
  • 笔者安装的是pyhdf4,电脑配置:WIN64+python2.7 (对于不同的电脑配置,可依此方法稍做修改进行安装) 安装步骤: 1、下载地址:: http://www.lfd.uci.edu/~gohlke/pythonlibs/. 点击红色方框进行下载,笔者保存到...
  • pyhdf库的安装方法

    千次阅读 2020-06-06 21:25:28
    pyhdf库的安装方法 !!!pyhdf 处理的是版本为4的hdf文件,hdf5文件请移步h5py 下载你的python版本对应的pyhdf,先查看版本 下载地址第三方库 cmd 路径切换到pyhdf包的文件夹下 cmd 打开默认是C:\Users\DzAxm>...
  • 后来百度才知道MODIS和MOD03数据是HDF4格式文件,需要用import pyhdf.SD as hdf和 from pyhdf.SD import SD ######################################################## 操作步骤: 1、下载pyhdf:下载地址添加链接...
  • 在WIN与LINUX下安装pyhdf

    2021-05-26 08:19:46
    WIN下PYHDF包的安装关键操作:python -m pip install python_hdf4-0.9-cp27-cp27m-win_amd64.whl按照参考博客中的操作就足够了。我用的是ANACONDA,所以安装的操作没有直接用CMD,而是Anaconda Powershell Prompt。...
  • 安装库 1.python之----安装pyhdf库 2.python之----安装scikit-image(添加泊松噪声时需要) 2.1 哪里安装----cmd 2.1.1根据以上教程: 2.1.2 安装依赖的第三方包(没看明白,先弃坑) 1.python之----安装pyhdf库 ...
  • pyhdf-0.10.3-cp310-cp310-win32
  • pyhdf-0.10.3-cp37-cp37m-win32
  • pyhdf-0.10.2-cp36-cp36m-win32
  • 联系作者:QQ:3176038642,wx: ilovework2200 python3 安装pyhdf conda install -c conda-forge pyhdf==0.10.2 2021年11月22日更新3.9安装,前几天把环境不小心搞坏了,刚好升一下版本。 Anaconda Python3.9和GDAL...
  • from pyhdf.SD import SD,SDC 报错如下: 原因是:与numpy版本不匹配(我理解的,但是具体的就不懂了) 报错的版本有:numpy 1.16.1 和1.16.3 ,安装的pyhdf版本为pyhdf-0.10.1-cp27-cp27m-win_amd64.whl,...
  • Python读取hdf文件——pyhdf

    万次阅读 热门讨论 2019-10-10 23:50:22
    pyhdf 是 HDF4 的 Python 接口,用于操作 HDF 文件,如 SD (scientific dataset)、VS (Vdata)、V (Vgroup)。
  • python离线安装包,亲测可用
  • 在用pyhdf库读取和处理modis的hdf数据时产生了错误: pyhdf.error.HDF4Error: SD (5): Bad file name on open 源代码如下: from pyhdf.SD import SD HDF_FILR_URL = "D:\TEXT\数据\MOD021KM.A2010228.1550.005....
  • Ubuntu安装pyhdf

    2021-01-22 15:05:57
    ubuntu安装pyhdf库 环境 win10下的子系统,Ubuntu18.04 LTS, anaconda,python3.7。 问题 因为需要用到HDFEOS数据,h5py好像不支持读取这个数据,所以想下载pyhdf这个库,通常我们都用conda或者pip来安装库,但是这...
  • 安装pyhdf

    2020-07-09 14:24:59
    安装pyhdf包 不知道什么原因,用pip install 和conda install都装不上pyhdf包,查了半天找到一个快速便捷的方法 第一步 去下载相应版本的轮子https://www.lfd.uci.edu/~gohlke/pythonlibs/. 因为我的是win64位的...
  • pyhdf安装并读取hdf4文件

    千次阅读 2017-11-29 11:19:02
    pyhdf安装并读取hdf4文件
  • 源码安装pyhdf本文参考pyhdf官方说明文档要求功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 直接运行 pip3 install pyhdf 会报错,说缺少 HDF.h,解决方法如下: 1. 运行 sudo apt-get install libhdf4-alt-dev 2.运行 sudo pip3 install pyhdf

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 240
精华内容 96
关键字:

pyhdf