Package.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace SIASUN.Autopilot.GNSS
  7. {
  8. /// <summary>
  9. /// WGS84坐标点
  10. /// </summary>
  11. public class WGS84Points
  12. {
  13. // 经度
  14. public double x { get; set; }
  15. // 纬度
  16. public double y { get; set; }
  17. // 高度
  18. public double z { get; set; }
  19. }
  20. /// <summary>
  21. /// 各点到原点的距离信息
  22. /// </summary>
  23. public class PointsToOrigin
  24. {
  25. // 距离
  26. public double distance { get; set; }
  27. // 角度
  28. public double TanAngle { get; set; }
  29. // 高度
  30. public double Height { get; set; }
  31. // 该点速度
  32. public double Speed { get; set; }
  33. }
  34. /// <summary>
  35. /// NMEA0183协议
  36. /// </summary>
  37. public class NMEA0183
  38. {
  39. public GPRMC gprmc { get; set; }
  40. public GPGGA gpgga { get; set; }
  41. public string pashr { get; set; }
  42. }
  43. /// <summary>
  44. /// NMEA0183协议-GPRMC
  45. /// </summary>
  46. public class GPRMC
  47. {
  48. // <1> UTC时间,hhmmss.ss时分秒格式
  49. public string utcTime { get; set; }
  50. // <2> 定位状态,A=有效定位,V=无效定位
  51. public string locationStatus { get; set; }
  52. // <3> 纬度ddmm.mmmmmmmm(度分)格式(前面的0也将被传输)
  53. public decimal Latitude { get; set; }
  54. // <4> 纬度半球N(北半球)或S(南半球)
  55. public string LatType { get; set; }
  56. // <5> 经度dddmm.mmmmmmmm(度分)格式(前面的0也将被传输)
  57. public decimal Longitude { get; set; }
  58. // <6> 经度半球E(东经)或W(西经)
  59. public string LonType { get; set; }
  60. // <7> 地面速率(000.0~999.9节,前面的0也将被传输)
  61. public decimal Speed { get; set; }
  62. // <8> 地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)
  63. public decimal Deviated { get; set; }
  64. // <9> UTC日期,ddmmyy(日月年)格式
  65. public string Date { get; set; }
  66. // <10> 磁偏角(000.0~180.0度,前面的0也将被传输)
  67. public decimal Magnetic { get; set; }
  68. // <11> 磁偏角方向,E(东)或W(西)
  69. public string MagneticDirection { get; set; }
  70. // <12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
  71. public string Mode { get; set; }
  72. }
  73. /// <summary>
  74. /// NMEA0183协议-GPGGA
  75. /// </summary>
  76. public class GPGGA
  77. {
  78. // 字段1:UTC 时间,hhmmss.sss,时分秒格式
  79. public string utcTime { get; set; }
  80. // 字段2:纬度ddmm.mmmmmmmm,度分格式(前导位数不足则补0)
  81. public decimal Latitude { get; set; }
  82. // 字段3:纬度N(北纬)或S(南纬)
  83. public string LatType { get; set; }
  84. // 字段4:经度dddmm.mmmmmmmm,度分格式(前导位数不足则补0)
  85. public decimal Longitude { get; set; }
  86. // 字段5:经度E(东经)或W(西经)
  87. public string LonType { get; set; }
  88. // 字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算
  89. public int GPSStatus { get; set; }
  90. // 字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)
  91. public int SatelliteNumber { get; set; }
  92. // 字段8:HDOP水平精度因子(0.5 - 99.9)
  93. public decimal Hdop { get; set; }
  94. // 字段9:海拔高度(-9999.9 - 99999.9)
  95. public decimal Height { get; set; }
  96. // 字段10:地球椭球面相对大地水准面的高度
  97. public string ReleaveHeight { get; set; }
  98. // 字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
  99. public string CTKTime { get; set; }
  100. // 字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)
  101. public string CTKID { get; set; }
  102. // 字段13:校验值
  103. public string Check { get; set; }
  104. }
  105. }