Inverse Distance Weighting interpolation algorithm with elevation detrending/reprojection.
The closest n stations to each pixel are used to compute the local lapse rate, allowing to project the contributions of these n stations to the local pixel with an inverse distance weight. It therefore takes the following arguments:
- NEIGHBORS: how many neighbouring stations should be used;
- MAX_DISTANCE: maximum allowed distance (in meters) between the stations and grid points to interpolate to;
- 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);
Either NEIGHBORS or MAX_DISTANCE needs to be specified. When both are specified, both restrictions are used. In such cases, only stations less than MAX_DISTANCE away from the grid point to interpolate to are used, up to a maximum of n stations. This can lead to less than n stations to be included in the interpolation.
- Note
- Beware, this method sometimes produces very sharp transitions as it spatially moves from one station's area of influence to another one!
TA::algorithms = LIDW_LAPSE
TA::lidw_lapse::neighbors = 6
|
| LocalIDWLapseAlgorithm (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &i_algo, const std::string &i_param, TimeSeriesManager &i_tsm) |
|
virtual double | getQualityRating (const Date &i_date) |
|
virtual void | calculate (const DEMObject &dem, Grid2DObject &grid) |
|
| InterpolationAlgorithm (const std::vector< std::pair< std::string, std::string > > &, const std::string &i_algo, const std::string &i_param, TimeSeriesManager &i_tsm) |
|
virtual | ~InterpolationAlgorithm () |
|
virtual double | getQualityRating (const Date &i_date)=0 |
|
virtual void | calculate (const DEMObject &dem, Grid2DObject &grid)=0 |
|
std::string | getInfo () const |
| Return an information string about the interpolation process. More...
|
|