#ifndef PQ_GISUTILS_H
#define PQ_GISUTILS_H

#include <QPair>

namespace PQ {


class GisUtils
{
public:
    GisUtils();
    static const double Nan;// = std::nan("");
    // 速度转换 节  到 km
    static double JieToKM(double j);

    // 角度， 弧度 转换
    static double DuToHudu(double d);
    static double HuduTodu(double d);

    // 单位 度
    static double kmToLat(double km);
    static double kmToLon(double km, double lat);

    // 计算 两船按照当前方向的交叉点 返回(维度，经度)
    static QPair<double,double> boatPoint(double latM,double lonM, double hdM, double lat2,double lon2, double hd2);

    // 计算经纬度 两点的距离， 单位km
    static double boatJuli(double lat1, double lon1, double lat2, double lon2,int boatSize);
    //船的相对位置，单位 度
    static double boatRolate(double lat1, double lon1, double lat2, double lon2);

    // QPair<x, y> 两轴移动的距离
    // d 移动的距离
    // hd 移动的方向 单位 度
    static QPair<double, double> movePoint(double d, double hd);

    // lonX， latY 单位 度
    // QPair<lon,lat> 单位 度
    static QPair<double,double> boatMove(double lonX, double latY,double hd, double nm);

    // 获取以lonBase，latBase　为０点　，其他点的相对角度
    static double getCT(double lonBase, double latBase, double lon,double lat);
};


}
#endif // GISUTILS_H
