46 DBO(
const std::string& configfile);
53 virtual void readStationData(
const Date& date, std::vector<StationData>& vecStation)
override;
55 std::vector< std::vector<MeteoData> >& vecMeteo)
override;
58 typedef struct ts_Meta {
59 ts_Meta() : since(), until(), param_dbo(), parname(), agg_type(), id(0), units_factor(1.), units_offset(0), interval(IOUtils::unodata), ts_offset(IOUtils::unodata), sequence(IOUtils::unodata) {}
60 ts_Meta(
const std::string& i_param_str,
const Date& i_since,
const Date& i_until,
const std::string& i_agg_type,
const size_t i_id,
const unsigned int& i_interval,
const unsigned int& i_ts_offset,
const unsigned int& i_sequence)
61 : since(i_since), until(i_until), param_dbo(i_param_str), parname(), agg_type(i_agg_type), id(i_id), units_factor(1.), units_offset(0), interval(i_interval), ts_offset(i_ts_offset), sequence(i_sequence) {}
63 std::string toString()
const {
64 std::ostringstream os;
65 os <<
" " <<
id <<
" " << param_dbo <<
" -> " << parname <<
" [";
66 os << ((since.isUndef())?
"-∞" : since.toString(Date::ISO)) <<
" - ";
67 os << ((until.isUndef())?
"∞" : until.toString(Date::ISO)) <<
"] ";
68 os << agg_type <<
" - " << interval <<
" s - #" << sequence;
69 if (units_factor!=1. || units_offset!=0.) {
71 if (units_factor!=1.) os <<
" x" << units_factor;
72 if (units_offset!=0.) os <<
" +" << units_offset;
78 std::string param_dbo, parname, agg_type;
80 double units_factor, units_offset;
81 unsigned int interval, ts_offset, sequence;
84 typedef struct ts_Data {
85 ts_Data() : date(), val(IOUtils::nodata) {}
86 ts_Data(
const Date& i_date,
const double& i_val) : date(i_date), val(i_val){}
92 void fillStationMeta();
93 void readData(
const Date& dateStart,
const Date& dateEnd, std::vector<MeteoData>& vecMeteo,
const size_t& stationindex);
94 std::vector<DBO::tsMeta> getTsProperties()
const;
95 std::vector<DBO::tsData> getTimeSerie(
const size_t& tsID,
const double& factor,
const double& offset)
const;
96 static void setUnitsConversion(DBO::tsMeta& ts);
97 std::string getParameter(
const std::string& param_str,
const std::string& agg_type)
const;
98 void mergeTimeSeries(
const MeteoData& md_pattern,
const size_t& param,
const std::vector<DBO::tsData>& vecData, std::vector<MeteoData>& vecMeteo)
const;
99 void initDBOConnection(
const Config& cfg);
101 std::vector<std::string> vecStationName;
102 std::vector<StationData> vecMeta;
103 std::vector< std::vector<DBO::tsMeta> > vecTsMeta;
104 std::string coordin, coordinparam;
105 std::string endpoint;
111 static const int http_timeout_dflt;
112 static const std::string endpoint_default, metadata_api, data_api;
virtual void readMeteoData(const Date &dateStart, const Date &dateEnd, std::vector< std::vector< MeteoData > > &vecMeteo) override
Fill vecMeteo with a time series of objects corresponding to the interval indicated by dateStart and ...
Definition DBO.cc:195