58 libdap::DAS* das =
nullptr;
67 int32 num_global_attributes = -1;
77 std::vector<std::string> eosmetadata_namelist;
80 std::map < std::string, int32 > vg_dsd_map;
83 std::map < std::string, int32 > vg_dvd_map;
86 std::map < std::string, int32 > vg_gsd_map;
89 std::map < std::string, int32 > vg_gvd_map;
92 void set_eosmetadata_namelist(
const std::string &metadata_name)
94 eosmetadata_namelist.push_back(metadata_name);
98 bool is_eosmetadata(
const std::string& metadata_name) {
99 return (std::find(eosmetadata_namelist.begin(),eosmetadata_namelist.end(),metadata_name) !=eosmetadata_namelist.end());
103 bool get_vgroup_field_refids(
const std::string& _gname, int32* _ref_df, int32* _ref_gf);
106 bool open_sd(
const std::string& filename,
const int sd_id);
109 bool open_vgroup(
const std::string& filename,
const int fileid);
112 bool set_metadata(
const std::string& metadataname,std::vector<std::string>&non_num_names, std::vector<std::string>&non_num_data);
117 void arrange_list(std::list<std::string> & sl1, std::list<std::string>&sl2,std::vector<std::string>&v1,
const std::string & name,
int& flag)
const;
120 void obtain_SD_attr_value(
const std::string &,std::string&)
const;
123 bool set_vgroup_map(int32 refid,
bool isgeo);
126 bool write_attr_long_name(
const std::string& long_name,
127 const std::string& varname,
129 bool write_attr_long_name(
const std::string& group_name,
130 const std::string& long_name,
131 const std::string& varname,
135 bool write_attr_sd(int32 sds_id,
const std::string& newfname,
int fieldtype);
138 short check_scale_offset(int32 sds_id,
bool is_scale);
142 bool write_attr_vdata(int32 vd_id,
const std::string& newfname,
int fieldtype);
143 void throw_error(
const std::string &_error);
153 string get_metadata(
const std::string& metadataname,
bool&suffix_is_num,std::vector<std::string>&non_num_names, std::vector<std::string>&non_num_data);
154 bool set_non_ecsmetadata_attrs();
157 bool open(
const std::string& filename,
const int sd_id,
const int file_id);
160 void set_DAS(libdap::DAS* das);
165 const std::string& fname,
166 const std::string& newfname,
string get_metadata(const std::string &metadataname, bool &suffix_is_num, std::vector< std::string > &non_num_names, std::vector< std::string > &non_num_data)
retrieves the merged metadata.