EditorConfig.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  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 Dictionary<string,string> taskLoadType;
  36. [JsonProperty("最大起飞重量")]
  37. public double MaxTakeoffWeight;
  38. [JsonProperty("最大载油量")]
  39. public double MaxFuelCapacity;
  40. [JsonProperty("最大载客数量")]
  41. public double MaxPassengerNumber;
  42. [JsonProperty("通信属性")]
  43. public List<Communication> Communication;
  44. }
  45. //通信属性
  46. public class Communication
  47. {
  48. [JsonProperty("名称")]
  49. public string CommunicationName;
  50. [JsonProperty("通信设备")]
  51. public string CommunicationEquipment;
  52. [JsonProperty("本地遮挡损耗(dB)")]
  53. public double LocalObstructionLoss;
  54. [JsonProperty("本体数据流量需求(Mbps)")]
  55. public double BodyDataFlowDemand;
  56. [JsonProperty("是否高优先级用户")]
  57. public bool HighPriorityUser;
  58. [JsonProperty("是否具备基站或卫通属性")]
  59. public bool BaseStationOrSatellite;
  60. }
  61. public class TaskLoadType
  62. {
  63. [JsonProperty("雷达设备")]
  64. public string RadarEquipment;
  65. [JsonProperty("光电探测设备")]
  66. public string PhotoelectricDetectionEquipment;
  67. }
  68. public class FirePoint
  69. {
  70. [JsonProperty("火点ID")]
  71. public int FirePointId;
  72. [JsonProperty("火点编号")]
  73. public string FirePointName;
  74. [JsonProperty("火点经度")]
  75. public double FirePointLongitude;
  76. [JsonProperty("火点纬度")]
  77. public double FirePointLatitude;
  78. [JsonProperty("火点海拔")]
  79. public double FirePointHeight;
  80. [JsonProperty("初始火线长度")]
  81. public double fireLength;
  82. [JsonProperty("目标气象信息")]
  83. public TargetWeather[] targetWeather;
  84. [JsonProperty("植被类型")]
  85. public int vegetationType;
  86. }
  87. public class WaterPoint
  88. {
  89. [JsonProperty("取水点名称")]
  90. public string WaterPointName;
  91. [JsonProperty("位置信息")]
  92. public string WaterPointPositionInfo;
  93. [JsonProperty("取水点编号")]
  94. public int WaterPointId;
  95. [JsonProperty("取水点经度")]
  96. public double WaterPointLongitude;
  97. [JsonProperty("取水点纬度")]
  98. public double WaterPointLatitude;
  99. [JsonProperty("取水点海拔")]
  100. public double WaterPointHeight;
  101. }
  102. public class TargetPoint//搜救目标点初始坐标
  103. {
  104. [JsonProperty("目标点ID")]
  105. public int TargetPointId;
  106. [JsonProperty("目标点经度")]
  107. public double TargetPointLongitude;
  108. [JsonProperty("目标点纬度")]
  109. public double TargetPointLatitude;
  110. [JsonProperty("目标点海拔")]
  111. public double TargetPointHeight;
  112. [JsonProperty("目标类型")]
  113. public TargetType TargetType;
  114. }
  115. public class TargetType
  116. {
  117. [JsonProperty("类型")]
  118. public string Type;
  119. [JsonProperty("目标大小")]
  120. public string Size;
  121. [JsonProperty("目标吨位")]
  122. public string Tonnage;
  123. }
  124. public class ClimbSegment
  125. {
  126. [JsonProperty("爬升段速度")]
  127. public double ClimbVelocity;
  128. [JsonProperty("爬升段油耗率")]
  129. public double ClimbFuelConsumptionRate;
  130. }
  131. public class DescentSegment
  132. {
  133. [JsonProperty("下降段速度")]
  134. public double DescentVelocity;
  135. [JsonProperty("下降段油耗率")]
  136. public double DescentFuelConsumptionRate;
  137. }
  138. public class CruiseSegment
  139. {
  140. [JsonProperty("巡航段高度")]
  141. public double CruiseHeight = 2000;
  142. [JsonProperty("巡航段速度")]
  143. public double CruiseVelocity;
  144. [JsonProperty("巡航段油耗率")]
  145. public double CruiseFuelConsumptionRate;
  146. }
  147. public struct TargetWeather
  148. {
  149. [JsonProperty("时间")]
  150. public string Time;
  151. [JsonProperty("温度")]
  152. public double Temperature;
  153. [JsonProperty("能见度")]
  154. public double Humidity;
  155. [JsonProperty("湿度")]
  156. public double Visibility;
  157. [JsonProperty("风向")]
  158. public double WindDirection;
  159. [JsonProperty("风速")]
  160. public double WindSpeed;
  161. [JsonProperty("天气")]
  162. public string Weather;
  163. }
  164. public struct CityWeather
  165. {
  166. [JsonProperty("调用方式")]
  167. public string CallMethod;
  168. [JsonProperty("温度")]
  169. public double Temperature;
  170. //能见度
  171. [JsonProperty("能见度")]
  172. public double Visibility;
  173. //水温
  174. [JsonProperty("水温")]
  175. public double WaterTemperature;
  176. }
  177. public struct ScenarioInfo
  178. {
  179. [JsonProperty("想定日期")]
  180. public string Data;
  181. [JsonProperty("想定时间")]
  182. public string Time;
  183. }
  184. //通信对象设定
  185. public class CommunicationSet
  186. {
  187. [JsonProperty("随机点生成定义")]
  188. public RandomPoint randomPoint;
  189. [JsonProperty("网格生成区域定义")]
  190. public GridArea gridArea;
  191. }
  192. //随机点生成定义
  193. public class RandomPoint
  194. {
  195. [JsonProperty("随机点区域边界")]
  196. public List<double[]> randomPointArea;
  197. [JsonProperty("随机点数量")]
  198. public int randomPointCount;
  199. // "随机点设备离地高度(m)": 1.6,
  200. [JsonProperty("随机点设备离地高度(m)")]
  201. public double randomPointDeviceHeight;
  202. // "用户携带的设备种类": "示例机载中继设备",
  203. [JsonProperty("用户携带的设备种类")]
  204. public string randomPointDeviceType;
  205. // "随机点名称": "示例消防员",
  206. [JsonProperty("随机点名称")]
  207. public string randomPointName;
  208. // "随机点本地遮挡(dB)": 0,
  209. [JsonProperty("随机点本地遮挡(dB)")]
  210. public double randomPointLocalLost;
  211. // "随机单点传输速率需求(Mbps)": 0.1
  212. [JsonProperty("随机单点传输速率需求(Mbps)")]
  213. public double randomPointDataSpeed;
  214. }
  215. //网格生成区域定义
  216. public class GridArea
  217. {
  218. [JsonProperty("网格点区域边界")]
  219. public List<double[]> gridPointArea;
  220. // "网格经度分辨率": 0.02,
  221. [JsonProperty("网格经度分辨率")]
  222. public double gridLongitudeResolution;
  223. // "网格纬度分辨率": 0.02,
  224. [JsonProperty("网格纬度分辨率")]
  225. public double gridLatitudeResolution;
  226. // "网格点设备离地高度(m)": 1.6,
  227. [JsonProperty("网格点设备离地高度(m)")]
  228. public double gridPointDeviceHeight;
  229. // "网格点用户携带的设备": "示例机载中继设备",
  230. [JsonProperty("网格点用户携带的设备")]
  231. public string gridPointDeviceType;
  232. // "网格点名称": "示例网格",
  233. [JsonProperty("网格点名称")]
  234. public string gridPointName;
  235. // "网格点本地遮挡(dB)": 0
  236. [JsonProperty("网格点本地遮挡(dB)")]
  237. public double gridPointLocalLost;
  238. }
  239. public class EditorConfig
  240. {
  241. [JsonProperty("仿真次数")] public int runCounts;
  242. [JsonProperty("想定信息")] public ScenarioInfo scenarioInfo = new ScenarioInfo();
  243. [JsonProperty("基地信息")] public List<Base> bases = new List<Base>();
  244. [JsonProperty("飞行器信息")] public List<AircraftParameter> aircraftParameters = new List<AircraftParameter>();
  245. [JsonProperty("火点")] public List<FirePoint> firePoints = new List<FirePoint>();
  246. [JsonProperty("取水点")] public List<WaterPoint> waterPoints = new List<WaterPoint>();
  247. [JsonProperty("天气信息")] public CityWeather cityWeather = new CityWeather();
  248. [JsonProperty("搜救目标点初始坐标")] public List<TargetPoint> targetPoints = new List<TargetPoint>();
  249. [JsonProperty("通信对象设定")] public CommunicationSet communicationSets = new CommunicationSet();
  250. }