Inverse Distance Weighting interpolation algorithm.
Each cell receives the weighted average of the whole data set with weights being 1/r² (r being the distance of the current cell to the contributing station) and renormalized (so that the sum of the weights is equal to 1.0). It takes the following arguments:
- SCALE: this is a scaling parameter to smooth the IDW distribution. In effect, this is added to the distance in order to move into the tail of the 1/d distribution (default: 1000m);
- ALPHA: this is an exponent to the 1/d distribution (default: 1);
- Note
- If IDW is applied on wind speed (VW, VW_MAX or VW_DRIFT) or wind direction (DW), the algorithm internally applies the interpolation on the wind speed components individually, if both wind speed and direction are available at the same station.
|
const std::string | algo |
|
std::vector< double > | getData (const Date &i_date, const std::string &i_param) |
|
size_t | getData (const Date &i_date, const std::string &i_param, std::vector< double > &o_vecData, std::vector< StationData > &o_vecMeta) |
|
TimeSeriesManager & | tsmanager |
|
Date | date |
|
std::vector< MeteoData > | vecMeteo |
|
std::vector< double > | vecData |
| store the measurement for the given parameter
|
|
std::vector< StationData > | vecMeta |
| store the station data for the given parameter
|
|
std::ostringstream | info |
| to store some extra information about the interplation process
|
|
const std::string | param |
| the parameter that we will interpolate
|
|
size_t | nrOfMeasurments |
| Number of stations that have been used, so this can be reported to the user.
|
|