类 CRSDistance

嵌套关系

嵌套类型

继承关系

基类

派生类

类文档

class CRSDistance : public gwm::Distance

Subclassed by gwm::MinkwoskiDistance

公有类型

inline CRSDistance()

构造一个新的 CRSDistance 对象。

inline explicit CRSDistance(bool isGeographic)

构造一个新的 CRSDistance 对象。

参数

isGeographic – 坐标参考是是否是地理坐标系

CRSDistance(const CRSDistance &distance)

拷贝构造一个新的 CRSDistance 对象。

参数

distance – 要拷贝的对象的引用

inline virtual Distance *clone() override

克隆这个 Distance 对象。

返回

Distance* 重新创建的对象指针

inline virtual DistanceType type() override

返回该对象的类型。

返回

DistanceType 距离陆良类型

inline bool geographic() const

获取参考系是否是地理坐标系。

返回

true 如果坐标系是地理的

返回

false 如果坐标系不是地理的

inline void setGeographic(bool geographic)

设置参考系是否是地理坐标系。

参数

geographic – 参考系是否是地理坐标系

virtual void makeParameter(std::initializer_list<DistParamVariant> plist) override

创建计算坐标系距离的参数。

参数

plist – 包含如下2项的参数列表:

  • arma::mat 目标点

  • arma::mat 数据点

virtual arma::vec distance(arma::uword focus) override

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

参数

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

返回

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

virtual double maxDistance() override

获取最大距离。

返回

double 最大距离

virtual double minDistance() override

获取最小距离。

返回

double 最小距离

公有静态方法

static arma::vec SpatialDistance(const arma::rowvec &out_loc, const arma::mat &in_locs)

计算地理坐标系下的空间距离。

参数
  • out_loc – 目标点坐标行向量。 其形状必须是 \(n \times 2\) 且其第一列是经度或 \(x\) 坐标, 第二列是纬度或 \(y\) 坐标,

  • in_locs – 数据点坐标矩阵。 其形状必须是 \(n \times 2\) 且其第一列是经度或 \(x\) 坐标, 第二列是纬度或 \(y\) 坐标,

返回

arma::vec 为 out_loc 计算得到的距离向量

static inline arma::vec EuclideanDistance(const arma::rowvec &out_loc, const arma::mat &in_locs)

计算投影坐标系下的空间距离。

参数
  • out_loc – 目标点坐标行向量。 其形状必须是 \(n \times 2\) 且其第一列是经度或 \(x\) 坐标, 第二列是纬度或 \(y\) 坐标,

  • in_locs – 数据点坐标矩阵。 其形状必须是 \(n \times 2\) 且其第一列是经度或 \(x\) 坐标, 第二列是纬度或 \(y\) 坐标,

返回

arma::vec 为 out_loc 计算得到的距离向量

static double SpGcdist(double lon1, double lon2, double lat1, double lat2)

计算两个点之间的地理参考系距离。

参数
  • lon1 – 第一个点的经度

  • lon2 – 第二个点的经度

  • lat1 – 第一个点的纬度

  • lat2 – 第二个点的纬度

返回

double 两个点之间的空间距离

保护属性

bool mGeographic
std::unique_ptr<Parameter> mParameter
struct Parameter : public gwm::Distance::Parameter

距离计算用的参数。

公有类型

inline Parameter(const arma::mat &fp, const arma::mat &dp)

构造一个新的 CRSDistanceParameter 对象。

参数
  • fp – 目标点坐标引用

  • dp – 数据点坐标引用

公有成员

arma::mat focusPoints

目标点坐标矩阵。 其形状必须是 \(n \times 2\) 且其第一列是经度或 \(x\) 坐标, 第二列是纬度或 \(y\) 坐标,

arma::mat dataPoints

数据点坐标矩阵。 其形状必须是 \(n \times 2\) 且其第一列是经度或 \(x\) 坐标, 第二列是纬度或 \(y\) 坐标,