TaskConfig.cs 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. using Newtonsoft.Json;
  2. namespace Model;
  3. public class MissionInformation
  4. {
  5. [JsonProperty("任务名称")]
  6. public string MissionName;
  7. [JsonProperty("任务ID")]
  8. public string MissionId;
  9. [JsonProperty("任务主要类型")]
  10. public string MissionMainType;
  11. [JsonProperty("任务类型")]
  12. public string MissionType;
  13. [JsonProperty("任务触发器")]
  14. public string MissionTrigger;
  15. [JsonProperty("开始日期")]
  16. public string StartDate;
  17. [JsonProperty("开始时间")]
  18. public string StartTime;
  19. [JsonProperty("结束日期")]
  20. public string EndDate;
  21. [JsonProperty("结束时间")]
  22. public string EndTime;
  23. [JsonProperty("起飞准备时间")]
  24. public double TakeoffPreparationTime;
  25. [JsonProperty("停止搜索时间")]
  26. public double EndSearchTime;
  27. [JsonProperty("任务结束条件")]
  28. public string TaskEndConditions;
  29. [JsonProperty("应用航空器")]
  30. public AircraftInfos[] aircraftInfos;
  31. }
  32. public class AircraftInfos
  33. {
  34. [JsonProperty("应用机型")]
  35. public string AircraftType;
  36. [JsonProperty("应用飞机编号")]
  37. public string AircraftId;
  38. [JsonProperty("加油基地")]
  39. public string RefuelingBase;
  40. [JsonProperty("加油基地编号")]
  41. public string RefuelingBaseId;
  42. [JsonProperty("任务结束返回点")]
  43. public string TaskEndReturnPoint;
  44. }
  45. public class MissionPoint
  46. {
  47. [JsonProperty("任务点经度")]
  48. public double MissionPointLongitude;
  49. [JsonProperty("任务点纬度")]
  50. public double MissionPointLatitude;
  51. [JsonProperty("任务点海拔")]
  52. public double MissionPointHeight;
  53. }
  54. public class ZCTask
  55. {
  56. [JsonProperty("任务信息")]
  57. public MissionInformation missionInformation;
  58. [JsonProperty("矩形侦查区域边界点")]
  59. public List<double[]> poly;
  60. [JsonProperty("扫描线间距")]
  61. public double ScanRange;
  62. [JsonProperty("侦查飞行真高")]
  63. public double hSC;
  64. [JsonProperty("是否真实高度")]
  65. public bool isRealHeight;
  66. [JsonProperty("是否环绕模式")]
  67. public bool isSurround;
  68. [JsonProperty("环绕圈数")]
  69. public int SurroundNum;
  70. [JsonProperty("火点ID")]
  71. public int FirePointId;
  72. public MissionPoint[] MissionPoints;
  73. [JsonProperty("下一个任务ID")]
  74. public string NextTaskId;
  75. }
  76. public class SHJTask
  77. {
  78. [JsonProperty("任务信息")]
  79. public MissionInformation missionInformation;
  80. [JsonProperty("索滑降高度")]
  81. public double H;
  82. [JsonProperty("投送人数")]
  83. public int person_number;
  84. [JsonProperty("风速")]
  85. public double windspeed;
  86. [JsonProperty("能见度")]
  87. public double vis;
  88. [JsonProperty("索滑降速度")]
  89. public double descendspeed;
  90. [JsonProperty("转运人数")]
  91. public int personNumber;
  92. [JsonProperty("索滑降点")]
  93. public MissionPoint[] MissionPoints;
  94. [JsonProperty("下一个任务ID")]
  95. public string NextTaskId;
  96. }
  97. public class DMMHTask
  98. {
  99. [JsonProperty("任务信息")]
  100. public MissionInformation missionInformation;
  101. [JsonProperty("地面部署人数")]
  102. public double GroundPersonnel;
  103. [JsonProperty("机降人数")]
  104. public double LandingPersonnel;
  105. [JsonProperty("机降点")]
  106. public MissionPoint[] MissionPoints;
  107. [JsonProperty("下一个任务ID")]
  108. public string NextTaskId;
  109. }
  110. public class AirRoute
  111. {
  112. [JsonProperty("巡护航线名称")]
  113. public string AirRouteName;
  114. [JsonProperty("巡护航线点经度")]
  115. public double AirRouteLongitude;
  116. [JsonProperty("巡护航线点纬度")]
  117. public double AirRouteLatitude;
  118. [JsonProperty("巡护航线点海拔")]
  119. public double AirRouteHeight;
  120. }
  121. public class XHTask
  122. {
  123. public double DelayTime;
  124. [JsonProperty("任务信息")]
  125. public MissionInformation missionInformation;
  126. [JsonProperty("巡护航线参数")]
  127. public AirRoute[] airroute;
  128. [JsonProperty("火点ID")]
  129. public int FirePointId;
  130. [JsonProperty("取水点")]
  131. public MissionPoint[] MissionPoints;
  132. [JsonProperty("下一个任务ID")]
  133. public string NextTaskId;
  134. }
  135. public class MHTask
  136. {
  137. [JsonProperty("任务信息")]
  138. public MissionInformation missionInformation;
  139. [JsonProperty("取水点")]
  140. public MissionPoint[] MissionPoints;
  141. [JsonProperty("下一个任务ID")]
  142. public string NextTaskId;
  143. }
  144. public class SeaSouJiuTask
  145. {
  146. [JsonProperty("任务信息")]
  147. public MissionInformation missionInformation;
  148. [JsonProperty("目标点ID")]
  149. public int TargetPointId;
  150. [JsonProperty("搜索任务载荷")]
  151. public SearchMissionPayload missionSearchPayload;
  152. [JsonProperty("搜索方式")]
  153. public SearchMissionMode SearchMode;
  154. [JsonProperty("下一个任务ID")]
  155. public string NextTaskId;
  156. }
  157. public class SearchMissionPayload //搜索任务载荷
  158. {
  159. [JsonProperty("任务载荷")]
  160. public string SearchPayload;
  161. //探测波长(m)
  162. [JsonProperty("探测波长(m)")]
  163. public double DetectionWavelength;
  164. //最小可检测信号(dBm)
  165. [JsonProperty("最小可检测信号(dBm)")]
  166. public double MinDetectionSignal;
  167. //雷达发射机发射信号功率(dBm)
  168. [JsonProperty("雷达发射机发射信号功率(dBm)")]
  169. public double RadarTransmitterPower;
  170. //发射天线增益(dB)
  171. [JsonProperty("发射天线增益(dB)")]
  172. public double TransmitAntennaGain;
  173. //接受天线增益(dB)
  174. [JsonProperty("接受天线增益(dB)")]
  175. public double ReceiveAntennaGain;
  176. //光电转塔水平范围
  177. [JsonProperty("光电转塔水平范围")]
  178. public double OpticalTowerHorizontalRange;
  179. //红外探测器视场角
  180. [JsonProperty("红外探测器视场角")]
  181. public double InfraredDetectorFieldAngle;
  182. //飞行高度
  183. [JsonProperty("飞行高度")]
  184. public double FlightHeight;
  185. }
  186. public class SearchMissionMode //搜索方式
  187. {
  188. [JsonProperty("搜索方式")]
  189. public string SearchMode;
  190. //搜索扫视宽度
  191. [JsonProperty("搜索扫视宽度")]
  192. public double SearchWidth;
  193. [JsonProperty("多边形边界")]
  194. public List<double[]> Poly;
  195. [JsonProperty("等高线高度间隔")]
  196. public double interval;
  197. [JsonProperty("最小等高线节点数")]
  198. public int MinLength;
  199. [JsonProperty("航线真实高度")]
  200. public double TrueH;
  201. [JsonProperty("输出等高线节点间隔")]
  202. public int JG;
  203. }
  204. public class LandSouXunTask
  205. {
  206. [JsonProperty("任务信息")]
  207. public MissionInformation missionInformation;
  208. [JsonProperty("目标点ID")]
  209. public int TargetPointId;
  210. //搜索任务载荷
  211. [JsonProperty("搜索任务载荷")]
  212. public SearchMissionPayload missionSearchPayload;
  213. //搜索方式
  214. [JsonProperty("搜索方式")]
  215. public SearchMissionMode SearchMode;
  216. [JsonProperty("下一个任务ID")]
  217. public string NextTaskId;
  218. }
  219. public class MHTaskConfig
  220. {
  221. [JsonProperty("总灭火任务编号")]
  222. public int TotalMHId;
  223. [JsonProperty("火点ID")]
  224. public int FirePointId;
  225. [JsonProperty("执行次数")]
  226. public int RunTimes;
  227. [JsonProperty("吊桶洒水灭火任务")]
  228. public List<MHTask> mHTask = new List<MHTask>();
  229. [JsonProperty("机降灭火任务")]
  230. public List<DMMHTask> dMMHTask = new List<DMMHTask>();
  231. [JsonProperty("索滑降灭火任务")]
  232. public List<SHJTask> sHJTask = new List<SHJTask>();
  233. }
  234. public class TaskConfig
  235. {
  236. [JsonProperty("灭火任务")]
  237. public List<MHTaskConfig> mHTaskConfigs = new List<MHTaskConfig>();
  238. [JsonProperty("火场侦查任务")]
  239. public List<ZCTask> zCTask = new List<ZCTask>();
  240. [JsonProperty("防火巡护任务")]
  241. public List<XHTask> xHTask = new List<XHTask>();
  242. [JsonProperty("海上搜救任务")]
  243. public List<SeaSouJiuTask> seaSouJiuTasks = new List<SeaSouJiuTask>();
  244. [JsonProperty("陆上搜寻任务")]
  245. public List<LandSouXunTask> LandSouXunTasks = new List<LandSouXunTask>();
  246. }