pqgisutils.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef PQ_GISUTILS_H
  2. #define PQ_GISUTILS_H
  3. #include <QPair>
  4. namespace PQ {
  5. class GisUtils
  6. {
  7. public:
  8. GisUtils();
  9. static const double Nan;// = std::nan("");
  10. // 速度转换 节 到 km
  11. static double JieToKM(double j);
  12. // 角度, 弧度 转换
  13. static double DuToHudu(double d);
  14. static double HuduTodu(double d);
  15. // 单位 度
  16. static double kmToLat(double km);
  17. static double kmToLon(double km, double lat);
  18. // 计算 两船按照当前方向的交叉点 返回(维度,经度)
  19. static QPair<double,double> boatPoint(double latM,double lonM, double hdM, double lat2,double lon2, double hd2);
  20. // 计算经纬度 两点的距离, 单位km
  21. static double boatJuli(double lat1, double lon1, double lat2, double lon2,int boatSize);
  22. //船的相对位置,单位 度
  23. static double boatRolate(double lat1, double lon1, double lat2, double lon2);
  24. // QPair<x, y> 两轴移动的距离
  25. // d 移动的距离
  26. // hd 移动的方向 单位 度
  27. static QPair<double, double> movePoint(double d, double hd);
  28. // lonX, latY 单位 度
  29. // QPair<lon,lat> 单位 度
  30. static QPair<double,double> boatMove(double lonX, double latY,double hd, double nm);
  31. // 获取以lonBase,latBase 为0点 ,其他点的相对角度
  32. static double getCT(double lonBase, double latBase, double lon,double lat);
  33. };
  34. }
  35. #endif // GISUTILS_H