MeteoIODoc 20241221.207bde49
ODKrigAlgorithm.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2/***********************************************************************************/
3/* Copyright 2013 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 ORDINARYKRIGINGALGORITHM_H
20#define ORDINARYKRIGINGALGORITHM_H
21
24
25namespace mio {
26
51 public:
52 OrdinaryKrigingAlgorithm(const std::vector< std::pair<std::string, std::string> >& vecArgs, const std::string& i_algo, const std::string& i_param, TimeSeriesManager& i_tsm);
53 virtual double getQualityRating(const Date& i_date);
54 virtual void calculate(const DEMObject& dem, Grid2DObject& grid);
55 protected:
56 std::vector< std::vector<double> > getTimeSeries(const bool& detrend_data) const;
57 void getDataForEmpiricalVariogram(std::vector<double> &distData, std::vector<double> &variData) const;
58 void getDataForVariogram(std::vector<double> &distData, std::vector<double> &variData, const bool& detrend_data=false) const;
59 bool computeVariogram(const bool& detrend_data=false);
61 std::vector<std::string> vario_types;
62};
63
64} //end namespace mio
65
66#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 perform 1D regressions.
Definition: libfit1D.h:159
A class to represent 2D Grids. Typical application as DEM or Landuse Model.
Definition: Grid2DObject.h:42
A class to perform 2D spatial interpolations. For more, see Spatial interpolations.
Definition: InterpolationAlgorithms.h:70
Ordinary kriging.
Definition: ODKrigAlgorithm.h:50
std::vector< std::vector< double > > getTimeSeries(const bool &detrend_data) const
Definition: ODKrigAlgorithm.cc:47
void getDataForEmpiricalVariogram(std::vector< double > &distData, std::vector< double > &variData) const
Definition: ODKrigAlgorithm.cc:107
std::vector< std::string > vario_types
Definition: ODKrigAlgorithm.h:61
void getDataForVariogram(std::vector< double > &distData, std::vector< double > &variData, const bool &detrend_data=false) const
Definition: ODKrigAlgorithm.cc:139
bool computeVariogram(const bool &detrend_data=false)
Definition: ODKrigAlgorithm.cc:177
virtual double getQualityRating(const Date &i_date)
Definition: ODKrigAlgorithm.cc:197
virtual void calculate(const DEMObject &dem, Grid2DObject &grid)
Definition: ODKrigAlgorithm.cc:207
OrdinaryKrigingAlgorithm(const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &i_algo, const std::string &i_param, TimeSeriesManager &i_tsm)
Definition: ODKrigAlgorithm.cc:26
Fit1D variogram
Definition: ODKrigAlgorithm.h:60
Definition: TimeSeriesManager.h:31
Definition: Config.cc:31