AUTOMERGE input editing command.
This is a special case of merge: only station's have the exact same ID will get merge together. This is useful when reading data for the same station from multiple source in order to rebuild a consistent dataset. If merge conflicts are encountered (such as identical fields having different values at the same timestamp), warnings will be printed out and the chosen conflict resolution (provided by the MERGE_CONFLICTS option) will be used (default: MeteoData::CONFLICTS_AVERAGE). By default, it does a MeteoData::FULL_MERGE but it is possible to provide a different type of merge with the MERGE_STRATEGY option.
#include <DataEditingAlgorithms.h>
Public Member Functions | |
EditingAutoMerge (const std::string &i_stationID, const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &name, const Config &cfg) | |
virtual void | editTimeSeries (std::vector< METEO_SET > &vecMeteo) |
Apply this editing block. More... | |
virtual void | editTimeSeries (STATIONS_SET &vecStation) |
Apply this editing block to the StationData. More... | |
Public Member Functions inherited from mio::EditingBlock | |
EditingBlock (const std::string &i_stationID, const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &name, const Config &cfg) | |
virtual | ~EditingBlock () |
virtual void | editTimeSeries (std::vector< METEO_SET > &vecMeteo) |
Apply this editing block. More... | |
virtual void | editTimeSeries (STATIONS_SET &vecStation) |
Apply this editing block to the StationData. More... | |
virtual std::set< std::string > | requiredIDs () const |
Get the station IDs this editing block depends on for this station. More... | |
virtual std::set< std::string > | providedIDs () const |
Get the station IDs this editing block provides based on this station. More... | |
virtual std::set< std::string > | purgeIDs () const |
Get the station IDs to purge after using them for this station ID. More... | |
const std::string | toString () const |
Additional Inherited Members | |
Protected Member Functions inherited from mio::EditingBlock | |
std::string | getName () const |
bool | skipStation (const std::vector< MeteoData > &vecMeteo) const |
Return true if this station ID should be skipped. More... | |
METEO_SET | timeFilterFromStation (const METEO_SET &vecMeteo) const |
Prepare a station that will be merged in case of time restrictions. More... | |
Static Protected Member Functions inherited from mio::EditingBlock | |
static std::set< std::string > | initStationSet (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &keyword) |
Protected Attributes inherited from mio::EditingBlock | |
const std::set< std::string > | excluded_stations |
const std::set< std::string > | kept_stations |
const std::vector< DateRange > | time_restrictions |
const std::string | stationID |
const std::string | block_name |
mio::EditingAutoMerge::EditingAutoMerge | ( | const std::string & | i_stationID, |
const std::vector< std::pair< std::string, std::string > > & | vecArgs, | ||
const std::string & | name, | ||
const Config & | cfg | ||
) |
|
virtual |
Apply this editing block to the StationData.
This applies the editing block for its station that has been declared in the constructor on the provided StationData timeseries.
vecStation | StationData timeseries for all stations |
Reimplemented from mio::EditingBlock.
|
virtual |
Apply this editing block.
This applies the editing block for its station that has been declared in the constructor on the provided MeteoData timeseries.
vecMeteo | MeteoData timeseries for all stations |
Reimplemented from mio::EditingBlock.