OGS
|
A container for sensor data at an observation site. The class stores a number of time series and has been created for use in Station-objects.
Definition at line 61 of file SensorData.h.
#include <SensorData.h>
Public Member Functions | |
SensorData (const std::string &file_name) | |
Constructor using file name (automatically reads the file and fills all data structures) More... | |
SensorData (std::vector< std::size_t > time_steps) | |
Constructor using a time step vector valid for all time series that will be added later. More... | |
~SensorData () | |
void | addTimeSeries (const std::string &data_name, std::vector< float > *data, const std::string &data_unit_string="") |
void | addTimeSeries (SensorDataType data_name, std::vector< float > *data, const std::string &data_unit_string="") |
const std::vector< float > * | getTimeSeries (SensorDataType time_series_name) const |
Returns the time series with the given name. More... | |
const std::vector< SensorDataType > & | getTimeSeriesNames () const |
Returns all time series names contained in this container. More... | |
const std::vector< std::size_t > & | getTimeSteps () const |
Returns the time step vector (if it exists) More... | |
std::size_t | getStartTime () const |
Returns the first time step. More... | |
std::size_t | getEndTime () const |
Returns the last time step. More... | |
std::size_t | getStepSize () const |
Returns the interval between time steps (Returns "0" if a vector is given!) More... | |
void | setTimeUnit (TimeStepType t) |
Allows to set a unit for the time steps. More... | |
TimeStepType | getTimeUnit () const |
Returns the unit the time steps. More... | |
Static Public Member Functions | |
static std::string | convertSensorDataType2String (SensorDataType t) |
Converts Sensor Data Types to Strings. More... | |
static SensorDataType | convertString2SensorDataType (const std::string &s) |
Converts Strings to Sensor Data Types. More... | |
Private Member Functions | |
int | readDataFromFile (const std::string &file_name) |
Reads a CSV-file with time series data and fills the container. More... | |
Private Attributes | |
std::size_t | _start |
std::size_t | _end |
std::size_t | _step_size |
TimeStepType | _time_unit |
std::vector< std::string > | _data_unit_string |
std::vector< std::size_t > | _time_steps |
std::vector< SensorDataType > | _vec_names |
std::vector< std::vector< float > * > | _data_vecs |
|
explicit |
Constructor using file name (automatically reads the file and fills all data structures)
Definition at line 24 of file SensorData.cpp.
References readDataFromFile().
|
explicit |
Constructor using a time step vector valid for all time series that will be added later.
Definition at line 30 of file SensorData.cpp.
References ERR().
SensorData::~SensorData | ( | ) |
void SensorData::addTimeSeries | ( | const std::string & | data_name, |
std::vector< float > * | data, | ||
const std::string & | data_unit_string = "" |
||
) |
Adds a time series that needs to conform to the time step vector specified in the constructor. Optionally a unit for the time series can be given. The name is converted to SensorDataType enum.
Definition at line 52 of file SensorData.cpp.
References convertString2SensorDataType().
void SensorData::addTimeSeries | ( | SensorDataType | data_name, |
std::vector< float > * | data, | ||
const std::string & | data_unit_string = "" |
||
) |
Adds a time series that needs to conform to the time step vector specified in the constructor. Optionally a unit for the time series can be given.
Definition at line 61 of file SensorData.cpp.
References _data_unit_string, _data_vecs, _end, _start, _step_size, _time_steps, _vec_names, and WARN().
|
static |
Converts Sensor Data Types to Strings.
Definition at line 171 of file SensorData.cpp.
References EVAPORATION, PRECIPITATION, and TEMPERATURE.
Referenced by getTimeSeries(), and DiagramList::readList().
|
static |
Converts Strings to Sensor Data Types.
Definition at line 189 of file SensorData.cpp.
References EVAPORATION, OTHER, PRECIPITATION, and TEMPERATURE.
Referenced by addTimeSeries(), and readDataFromFile().
|
inline |
Returns the last time step.
Definition at line 94 of file SensorData.h.
References _end.
Referenced by DiagramPrefsDialog::DiagramPrefsDialog(), and DiagramList::readList().
|
inline |
Returns the first time step.
Definition at line 91 of file SensorData.h.
References _start.
Referenced by DiagramPrefsDialog::DiagramPrefsDialog(), and DiagramList::readList().
|
inline |
Returns the interval between time steps (Returns "0" if a vector is given!)
Definition at line 97 of file SensorData.h.
References _step_size.
Referenced by DiagramList::readList().
const std::vector< float > * SensorData::getTimeSeries | ( | SensorDataType | time_series_name | ) | const |
Returns the time series with the given name.
Definition at line 91 of file SensorData.cpp.
References _data_vecs, _vec_names, convertSensorDataType2String(), and ERR().
Referenced by DiagramList::readList().
|
inline |
Returns all time series names contained in this container.
Definition at line 85 of file SensorData.h.
References _vec_names.
Referenced by DiagramList::readList().
|
inline |
Returns the time step vector (if it exists)
Definition at line 88 of file SensorData.h.
References _time_steps.
Referenced by DiagramList::readList().
|
inline |
Returns the unit the time steps.
Definition at line 103 of file SensorData.h.
References _time_unit.
|
private |
Reads a CSV-file with time series data and fills the container.
Definition at line 106 of file SensorData.cpp.
References _data_unit_string, _data_vecs, _end, _start, _time_steps, _vec_names, convertString2SensorDataType(), INFO(), BaseLib::splitString(), and BaseLib::strDate2int().
Referenced by SensorData().
|
inline |
Allows to set a unit for the time steps.
Definition at line 100 of file SensorData.h.
References _time_unit.
|
private |
Definition at line 119 of file SensorData.h.
Referenced by addTimeSeries(), and readDataFromFile().
|
private |
Definition at line 122 of file SensorData.h.
Referenced by ~SensorData(), addTimeSeries(), getTimeSeries(), and readDataFromFile().
|
private |
Definition at line 116 of file SensorData.h.
Referenced by addTimeSeries(), getEndTime(), and readDataFromFile().
|
private |
Definition at line 115 of file SensorData.h.
Referenced by addTimeSeries(), getStartTime(), and readDataFromFile().
|
private |
Definition at line 117 of file SensorData.h.
Referenced by addTimeSeries(), and getStepSize().
|
private |
Definition at line 120 of file SensorData.h.
Referenced by addTimeSeries(), getTimeSteps(), and readDataFromFile().
|
private |
Definition at line 118 of file SensorData.h.
Referenced by getTimeUnit(), and setTimeUnit().
|
private |
Definition at line 121 of file SensorData.h.
Referenced by addTimeSeries(), getTimeSeries(), getTimeSeriesNames(), and readDataFromFile().