GPMWeightsInverseDistanceStrategy.h
Go to the documentation of this file.
1
/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3
This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5
TerraLib is free software: you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation, either version 3 of the License,
8
or (at your option) any later version.
9
10
TerraLib is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public License
16
along with TerraLib. See COPYING. If not, write to
17
TerraLib Team at <terralib-team@terralib.org>.
18
*/
19
20
/*!
21
\file GPMWeightsInverseDistanceStrategy.h
22
23
\brief This class defines a class to calculates a weight for a GPM using Inverse Distance strategy.
24
*/
25
26
#ifndef __TERRALIB_SA_INTERNAL_GPMWEIGHTINVERSEDISTANCESTRATEGY_H
27
#define __TERRALIB_SA_INTERNAL_GPMWEIGHTINVERSEDISTANCESTRATEGY_H
28
29
// Terralib Includes
30
#include "../Config.h"
31
#include "../Enums.h"
32
#include "
GPMWeightsAbstractStrategy.h
"
33
34
// STL Includes
35
#include <memory>
36
#include <string>
37
38
namespace
te
39
{
40
namespace
sa
41
{
42
// Forward declarations
43
class
GeneralizedProximityMatrix;
44
45
/*!
46
\class GPMWeightsInverseDistanceStrategy
47
48
\brief This class defines a class to calculates a weight for a GPM using Inverse Distance strategy.
49
50
Formula: w = (a*1/dist_centroids + b*1/dist_to_net + c*1/dist_net_connection)*factor
51
52
These values can be normalized or not.
53
54
\sa GPMBuilder
55
*/
56
57
class
TESAEXPORT
GPMWeightsInverseDistanceStrategy
:
public
GPMWeightsAbstractStrategy
58
{
59
public
:
60
61
/*! \brief Default constructor. */
62
GPMWeightsInverseDistanceStrategy
(
bool
normalize,
double
a = 1.0,
double
factor = 1.0);
63
64
/*! \brief Virtual destructor. */
65
virtual
~GPMWeightsInverseDistanceStrategy
();
66
67
68
/** @name Methods
69
* Methods used by the GPM constructor
70
*/
71
//@{
72
73
public
:
74
75
virtual
void
calculate
(
GeneralizedProximityMatrix
* gpm);
76
77
//@}
78
79
protected
:
80
81
bool
m_normalize
;
82
83
double
m_a
;
84
85
double
m_factor
;
86
};
87
88
}
// end namespace sa
89
}
// end namespace te
90
91
#endif //__TERRALIB_SA_INTERNAL_GPMWEIGHTINVERSEDISTANCESTRATEGY_H
te
TerraLib.
Definition:
AddressGeocodingOp.h:52
te::sa::GPMWeightsAbstractStrategy
This class defines a an Abstract class to calculates a weight for a GPM.
Definition:
GPMWeightsAbstractStrategy.h:59
te::sa::GPMWeightsInverseDistanceStrategy
This class defines a class to calculates a weight for a GPM using Inverse Distance strategy.
Definition:
GPMWeightsInverseDistanceStrategy.h:58
te::sa::GPMWeightsInverseDistanceStrategy::~GPMWeightsInverseDistanceStrategy
virtual ~GPMWeightsInverseDistanceStrategy()
Virtual destructor.
TESAEXPORT
#define TESAEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition:
Config.h:133
te::sa::GPMWeightsInverseDistanceStrategy::m_a
double m_a
Definition:
GPMWeightsInverseDistanceStrategy.h:83
te::sa::GPMWeightsInverseDistanceStrategy::m_factor
double m_factor
Definition:
GPMWeightsInverseDistanceStrategy.h:85
te::sa::GeneralizedProximityMatrix
This class defines a Generalized Proximity Matrix.
Definition:
GeneralizedProximityMatrix.h:57
te::sa::GPMWeightsInverseDistanceStrategy::calculate
virtual void calculate(GeneralizedProximityMatrix *gpm)
te::sa::GPMWeightsInverseDistanceStrategy::GPMWeightsInverseDistanceStrategy
GPMWeightsInverseDistanceStrategy(bool normalize, double a=1.0, double factor=1.0)
Default constructor.
te::sa::GPMWeightsInverseDistanceStrategy::m_normalize
bool m_normalize
Definition:
GPMWeightsInverseDistanceStrategy.h:81
GPMWeightsAbstractStrategy.h
This class defines a an Abstract class to calculates a weight for a GPM.
git_release
src
terralib
sa
core
GPMWeightsInverseDistanceStrategy.h
Generated on Fri Dec 4 2020 09:43:37 for TerraLib by
1.8.20