Class CRSSTDistance
Defined in File CRSSTDistance.h
Inheritance Relationships
Base Type
public gwm::Distance(Class Distance)
Class Documentation
-
class CRSSTDistance : public gwm::Distance
Class for calculating spatial temporal distance.
Public Types
-
typedef arma::vec (*CalculatorType)(const std::unique_ptr<Distance>&, const std::unique_ptr<OneDimDistance>&, arma::uword, double, double)
parameters used in calculating.
Public Functions
-
inline CRSSTDistance()
Construct.
-
inline explicit CRSSTDistance(const Distance &spatialDistance, const OneDimDistance &temporalDistance, double lambda)
-
inline explicit CRSSTDistance(const Distance &spatialDistance, const OneDimDistance &temporalDistance, double lambda, double angle)
-
inline explicit CRSSTDistance(Distance &&spatialDistance, OneDimDistance &&temporalDistance, double lambda)
-
inline explicit CRSSTDistance(Distance &&spatialDistance, OneDimDistance &&temporalDistance, double lambda, double angle)
-
inline explicit CRSSTDistance(const std::unique_ptr<Distance> &spatialDistance, const std::unique_ptr<OneDimDistance> &temporalDistance, double lambda)
-
inline explicit CRSSTDistance(const std::unique_ptr<Distance> &spatialDistance, const std::unique_ptr<OneDimDistance> &temporalDistance, double lambda, double angle)
-
inline explicit CRSSTDistance(std::unique_ptr<Distance> &&spatialDistance, std::unique_ptr<OneDimDistance> &&temporalDistance, double lambda)
-
inline explicit CRSSTDistance(std::unique_ptr<Distance> &&spatialDistance, std::unique_ptr<OneDimDistance> &&temporalDistance, double lambda, double angle)
-
inline CRSSTDistance(const CRSSTDistance &distance)
Copy construct.
- Parameters:
distance – Refernce to object for copying.
-
inline virtual std::unique_ptr<Distance> clone() const override
Clone this Distance object. Newly created pointer.
-
inline virtual DistanceType type() override
Return the type of this object. Type of distance.
-
virtual void makeParameter(std::initializer_list<DistParamVariant> plist) override
make the input data, initialize mParameter. need to contain 4 items, mat, mat, vec, vec
-
inline virtual arma::vec distance(arma::uword focus) override
calculate distance focus * already initialized OrthogonalSTDistance or ObliqueSTDistance
-
virtual double minDistance() override
bandwidth calculation.
-
virtual double maxDistance() override
Get maximum distance among all points. Maximum distance.
-
inline const std::unique_ptr<OneDimDistance> &temporalDistance() const
-
inline const double lambda()
-
inline void setLambda(const double lambda)
-
inline const double angle()
-
inline void setAngle(const double angle)
Public Static Functions
-
static arma::vec OrthogonalSTDistance(const std::unique_ptr<Distance> &spatial, const std::unique_ptr<OneDimDistance> &temporal, arma::uword focus, double lambda, double angle)
Calculate temporal and spatial distance, Orthogonal Distance spatial distance of class gwm::Distance temporal distance of class gwm::Distance the number of data to calculate lambda angle Distance vector.
-
static arma::vec ObliqueSTDistance(const std::unique_ptr<Distance> &spatial, const std::unique_ptr<OneDimDistance> &temporal, arma::uword focus, double lambda, double angle)
Calculate temporal and spatial distance with angle, Oblique Distance spatial distance of class gwm::Distance temporal distance of class gwm::Distance the number of data to calculate lambda angle Distance vector.
Protected Attributes
-
std::unique_ptr<OneDimDistance> mTemporalDistance = nullptr
Pointer to instance for temporal distance.
-
double mAngle = arma::datum::pi / 2
Angle of spatial distance and temporal distance.
-
typedef arma::vec (*CalculatorType)(const std::unique_ptr<Distance>&, const std::unique_ptr<OneDimDistance>&, arma::uword, double, double)