MeteoIODoc 20250905.f67af007
 
Loading...
Searching...
No Matches
IDWSlopesAlgorithm.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2/***********************************************************************************/
3/* Copyright 2018 WSL Institute for Snow and Avalanche Research SLF-DAVOS */
4/***********************************************************************************/
5/* This file is part of MeteoIO.
6 MeteoIO is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 MeteoIO is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with MeteoIO. If not, see <http://www.gnu.org/licenses/>.
18*/
19#ifndef IDWSLOPE_ALGORITHM_H
20#define IDWSLOPE_ALGORITHM_H
21
23
24namespace mio {
25
40 public:
41 IDWSlopesAlgorithm(const std::vector< std::pair<std::string, std::string> >& vecArgs, const std::string& i_algo, const std::string& i_param, TimeSeriesManager& i_tsm);
42 virtual double getQualityRating(const Date& i_date) override;
43 virtual void calculate(const DEMObject& dem, Grid2DObject& grid) override;
44 private:
45 enum Slopes {firstSlope=0, FLAT=firstSlope, NORTH, EAST, SOUTH, WEST, lastSlope=WEST};
46
47 Grid2DObject computeAspect(const DEMObject& dem, const Slopes& curr_slope);
48
49 std::vector< std::vector<double> > vecDataCache;
50 std::vector< std::vector<StationData> > vecMetaCache;
51 Trend trend;
52 double scale, alpha;
53 static const double min_slope, max_slope;
54 static const size_t nrSlopes;
55};
56
57} //end namespace mio
58
59#endif
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition DEMObject.h:40
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition Date.h:87
A class to represent 2D Grids. Typical application as DEM or Landuse Model.
Definition Grid2DObject.h:42
Inverse Distance Weighting interpolation with splitted N/E/S/W slopes and flats.
Definition IDWSlopesAlgorithm.h:39
virtual void calculate(const DEMObject &dem, Grid2DObject &grid) override
Definition IDWSlopesAlgorithm.cc:99
virtual double getQualityRating(const Date &i_date) override
Definition IDWSlopesAlgorithm.cc:43
A class to perform 2D spatial interpolations. For more, see Spatial interpolations.
Definition InterpolationAlgorithms.h:70
Definition TimeSeriesManager.h:31
Definition InterpolationAlgorithms.h:36
Definition Config.cc:34