using Model; using Newtonsoft.Json; public class Base { [JsonProperty("基地名称")] public string BaseName; //[JsonProperty("位置信息")] //public string BasePositionInfo; [JsonProperty("基地编号")] public int BaseId; [JsonProperty("基地经度")] public double BaseLongitude; [JsonProperty("基地纬度")] public double BaseLatitude; [JsonProperty("基地海拔")] public double BaseHeight; } public struct AircraftParameter { [JsonProperty("机型")] public string AircraftID; [JsonProperty("飞机编号")] public string Id;//如1-2,1表示基地1,2表示基地1中的2号飞机 [JsonProperty("类型")] public string AircraftType; [JsonProperty("子类型")] public string AircraftSubType; [JsonProperty("所属机场ID")] public int AirportId; //[JsonProperty("状态")] //public string AircraftState; //[JsonProperty("已连续工作时间")] //public double AircraftRunTime; [JsonProperty("任务载荷型号")] public TaskLoadType taskLoadType; [JsonProperty("最大起飞重量")] public double MaxTakeoffWeight; [JsonProperty("最大载油量")] public double MaxFuelCapacity; [JsonProperty("最大载客数量")] public double MaxPassengerNumber; [JsonProperty("通信属性")] public List Communication; } //通信属性 public class Communication { [JsonProperty("名称")] public string CommunicationName; [JsonProperty("通信设备")] public string CommunicationEquipment; [JsonProperty("本地遮挡损耗(dB)")] public double LocalObstructionLoss; [JsonProperty("本体数据流量需求(Mbps)")] public double BodyDataFlowDemand; [JsonProperty("是否高优先级用户")] public bool HighPriorityUser; [JsonProperty("是否具备基站或卫通属性")] public bool BaseStationOrSatellite; } public class TaskLoadType { [JsonProperty("雷达设备")] public string RadarEquipment; [JsonProperty("光电探测设备")] public string PhotoelectricDetectionEquipment; } public class FirePoint { [JsonProperty("火点ID")] public int FirePointId; [JsonProperty("火点编号")] public string FirePointName; [JsonProperty("火点经度")] public double FirePointLongitude; [JsonProperty("火点纬度")] public double FirePointLatitude; [JsonProperty("火点海拔")] public double FirePointHeight; [JsonProperty("初始火线长度")] public double fireLength; [JsonProperty("目标气象信息")] public TargetWeather[] targetWeather; [JsonProperty("植被类型")] public int vegetationType; } public class WaterPoint { [JsonProperty("取水点名称")] public string WaterPointName; [JsonProperty("位置信息")] public string WaterPointPositionInfo; [JsonProperty("取水点编号")] public int WaterPointId; [JsonProperty("取水点经度")] public double WaterPointLongitude; [JsonProperty("取水点纬度")] public double WaterPointLatitude; [JsonProperty("取水点海拔")] public double WaterPointHeight; } public class TargetPoint//搜救目标点初始坐标 { [JsonProperty("目标点ID")] public int TargetPointId; [JsonProperty("目标点经度")] public double TargetPointLongitude; [JsonProperty("目标点纬度")] public double TargetPointLatitude; [JsonProperty("目标点海拔")] public double TargetPointHeight; [JsonProperty("目标气象信息")] public TargetQiXiangInfo TargetQiXiangInfo; [JsonProperty("目标类型")] public TargetType TargetType; } public class TargetQiXiangInfo { [JsonProperty("00-08温度")] public double Temperature_00_08; [JsonProperty("00-08湿度")] public double Humidity_00_08; [JsonProperty("00-08能见度")] public double Visibility_00_08; [JsonProperty("00-08风速")] public double WindSpeed_00_08; [JsonProperty("00-08风向")] public double WindDirection_00_08; [JsonProperty("00-08天气")] public string Weather_00_08; [JsonProperty("08-19温度")] public double Temperature_08_19; [JsonProperty("08-19湿度")] public double Humidity_08_19; [JsonProperty("08-19能见度")] public double Visibility_08_19; [JsonProperty("08-19风速")] public double WindSpeed_08_19; [JsonProperty("08-19风向")] public double WindDirection_08_19; [JsonProperty("08-19天气")] public string Weather_08_19; [JsonProperty("19-24温度")] public double Temperature_19_24; [JsonProperty("19-24湿度")] public double Humidity_19_24; [JsonProperty("19-24能见度")] public double Visibility_19_24; [JsonProperty("19-24风速")] public double WindSpeed_19_24; [JsonProperty("19-24风向")] public double WindDirection_19_24; [JsonProperty("19-24天气")] public string Weather_19_24; } public class TargetType { [JsonProperty("类型")] public string Type; [JsonProperty("人员数量")] public int Count; [JsonProperty("重量")] public double Weight; [JsonProperty("载人数")] public int LoadCount; [JsonProperty("吨位")] public double Tonnage; [JsonProperty("长度")] public double Length; [JsonProperty("携带定位设备")] public bool GPS; [JsonProperty("预计剩余存活时间")] public double LiveTime; [JsonProperty("雷达截面面积")] public double RadarArea; [JsonProperty("探测目标面积")] public double TargetArea; [JsonProperty("探测目标亮度")] public double TargetBrightness; [JsonProperty("时间窗口")] public double Time; } public class RescueDemandInfo//救援需求信息 { [JsonProperty("需求点名称")] public string DemandPointName; [JsonProperty("需求点ID")] public int DemandPointID; [JsonProperty("目标点经度")] public double TargetPointLongitude; [JsonProperty("目标点纬度")] public double TargetPointLatitude; [JsonProperty("目标点海拔")] public double TargetPointHeight; [JsonProperty("目标气象信息")] public TargetQiXiangInfo TargetQiXiangInfo; [JsonProperty("目标类型")] public TargetType TargetType; } public class GoodsPersonPoint//物资人员点 { [JsonProperty("物资点名称")] public string GoodsPointName; [JsonProperty("物资点编号")] public int GoodsPointID; [JsonProperty("取水点经度")] public double WaterPointLongitude; [JsonProperty("取水点纬度")] public double WaterPointLatitude; [JsonProperty("取水点海拔")] public double WaterPointHeight; } public class ClimbSegment { [JsonProperty("爬升段速度")] public double ClimbVelocity; [JsonProperty("爬升段油耗率")] public double ClimbFuelConsumptionRate; } public class DescentSegment { [JsonProperty("下降段速度")] public double DescentVelocity; [JsonProperty("下降段油耗率")] public double DescentFuelConsumptionRate; } public class CruiseSegment { [JsonProperty("巡航段高度")] public double CruiseHeight = 2000; [JsonProperty("巡航段速度")] public double CruiseVelocity; [JsonProperty("巡航段油耗率")] public double CruiseFuelConsumptionRate; } public struct TargetWeather { [JsonProperty("时间")] public string Time; [JsonProperty("温度")] public double Temperature; [JsonProperty("能见度")] public double Humidity; [JsonProperty("湿度")] public double Visibility; [JsonProperty("风向")] public double WindDirection; [JsonProperty("风速")] public double WindSpeed; [JsonProperty("天气")] public string Weather; } public struct CityWeather { [JsonProperty("调用方式")] public string CallMethod; [JsonProperty("温度")] public double Temperature; //能见度 [JsonProperty("能见度")] public double Visibility; //水温 [JsonProperty("水温")] public double WaterTemperature; } public struct ScenarioInfo { [JsonProperty("想定日期")] public string Data; [JsonProperty("想定时间")] public string Time; } //通信对象设定 public class CommunicationSet { [JsonProperty("随机点生成定义")] public RandomPoint randomPoint; [JsonProperty("网格生成区域定义")] public GridArea gridArea; } //随机点生成定义 public class RandomPoint { [JsonProperty("随机点区域边界")] public List randomPointArea; [JsonProperty("随机点数量")] public int randomPointCount; // "随机点设备离地高度(m)": 1.6, [JsonProperty("随机点设备离地高度(m)")] public double randomPointDeviceHeight; // "用户携带的设备种类": "示例机载中继设备", [JsonProperty("用户携带的设备种类")] public string randomPointDeviceType; // "随机点名称": "示例消防员", [JsonProperty("随机点名称")] public string randomPointName; // "随机点本地遮挡(dB)": 0, [JsonProperty("随机点本地遮挡(dB)")] public double randomPointLocalLost; // "随机单点传输速率需求(Mbps)": 0.1 [JsonProperty("随机单点传输速率需求(Mbps)")] public double randomPointDataSpeed; } //网格生成区域定义 public class GridArea { [JsonProperty("网格点区域边界")] public List gridPointArea; // "网格经度分辨率": 0.02, [JsonProperty("网格经度分辨率")] public double gridLongitudeResolution; // "网格纬度分辨率": 0.02, [JsonProperty("网格纬度分辨率")] public double gridLatitudeResolution; // "网格点设备离地高度(m)": 1.6, [JsonProperty("网格点设备离地高度(m)")] public double gridPointDeviceHeight; // "网格点用户携带的设备": "示例机载中继设备", [JsonProperty("网格点用户携带的设备")] public string gridPointDeviceType; // "网格点名称": "示例网格", [JsonProperty("网格点名称")] public string gridPointName; // "网格点本地遮挡(dB)": 0 [JsonProperty("网格点本地遮挡(dB)")] public double gridPointLocalLost; } public class EditorConfig { [JsonProperty("仿真次数")] public int runCounts; [JsonProperty("想定信息")] public ScenarioInfo scenarioInfo = new ScenarioInfo(); [JsonProperty("基地信息")] public List bases = new List(); [JsonProperty("飞行器信息")] public ListaircraftParameters = new List(); [JsonProperty("火点")] public List firePoints = new List(); [JsonProperty("天气信息")] public CityWeather cityWeather = new CityWeather(); [JsonProperty("搜救目标点初始坐标")] public List targetPoints = new List(); [JsonProperty("救援需求信息")] public List rescueDemandInfos = new List(); [JsonProperty("物资人员点")] public List goodsPersonPoints = new List(); [JsonProperty("通信对象设定")] public CommunicationSet communicationSets = new CommunicationSet(); }