MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mio::InterpolationAlgorithm Class Referenceabstract

Detailed Description

A class to perform 2D spatial interpolations. For more, see Spatial interpolations.

Author
Thomas Egger
Date
2010-04-01

#include <InterpolationAlgorithms.h>

Public Member Functions

 InterpolationAlgorithm (Meteo2DInterpolator &i_mi, const std::vector< std::string > &i_vecArgs, const std::string &i_algo, TimeSeriesManager &i_tsmanager, GridsManager &i_gridsmanager)
 
virtual ~InterpolationAlgorithm ()
 
virtual double getQualityRating (const Date &i_date, const MeteoData::Parameters &in_param)=0
 
virtual void calculate (const DEMObject &dem, Grid2DObject &grid)=0
 
std::string getInfo () const
 Return an information string about the interpolation process. More...
 

Public Attributes

const std::string algo
 

Protected Member Functions

size_t getData (const Date &i_date, const MeteoData::Parameters &i_param, std::vector< double > &o_vecData)
 
size_t getData (const Date &i_date, const MeteoData::Parameters &i_param, std::vector< double > &o_vecData, std::vector< StationData > &o_vecMeta)
 
void getTrend (const std::vector< double > &vecAltitudes, const std::vector< double > &vecDat, Fit1D &trend) const
 Read the interpolation arguments and compute the trend accordingly. More...
 
void simpleWindInterpolate (const DEMObject &dem, const std::vector< double > &vecDataVW, const std::vector< double > &vecDataDW, Grid2DObject &VW, Grid2DObject &DW)
 

Static Protected Member Functions

static size_t getStationAltitudes (const std::vector< StationData > &i_vecMeta, std::vector< double > &o_vecData)
 
static void detrend (const Fit1D &trend, const std::vector< double > &vecAltitudes, std::vector< double > &vecDat, const double &min_alt=-1e4, const double &max_alt=1e4)
 
static void retrend (const DEMObject &dem, const Fit1D &trend, Grid2DObject &grid, const double &min_alt=-1e4, const double &max_alt=1e4)
 

Protected Attributes

Meteo2DInterpolatormi
 
TimeSeriesManagertsmanager
 
GridsManagergridsmanager
 
Date date
 
const std::vector< std::string > vecArgs
 
std::vector< MeteoDatavecMeteo
 
std::vector< double > vecData
 store the measurement for the given parameter More...
 
std::vector< StationDatavecMeta
 store the station data for the given parameter More...
 
std::ostringstream info
 to store some extra information about the interplation process More...
 
MeteoData::Parameters param
 the parameter that we will interpolate More...
 
size_t nrOfMeasurments
 the available number of measurements More...
 

Constructor & Destructor Documentation

mio::InterpolationAlgorithm::InterpolationAlgorithm ( Meteo2DInterpolator i_mi,
const std::vector< std::string > &  i_vecArgs,
const std::string &  i_algo,
TimeSeriesManager i_tsmanager,
GridsManager i_gridsmanager 
)
inline
virtual mio::InterpolationAlgorithm::~InterpolationAlgorithm ( )
inlinevirtual

Member Function Documentation

void mio::InterpolationAlgorithm::detrend ( const Fit1D trend,
const std::vector< double > &  vecAltitudes,
std::vector< double > &  vecDat,
const double &  min_alt = -1e4,
const double &  max_alt = 1e4 
)
staticprotected
size_t mio::InterpolationAlgorithm::getData ( const Date i_date,
const MeteoData::Parameters i_param,
std::vector< double > &  o_vecData 
)
protected
size_t mio::InterpolationAlgorithm::getData ( const Date i_date,
const MeteoData::Parameters i_param,
std::vector< double > &  o_vecData,
std::vector< StationData > &  o_vecMeta 
)
protected
std::string mio::InterpolationAlgorithm::getInfo ( ) const

Return an information string about the interpolation process.

Returns
string containing some information (algorithm used, number of stations)
size_t mio::InterpolationAlgorithm::getStationAltitudes ( const std::vector< StationData > &  i_vecMeta,
std::vector< double > &  o_vecData 
)
staticprotected
void mio::InterpolationAlgorithm::getTrend ( const std::vector< double > &  vecAltitudes,
const std::vector< double > &  vecDat,
Fit1D trend 
) const
protected

Read the interpolation arguments and compute the trend accordingly.

Parameters
vecAltitudesaltitudes sorted similarly as the data in vecDat
vecDatdata for the interpolated parameter
trendobject containing the fitted trend to be used for detrending/retrending
void mio::InterpolationAlgorithm::retrend ( const DEMObject dem,
const Fit1D trend,
Grid2DObject grid,
const double &  min_alt = -1e4,
const double &  max_alt = 1e4 
)
staticprotected
void mio::InterpolationAlgorithm::simpleWindInterpolate ( const DEMObject dem,
const std::vector< double > &  vecDataVW,
const std::vector< double > &  vecDataDW,
Grid2DObject VW,
Grid2DObject DW 
)
protected

Member Data Documentation

const std::string mio::InterpolationAlgorithm::algo
Date mio::InterpolationAlgorithm::date
protected
GridsManager& mio::InterpolationAlgorithm::gridsmanager
protected
std::ostringstream mio::InterpolationAlgorithm::info
protected

to store some extra information about the interplation process

Meteo2DInterpolator& mio::InterpolationAlgorithm::mi
protected
size_t mio::InterpolationAlgorithm::nrOfMeasurments
protected

the available number of measurements

MeteoData::Parameters mio::InterpolationAlgorithm::param
protected

the parameter that we will interpolate

TimeSeriesManager& mio::InterpolationAlgorithm::tsmanager
protected
const std::vector<std::string> mio::InterpolationAlgorithm::vecArgs
protected
std::vector<double> mio::InterpolationAlgorithm::vecData
protected

store the measurement for the given parameter

std::vector<StationData> mio::InterpolationAlgorithm::vecMeta
protected

store the station data for the given parameter

std::vector<MeteoData> mio::InterpolationAlgorithm::vecMeteo
protected

The documentation for this class was generated from the following files: