EditorConfig.cs 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. using Model;
  2. using Newtonsoft.Json;
  3. public class Base
  4. {
  5. [JsonProperty("基地名称")]
  6. public string BaseName;
  7. //[JsonProperty("位置信息")]
  8. //public string BasePositionInfo;
  9. [JsonProperty("基地编号")]
  10. public int BaseId;
  11. [JsonProperty("基地经度")]
  12. public double BaseLongitude;
  13. [JsonProperty("基地纬度")]
  14. public double BaseLatitude;
  15. [JsonProperty("基地海拔")]
  16. public double BaseHeight;
  17. }
  18. public struct AircraftParameter
  19. {
  20. [JsonProperty("机型")]
  21. public string AircraftID;
  22. [JsonProperty("飞机编号")]
  23. public string Id;//如1-2,1表示基地1,2表示基地1中的2号飞机
  24. [JsonProperty("类型")]
  25. public string AircraftType;
  26. [JsonProperty("子类型")]
  27. public string AircraftSubType;
  28. [JsonProperty("所属机场ID")]
  29. public int AirportId;
  30. //[JsonProperty("状态")]
  31. //public string AircraftState;
  32. //[JsonProperty("已连续工作时间")]
  33. //public double AircraftRunTime;
  34. [JsonProperty("任务载荷型号")]
  35. public TaskLoadType taskLoadType;
  36. //[JsonProperty("最大起飞重量")]
  37. //public double MaxTakeoffWeight;
  38. //[JsonProperty("最大载油量")]
  39. //public double MaxFuelCapacity;
  40. //[JsonProperty("最大载客数量")]
  41. //public double MaxPassengerNumber;
  42. }
  43. public class TaskLoadType
  44. {
  45. [JsonProperty("雷达设备")]
  46. public string RadarEquipment;
  47. [JsonProperty("光电探测设备")]
  48. public string PhotoelectricDetectionEquipment;
  49. }
  50. public class FirePoint
  51. {
  52. [JsonProperty("火点ID")]
  53. public int FirePointId;
  54. [JsonProperty("火点经度")]
  55. public double FirePointLongitude;
  56. [JsonProperty("火点纬度")]
  57. public double FirePointLatitude;
  58. [JsonProperty("火点海拔")]
  59. public double FirePointHeight;
  60. [JsonProperty("初始火场面积")]
  61. public double InitialArea;
  62. [JsonProperty("初始火线长度")]
  63. public double fireLength;
  64. }
  65. public class TargetPoint//搜救目标点初始坐标
  66. {
  67. [JsonProperty("目标点ID")]
  68. public int TargetPointId;
  69. [JsonProperty("目标点经度")]
  70. public double TargetPointLongitude;
  71. [JsonProperty("目标点纬度")]
  72. public double TargetPointLatitude;
  73. [JsonProperty("目标点海拔")]
  74. public double TargetPointHeight;
  75. [JsonProperty("目标气象信息")]
  76. public TargetQiXiangInfo TargetQiXiangInfo;
  77. [JsonProperty("目标类型")]
  78. public TargetType TargetType;
  79. }
  80. public class TargetQiXiangInfo
  81. {
  82. [JsonProperty("00-08温度")]
  83. public double Temperature_00_08;
  84. [JsonProperty("00-08湿度")]
  85. public double Humidity_00_08;
  86. [JsonProperty("00-08能见度")]
  87. public double Visibility_00_08;
  88. [JsonProperty("00-08风速")]
  89. public double WindSpeed_00_08;
  90. [JsonProperty("00-08风向")]
  91. public double WindDirection_00_08;
  92. [JsonProperty("00-08天气")]
  93. public string Weather_00_08;
  94. [JsonProperty("08-19温度")]
  95. public double Temperature_08_19;
  96. [JsonProperty("08-19湿度")]
  97. public double Humidity_08_19;
  98. [JsonProperty("08-19能见度")]
  99. public double Visibility_08_19;
  100. [JsonProperty("08-19风速")]
  101. public double WindSpeed_08_19;
  102. [JsonProperty("08-19风向")]
  103. public double WindDirection_08_19;
  104. [JsonProperty("08-19天气")]
  105. public string Weather_08_19;
  106. [JsonProperty("19-24温度")]
  107. public double Temperature_19_24;
  108. [JsonProperty("19-24湿度")]
  109. public double Humidity_19_24;
  110. [JsonProperty("19-24能见度")]
  111. public double Visibility_19_24;
  112. [JsonProperty("19-24风速")]
  113. public double WindSpeed_19_24;
  114. [JsonProperty("19-24风向")]
  115. public double WindDirection_19_24;
  116. [JsonProperty("19-24天气")]
  117. public string Weather_19_24;
  118. }
  119. public class TargetType
  120. {
  121. [JsonProperty("类型")]
  122. public string Type;
  123. [JsonProperty("人员数量")]
  124. public int Count;
  125. [JsonProperty("重量")]
  126. public double Weight;
  127. [JsonProperty("载人数")]
  128. public int LoadCount;
  129. [JsonProperty("吨位")]
  130. public double Tonnage;
  131. [JsonProperty("长度")]
  132. public double Length;
  133. [JsonProperty("携带定位设备")]
  134. public bool GPS;
  135. [JsonProperty("预计剩余存活时间")]
  136. public double LiveTime;
  137. [JsonProperty("雷达截面面积")]
  138. public double RadarArea;
  139. [JsonProperty("探测目标面积")]
  140. public double TargetArea;
  141. [JsonProperty("探测目标亮度")]
  142. public double TargetBrightness;
  143. [JsonProperty("时间窗口")]
  144. public double Time;
  145. }
  146. public class RescueDemandInfo//救援需求信息
  147. {
  148. [JsonProperty("需求点名称")]
  149. public string DemandPointName;
  150. [JsonProperty("需求点ID")]
  151. public int DemandPointID;
  152. [JsonProperty("目标点经度")]
  153. public double TargetPointLongitude;
  154. [JsonProperty("目标点纬度")]
  155. public double TargetPointLatitude;
  156. [JsonProperty("目标点海拔")]
  157. public double TargetPointHeight;
  158. [JsonProperty("目标气象信息")]
  159. public TargetQiXiangInfo TargetQiXiangInfo;
  160. [JsonProperty("目标类型")]
  161. public TargetType TargetType;
  162. }
  163. public class GoodsPersonPoint//物资人员点
  164. {
  165. [JsonProperty("物资点名称")]
  166. public string GoodsPointName;
  167. [JsonProperty("物资点编号")]
  168. public int GoodsPointID;
  169. [JsonProperty("取水点经度")]
  170. public double WaterPointLongitude;
  171. [JsonProperty("取水点纬度")]
  172. public double WaterPointLatitude;
  173. [JsonProperty("取水点海拔")]
  174. public double WaterPointHeight;
  175. }
  176. public class ClimbSegment
  177. {
  178. [JsonProperty("爬升段速度")]
  179. public double ClimbVelocity;
  180. [JsonProperty("爬升段油耗率")]
  181. public double ClimbFuelConsumptionRate;
  182. }
  183. public class DescentSegment
  184. {
  185. [JsonProperty("下降段速度")]
  186. public double DescentVelocity;
  187. [JsonProperty("下降段油耗率")]
  188. public double DescentFuelConsumptionRate;
  189. }
  190. public class CruiseSegment
  191. {
  192. [JsonProperty("巡航段高度")]
  193. public double CruiseHeight = 2000;
  194. [JsonProperty("巡航段速度")]
  195. public double CruiseVelocity;
  196. [JsonProperty("巡航段油耗率")]
  197. public double CruiseFuelConsumptionRate;
  198. }
  199. public struct CityWeather
  200. {
  201. [JsonProperty("调用方式")]
  202. public string CallMethod;
  203. [JsonProperty("温度")]
  204. public double Temperature;
  205. //能见度
  206. [JsonProperty("能见度")]
  207. public double Visibility;
  208. //水温
  209. [JsonProperty("水温")]
  210. public double WaterTemperature;
  211. }
  212. public struct ScenarioInfo
  213. {
  214. [JsonProperty("想定日期")]
  215. public string Data;
  216. [JsonProperty("想定时间")]
  217. public string Time;
  218. }
  219. public class EditorConfig
  220. {
  221. [JsonProperty("仿真次数")]
  222. public int runCounts;
  223. [JsonProperty("想定信息")]
  224. public ScenarioInfo scenarioInfo = new ScenarioInfo();
  225. [JsonProperty("基地信息")]
  226. public List<Base> bases = new List<Base>();
  227. [JsonProperty("飞行器信息")]
  228. public List<AircraftParameter>aircraftParameters = new List<AircraftParameter>();
  229. //[JsonProperty("火点")]
  230. //public List<FirePoint> firePoints = new List<FirePoint>();
  231. //[JsonProperty("天气信息")]
  232. //public CityWeather cityWeather = new CityWeather();
  233. [JsonProperty("搜救目标点初始坐标")]
  234. public List<TargetPoint> targetPoints = new List<TargetPoint>();
  235. [JsonProperty("救援需求信息")]
  236. public List<RescueDemandInfo> rescueDemandInfos = new List<RescueDemandInfo>();
  237. [JsonProperty("物资人员点")]
  238. public List<GoodsPersonPoint> goodsPersonPoints = new List<GoodsPersonPoint>();
  239. }