类 Distance

嵌套关系

嵌套类型

继承关系

派生类

类文档

class Distance

空间距离度量基类。

Subclassed by gwm::CRSDistance, gwm::DMatDistance, gwm::OneDimDistance

公有类型

enum DistanceType

距离度量类型。

Values:

enumerator CRSDistance

坐标系距离

enumerator MinkwoskiDistance

Minkwoski 距离

enumerator DMatDistance

从 .dmat 文件读取距离

enumerator OneDimDistance

一维距离

公有方法

inline virtual ~Distance()

销毁 Distance 对象。

virtual Distance *clone() = 0

克隆这个 Distance 对象。

返回

Distance* 重新创建的对象指针

virtual DistanceType type() = 0

返回该对象的类型。

返回

DistanceType 距离陆良类型

virtual Parameter *parameter() const = delete
virtual void makeParameter(std::initializer_list<DistParamVariant> plist) = 0

创建用于计算距离的参数。该函数为纯虚函数。

参数

plist

virtual arma::vec distance(arma::uword focus) = 0

为一个目标点计算距离向量。

参数

focus – 目标点索引,要求 focus 小于参数中的 total

返回

arma::vec 目标点到所有数据点的距离向量

virtual double maxDistance() = 0

获取最大距离。

返回

double 最大距离

virtual double minDistance() = 0

获取最小距离。

返回

double 最小距离

公有静态属性

static std::unordered_map<DistanceType, std::string> TypeNameMapper

距离度量类型和名称映射表。

struct Parameter

距离计算用的参数。通常将派生类指针传递到 Distance::distance() 中。

Subclassed by gwm::CRSDistance::Parameter, gwm::DMatDistance::Parameter, gwm::OneDimDistance::Parameter

公有方法

inline Parameter()

构造一个新的 DistanceParameter 对象。

公有成员

arma::uword total

数据点总数