METADATA input editing command.
This Input Data Editing algorithm allows to manipulate the metadata of a given station. it takes the following arguments:
Please note that setting a new ID in effect creates a new station. If there are no time restrictions, the old station will disappear and be replaced by the new one. If there are time restrictions, both stations will remain side by side, although with an obviously different time coverage. Since there is a dependency resolution, you can declare some Input Data Editing on the new station ID, it will be applied properly and any editing declared after the ID editing command will only apply for data outside of time restrictions (if any) for the renaming command. When creating a new station, it makes sense to also provide the geographic coordinates for it...
#include <DataEditingAlgorithms.h>
Public Member Functions | |
EditingMetadata (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... | |
std::set< std::string > | providedIDs () const |
Get the station IDs this editing block provides based on this station. 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::EditingMetadata::EditingMetadata | ( | 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.
|
virtual |
Get the station IDs this editing block provides based on this station.
Reimplemented from mio::EditingBlock.