|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
This class retrieves all SDS objects and SD file attributes. More...
#include <HDFSP.h>

Public Member Functions | |
| const std::vector< Attribute * > & | getAttributes () const |
| Public interface to obtain the SD(file) attributes. More... | |
| const std::vector< SDField * > & | getFields () const |
| Public interface to obtain information of all SDS vectors(objects). More... | |
| const std::string & | getPath () const |
| Retrieve the absolute path of the file(full file name). More... | |
| void | obtain_noneos2_sds_path (int32, char *, int32) throw (Exception) |
| Obtain SDS path, this is like a clone of obtain_path in File class, except the Vdata and some minor parts. More... | |
| ~SD () | |
| Destructor. More... | |
Static Public Member Functions | |
| static SD * | Read (int32 sdfileid, int32 hfileid) throw (Exception) |
| Read the information of all SDS objects from the HDF4 file. More... | |
| static SD * | Read_Hybrid (int32 sdfileid, int32 hfileid) throw (Exception) |
| Read the information of all hybrid SDS objects from the HDF4 file. More... | |
Protected Member Functions | |
| SD (int32 sdfileid, int32 hfileid) | |
Protected Attributes | |
| std::vector< Attribute * > | attrs |
| SD attributes stored in vectors. More... | |
| std::map< std::string, std::string > | dimcvarlist |
| dimension name to coordinate variable name list: the key list to generate CF "coordinates" attributes. More... | |
| std::set< std::string > | fulldimnamelist |
| Full dimension name list set. More... | |
| std::map< std::string, int32 > | n1dimnamelist |
| Unique dimension name to its size map, may be replaced in the current implementation. Still leave it here for potential fakeDim handling in the future. More... | |
| std::map< std::string, std::string > | n2dimnamelist |
| Original dimension name to corrected dimension name map. More... | |
| std::set< std::string > | nonmisscvdimnamelist |
| This set stores non-missing coordinate variable dimension names. Many third dimensions of HDF4 files have to be treated as missing coordinate variables. But latitude and longitude's corresponding dimensions are normally provided in the file. So this set is used to exclude these dimensions when creating the corresponding missing fields. More... | |
| std::string | path |
| The full path of the file(file name). More... | |
| std::map< int32, int > | refindexlist |
| SDS reference number to index map, use to quickly obtain the SDS id. More... | |
| std::vector< SDField * > | sdfields |
| SDS objects stored in vectors. More... | |
| std::list< int32 > | sds_ref_list |
| SDS reference number list. More... | |
Friends | |
| class | File |
This class retrieves all SDS objects and SD file attributes.
|
inlineprotected |
|
inline |
Public interface to obtain the SD(file) attributes.
Definition at line 579 of file HDFSP.h.
References attrs.
Referenced by HDFCFUtil::check_obpg_global_attrs(), HDFCFUtil::handle_merra_ceres_attrs_with_bes_keys(), HDFSP::File::PrepareOBPGL2(), HDFSP::File::PrepareOBPGL3(), HDFSP::File::PrepareOTHERHDF(), HDFSP::File::PrepareTRMML3M_V7(), read_das_hdfsp(), and read_das_special_eos2_core().
|
inline |
Public interface to obtain information of all SDS vectors(objects).
Definition at line 573 of file HDFSP.h.
References sdfields.
Referenced by HDFCFUtil::add_missing_cf_attrs(), change_das_mod08_scale_offset(), HDFCFUtil::handle_merra_ceres_attrs_with_bes_keys(), HDFCFUtil::handle_otherhdf_special_attrs(), read_das_hdfsp(), read_das_special_eos2_core(), read_dds_hdfsp(), and read_dds_special_1d_grid().
|
inline |
| void SD::obtain_noneos2_sds_path | ( | int32 | file_id, |
| char * | full_path, | ||
| int32 | pobj_ref | ||
| ) | |||
| throw | ( | Exception | |
| ) | |||
Obtain SDS path, this is like a clone of obtain_path in File class, except the Vdata and some minor parts.
Definition at line 3179 of file HDFSP.cc.
References _BACK_SLASH, free(), malloc(), MAX_FULL_PATH_LEN, NULL, throw1, throw3, and TRUE.
Referenced by Read_Hybrid().

Read the information of all SDS objects from the HDF4 file.
Definition at line 1558 of file HDFSP.cc.
References HDFSP::AttrContainer::attrs, HDFSP::Field::attrs, attrs, HDFSP::Attribute::count, HDFSP::SDField::dims, HDFSP::SDField::dims_info, HDFSP::SDField::fieldref, HDFCFUtil::get_CF_string(), HDFSP::SDField::is_noscale_dim, HDFSP::Attribute::name, HDFSP::AttrContainer::name, HDFSP::Field::name, HDFSP::Attribute::newname, HDFSP::Field::newname, HDFSP::Field::rank, refindexlist, sdfields, throw2, throw3, throw5, HDFSP::Attribute::type, HDFSP::Field::type, and HDFSP::Attribute::value.
Referenced by HDFSP::File::Read().

Read the information of all hybrid SDS objects from the HDF4 file.
Definition at line 1901 of file HDFSP.cc.
References _BACK_SLASH, HDFSP::Field::attrs, HDFSP::SDField::correcteddims, HDFSP::Attribute::count, HDFSP::SDField::dims, HDFSP::SDField::fieldref, free(), HDFCFUtil::get_CF_string(), malloc(), MAX_FULL_PATH_LEN, HDFSP::Attribute::name, HDFSP::Field::name, HDFSP::Attribute::newname, HDFSP::Field::newname, NULL, obtain_noneos2_sds_path(), HDFSP::Field::rank, refindexlist, sdfields, sds_ref_list, throw1, throw2, throw3, throw5, TRUE, HDFSP::Attribute::type, HDFSP::Field::type, and HDFSP::Attribute::value.
Referenced by HDFSP::File::Read_Hybrid().

|
protected |
SD attributes stored in vectors.
Definition at line 606 of file HDFSP.h.
Referenced by getAttributes(), and Read().
|
protected |
dimension name to coordinate variable name list: the key list to generate CF "coordinates" attributes.
Definition at line 630 of file HDFSP.h.
Referenced by HDFSP::File::handle_sds_coords(), and HDFSP::File::handle_sds_names().
|
protected |
Full dimension name list set.
Definition at line 622 of file HDFSP.h.
Referenced by HDFSP::File::create_sds_dim_name_list(), and HDFSP::File::handle_sds_final_dim_names().
|
protected |
Unique dimension name to its size map, may be replaced in the current implementation. Still leave it here for potential fakeDim handling in the future.
Definition at line 616 of file HDFSP.h.
Referenced by HDFSP::File::create_sds_dim_name_list(), and HDFSP::File::handle_sds_missing_fields().
|
protected |
Original dimension name to corrected dimension name map.
Definition at line 619 of file HDFSP.h.
Referenced by HDFSP::File::handle_sds_final_dim_names().
|
protected |
This set stores non-missing coordinate variable dimension names. Many third dimensions of HDF4 files have to be treated as missing coordinate variables. But latitude and longitude's corresponding dimensions are normally provided in the file. So this set is used to exclude these dimensions when creating the corresponding missing fields.
Definition at line 627 of file HDFSP.h.
Referenced by HDFSP::File::handle_sds_missing_fields(), HDFSP::File::PrepareCERAVGSYN(), HDFSP::File::PrepareCERES4IG(), HDFSP::File::PrepareCERSAVGID(), HDFSP::File::PrepareCERZAVG(), HDFSP::File::PrepareMODISARNSS(), HDFSP::File::PrepareOBPGL2(), HDFSP::File::PrepareOBPGL3(), HDFSP::File::PrepareOTHERHDF(), HDFSP::File::PrepareTRMML2_V6(), HDFSP::File::PrepareTRMML2_V7(), HDFSP::File::PrepareTRMML3A_V6(), HDFSP::File::PrepareTRMML3B_V6(), HDFSP::File::PrepareTRMML3C_V6(), HDFSP::File::PrepareTRMML3M_V7(), and HDFSP::File::PrepareTRMML3S_V7().
|
protected |
|
protected |
SDS reference number to index map, use to quickly obtain the SDS id.
Definition at line 612 of file HDFSP.h.
Referenced by Read(), and Read_Hybrid().
|
protected |
SDS objects stored in vectors.
Definition at line 603 of file HDFSP.h.
Referenced by HDFSP::File::create_sds_dim_name_list(), getFields(), HDFSP::File::Handle_AIRS_L23(), HDFSP::File::handle_sds_coords(), HDFSP::File::handle_sds_fakedim_names(), HDFSP::File::handle_sds_final_dim_names(), HDFSP::File::handle_sds_missing_fields(), HDFSP::File::handle_sds_names(), HDFSP::File::Prepare(), HDFSP::File::PrepareCERAVGSYN(), HDFSP::File::PrepareCERES4IG(), HDFSP::File::PrepareCERSAVGID(), HDFSP::File::PrepareCERZAVG(), HDFSP::File::PrepareMODISARNSS(), HDFSP::File::PrepareOBPGL2(), HDFSP::File::PrepareOBPGL3(), HDFSP::File::PrepareOTHERHDF(), HDFSP::File::PrepareTRMML2_V6(), HDFSP::File::PrepareTRMML2_V7(), HDFSP::File::PrepareTRMML3A_V6(), HDFSP::File::PrepareTRMML3B_V6(), HDFSP::File::PrepareTRMML3C_V6(), HDFSP::File::PrepareTRMML3M_V7(), HDFSP::File::PrepareTRMML3S_V7(), Read(), and Read_Hybrid().
|
protected |