GDOP.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. #pragma once
  2. #ifdef _WIN32
  3. # if defined(GDOP_LIB)
  4. # define GDOP_EXPORT __declspec(dllexport)
  5. # else
  6. # define GDOP_EXPORT __declspec(dllimport)
  7. # endif
  8. #else
  9. # define GDOP_EXPORT
  10. #endif
  11. extern "C"
  12. {
  13. ///
  14. /// 获取三星双时差GDOP 带参考
  15. /// mainLines :主星历双行
  16. /// adaj1Lines :邻星历双行
  17. /// adaj2Lines :邻星历双行
  18. /// captime:信号时间
  19. /// refPos: 参考经度,纬度
  20. /// dtousErr: 时差误差
  21. /// ephLocErr: 星历位置误差
  22. /// level: gdop输出等级
  23. /// levlen:level 长度
  24. /// resCount:每一级的数据个数
  25. /// res :数据
  26. /// satllh :卫星位置
  27. /// 返回值:0 成功
  28. ///
  29. GDOP_EXPORT int Gdop3SatRef(char *mainLines, char *adaj1Lines, char *adaj2Lines, long long captime, double *refPos
  30. , double dtousErr, double ephLocErr
  31. , double *level, int levlen, int *resCount, double **res, double *satllh);
  32. ///
  33. /// 获取三星双时差GDOP 无参考
  34. /// mainLines :主星历双行
  35. /// adaj1Lines :邻星历双行
  36. /// adaj2Lines :邻星历双行
  37. /// captime:信号时间
  38. /// dtousErr: 时差误差
  39. /// ephLocErr: 星历位置误差
  40. /// level: gdop输出等级
  41. /// levlen:level 长度
  42. /// resCount:每一级的数据个数
  43. /// res :数据
  44. /// satllh :卫星位置
  45. /// 返回值:0 成功
  46. ///
  47. GDOP_EXPORT int Gdop3SatNoRef(char *mainLines, char *adaj1Lines, char *adaj2Lines, long long captime
  48. , double dtousErr, double ephLocErr
  49. , double *level, int levlen, int *resCount, double **res, double *satllh);
  50. ///
  51. /// 获取双星GDOP
  52. /// mainLines :主星历双行
  53. /// adajLines :邻星历双行
  54. /// captime:信号时间
  55. /// refPos: 参考经度,纬度
  56. /// fuHz1: 主上行
  57. /// fuHz2: 邻上行
  58. /// dtousErr: 时差误差
  59. /// dfoHzErr: 频差误差
  60. /// ephLocErr: 星历位置误差
  61. /// ephVLocErr: 星历速度误差
  62. /// level: gdop输出等级
  63. /// levlen:level 长度
  64. /// resCount:每一级的数据个数
  65. /// res :数据
  66. /// satllh :卫星位置
  67. /// 返回值:0 成功
  68. ///
  69. GDOP_EXPORT int Gdop2SatDRef(char *mainLines, char *adajLines, long long captime, double *refPos
  70. , double fuHz1, double fuHz2, double dtousErr, double dfoHzErr, double ephLocErr, double ephVLocErr
  71. , double *level, int levlen, int *resCount, double **res, double *satllh);
  72. ///
  73. /// 获取三星双频差GDOP
  74. /// mainLines :主星历双行
  75. /// adaj1Lines :邻星历双行
  76. /// adaj2Lines :邻星历双行
  77. /// captime:信号时间
  78. /// refPos: 参考经度,纬度
  79. /// fuHz1: 主上行
  80. /// fuHz2: 邻上行
  81. /// dfo_err: 频差误差
  82. /// eph_pos_err: 星历位置误差
  83. /// eph_vel_err: 星历速度误差
  84. /// level: gdop输出等级
  85. /// levlen:level 长度
  86. /// resCount:每一级的数据个数
  87. /// res :数据
  88. /// satllh :卫星位置
  89. /// 返回值:0 成功
  90. ///
  91. GDOP_EXPORT int Gdop3SatDF(char *mainLines, char *adaj1Lines, char *adaj2Lines, long long captime, double *refPos
  92. , double fuHz1, double fuHz2, double dfo_err, double eph_pos_err, double eph_vel_err
  93. , double *level, int levlen, int *resCount, double **res, double *satllh);
  94. ///
  95. /// 获取2X1D GDOP
  96. /// mainLines :主星历双行
  97. /// adajLines :邻星历双行
  98. /// captime:信号时间
  99. /// cdbPos: 地面站经度,纬度
  100. /// refPos: 参考经度,纬度
  101. /// dtousErr: 时差误差
  102. /// ephLocErr: 星历位置误差
  103. /// level: gdop输出等级
  104. /// levlen:level 长度
  105. /// resCount:每一级的数据个数
  106. /// res :数据
  107. /// satllh :卫星位置 长度6
  108. /// 返回值:0 成功
  109. ///
  110. GDOP_EXPORT int Gdop2Sat1DRef(char *mainLines, char *adajLines, long long captime, double *cdbPos
  111. , double *refPos, double dtousErr, double ephLocErr
  112. , double *level, int levlen, int *resCount, double **res, double *satllh);
  113. ///
  114. /// 获取2X1D no ref GDOP
  115. /// mainLines :主星历双行
  116. /// adajLines :邻星历双行
  117. /// captime:信号时间
  118. /// cdbPos: 地面站经度,纬度
  119. /// dtousErr: 时差误差
  120. /// ephLocErr: 星历位置误差
  121. /// level: gdop输出等级
  122. /// levlen:level 长度
  123. /// resCount:每一级的数据个数
  124. /// res :数据
  125. /// satllh :卫星位置 长度6
  126. /// 返回值:0 成功
  127. ///
  128. GDOP_EXPORT int Gdop2Sat1DNoRef(char *mainLines, char *adajLines, long long captime, double *cdbPos
  129. , double dtousErr, double ephLocErr
  130. , double *level, int levlen, int *resCount, double **res, double *satllh);
  131. ///
  132. /// 获取XD_CX ref GDOP
  133. /// mainLines :主星历双行
  134. /// captime:信号时间
  135. /// cdbPos: 地面站经度,纬度
  136. /// cxPos: 侧向站经度,纬度
  137. /// refPos: 参考经度,纬度
  138. /// dto_err: 时差误差
  139. /// doa_err: 侧向误差
  140. /// eph_err: 星历位置误差
  141. /// level: gdop输出等级
  142. /// levlen:level 长度
  143. /// resCount:每一级的数据个数
  144. /// res :数据
  145. /// satllh :卫星位置 长度6
  146. /// 返回值:0 成功
  147. ///
  148. GDOP_EXPORT int GdopXDCXRef(char *mainLines, long long captime, double *cdbPos, double *cxPos, double *refPos
  149. , double dto_err, double doa_err, double eph_err
  150. , double *level, int levlen, int *resCount, double **res, double *satllh);
  151. ///
  152. /// 获取XD_CX no ref GDOP
  153. /// mainLines :主星历双行
  154. /// captime:信号时间
  155. /// cdbPos: 地面站经度,纬度
  156. /// cxPos: 侧向站经度,纬度
  157. /// refPos: 参考经度,纬度
  158. /// dto_err: 时差误差
  159. /// doa_err: 侧向误差
  160. /// eph_err: 星历位置误差
  161. /// level: gdop输出等级
  162. /// levlen:level 长度
  163. /// resCount:每一级的数据个数
  164. /// res :数据
  165. /// satllh :卫星位置 长度6
  166. /// 返回值:0 成功
  167. ///
  168. GDOP_EXPORT int GdopXDCXNoRef(char *mainLines, long long captime, double *cdbPos, double *cxPos
  169. , double dto_err, double doa_err, double eph_err
  170. , double *level, int levlen, int *resCount, double **res, double *satllh);
  171. ///
  172. /// 获取XD_CX no ref GDOP
  173. /// cx1Pos: 侧向站经度,纬度
  174. /// cx2Pos: 侧向站经度,纬度
  175. /// doa_err1: 侧向1误差
  176. /// doa_err2: 侧向2误差
  177. /// level: gdop输出等级
  178. /// levlen:level 长度
  179. /// resCount:每一级的数据个数
  180. /// res :数据
  181. /// satllh :卫星位置 长度6
  182. /// 返回值:0 成功
  183. ///
  184. GDOP_EXPORT int Gdop2CX(double *cx1Pos, double *cx2Pos
  185. , double doa_err1, double doa_err2
  186. , double *level, int levlen, int *resCount, double **res);
  187. ///
  188. /// 释放
  189. ///
  190. GDOP_EXPORT void FreeGDOPBuf(double *val);
  191. }