类 CRSDistance
定义于 文件 CRSDistance.h
嵌套关系
嵌套类型
继承关系
基类
public gwm::Distance
(类 Distance)
派生类
public gwm::MinkwoskiDistance
(类 MinkwoskiDistance)
类文档
-
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 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 两个点之间的空间距离
-
inline CRSDistance()