gongqiuhong 1 year ago
parent
commit
e03b518f2f

+ 4 - 1
XdCxRhDW.App/Api/PosApi.cs

@@ -295,7 +295,6 @@ namespace XdCxRhDW.App.Api
         }
 
         private static double[] ConvertToGeoPoint(double[] res)
-
         {
             if (res == null || res.Length == 0)
             {
@@ -328,6 +327,10 @@ namespace XdCxRhDW.App.Api
             {
                 list[3] = list[4] = 999;
             }
+            else if (double.IsNaN(list[3]) || double.IsNaN(list[4]))
+            {
+                list[3] = list[4] = 999;
+            }
             return list;
         }
 

+ 24 - 20
XdCxRhDW.App/WebAPI/Controllers/PosController.cs

@@ -460,7 +460,7 @@ namespace XdCxRhDW.App.WebAPI
                 var runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X2D1).FirstOrDefaultAsync();
                 if (runTask == null)
                 {
-                    Serilog.Log.Warning($"接收到两星一地参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
+                    Serilog.Log.Warning($"接收到两星一地参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
                     return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
                 }
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
@@ -767,7 +767,7 @@ namespace XdCxRhDW.App.WebAPI
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到三星双时差带参定位(含星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    return Error<PosRes>($"多模式融合定位平台没有启动三星双时差定位任务");
                 }
 
                 var StationRes = db.StationRes.Add(new StationRes()
@@ -840,7 +840,7 @@ namespace XdCxRhDW.App.WebAPI
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到三星双时差带参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    return Error<PosRes>($"多模式融合定位平台没有启动三星双时差定位任务");
                 }
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainSatID);
@@ -973,8 +973,8 @@ namespace XdCxRhDW.App.WebAPI
                 var runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.PosType == EnumPosType.X3TwoDto && p.TaskState == EnumTaskState.Running);
                 if (runTask == null)
                 {
-                    Serilog.Log.Warning($"接收到三星双时差参定位(含星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    Serilog.Log.Warning($"接收到三星双时差参定位(含星历)参数,由于任务没有运行中忽略本次定位!");
+                    return Error<PosRes>($"多模式融合定位平台没有启动三星双时差定位任务");
                 }
 
                 var StationRes = db.StationRes.Add(new StationRes()
@@ -1043,8 +1043,8 @@ namespace XdCxRhDW.App.WebAPI
                 var runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X3TwoDto).FirstOrDefaultAsync();
                 if (runTask == null)
                 {
-                    Serilog.Log.Warning($"接收到两星一地参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    Serilog.Log.Warning($"接收到两星一地参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
+                    return Error<PosRes>($"多模式融合定位平台没有启动三星双时差定位任务");
                 }
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainSatID);
@@ -1177,7 +1177,7 @@ namespace XdCxRhDW.App.WebAPI
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到三星双频差带参定位(含星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    return Error<PosRes>($"多模式融合定位平台没有启动三星双频差定位任务");
                 }
 
                 var StationRes = db.StationRes.Add(new StationRes()
@@ -1201,14 +1201,14 @@ namespace XdCxRhDW.App.WebAPI
                     Dto2 = dto.Dto2,
                     Dfo2 = dto.Dfo2,
                     Snr2 = dto.Snr2,
-                    YbMainDto = dto.YbMainDto,
-                    YbAdja1Dto = dto.YbAdja1Dto,
-                    YbAdja2Dto = dto.YbAdja2Dto,
-                    StationResID = StationRes.ID,
+                    YbMainDfo = dto.YbMainDfo,
+                    YbAdja1Dfo = dto.YbAdja1Dfo,
+                    YbAdja2Dfo = dto.YbAdja2Dfo,
                     TarFreqUp= dto.TarFreqUp,
                     TarFreqDown=dto.TarFreqDown,
                     RefFreqUp=dto.RefFreqUp,
                     RefFreqDown=dto.RefFreqDown,
+                    StationResID = StationRes.ID,
                     MainX = dto.MainX,
                     MainY = dto.MainY,
                     MainZ = dto.MainZ,
@@ -1263,7 +1263,7 @@ namespace XdCxRhDW.App.WebAPI
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到三星双频差带参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    return Error<PosRes>($"多模式融合定位平台没有启动三星双频差定位任务");
                 }
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainSatID);
@@ -1347,9 +1347,9 @@ namespace XdCxRhDW.App.WebAPI
                     Dto2 = dto.Dto2,
                     Dfo2 = dto.Dfo2,
                     Snr2 = dto.Snr2,
-                    YbMainDto = dto.YbMainDto,
-                    YbAdja1Dto = dto.YbAdja1Dto,
-                    YbAdja2Dto = dto.YbAdja2Dto,
+                    YbMainDfo = dto.YbMainDfo,
+                    YbAdja1Dfo = dto.YbAdja1Dfo,
+                    YbAdja2Dfo = dto.YbAdja2Dfo,
                     TarFreqUp = dto.TarFreqUp,
                     TarFreqDown = dto.TarFreqDown,
                     RefFreqUp = dto.RefFreqUp,
@@ -1408,11 +1408,11 @@ namespace XdCxRhDW.App.WebAPI
         {
             using (RHDWContext db = new RHDWContext())
             {
-                var runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.PosType == EnumPosType.X3TwoDfo && p.TaskState == EnumTaskState.Running);
+                var runTask = await db.TaskInfos.FirstOrDefaultAsync(p => p.PosType == EnumPosType.X2Dfo && p.TaskState == EnumTaskState.Running);
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到双星时频差带参定位(含星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    return Error<PosRes>($"多模式融合定位平台没有启动双星时频差定位任务");
                 }
 
                 var StationRes = db.StationRes.Add(new StationRes()
@@ -1435,6 +1435,8 @@ namespace XdCxRhDW.App.WebAPI
                     Snr1 = dto.Snr,
                     YbMainDto = dto.YbMainDto,
                     YbAdja1Dto = dto.YbAdjaDto,
+                    YbMainDfo = dto.YbMainDfo,
+                    YbAdja1Dfo = dto.YbAdjaDfo,
                     TarFreqUp = dto.TarFreqUp,
                     TarFreqDown = dto.TarFreqDown,
                     RefFreqUp = dto.RefFreqUp,
@@ -1484,11 +1486,11 @@ namespace XdCxRhDW.App.WebAPI
         {
             using (RHDWContext db = new RHDWContext())
             {
-                var runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X3TwoDto).FirstOrDefaultAsync();
+                var runTask = await db.TaskInfos.Where(p => p.TaskState == EnumTaskState.Running && p.PosType == EnumPosType.X2Dfo).FirstOrDefaultAsync();
                 if (runTask == null)
                 {
                     Serilog.Log.Warning($"接收到双星时频差带参定位(无星历)参数,由于任务没有运行中忽略本次定位!");
-                    return Error<PosRes>($"多模式融合定位平台没有启动两星一地定位任务");
+                    return Error<PosRes>($"多模式融合定位平台没有启动双星时频差定位任务");
                 }
                 var parameter1 = new SQLiteParameter("@sigTime", dto.SigTime);
                 var parameter2 = new SQLiteParameter("@satcode", dto.MainSatID);
@@ -1552,6 +1554,8 @@ namespace XdCxRhDW.App.WebAPI
                     Snr1 = dto.Snr,
                     YbMainDto = dto.YbMainDto,
                     YbAdja1Dto = dto.YbAdjaDto,
+                    YbMainDfo = dto.YbMainDfo,
+                    YbAdja1Dfo = dto.YbAdjaDfo,
                     TarFreqUp = dto.TarFreqUp,
                     TarFreqDown = dto.TarFreqDown,
                     RefFreqUp = dto.RefFreqUp,

+ 1 - 1
XdCxRhDW.App/WebAPI/Controllers/XlController.cs

@@ -21,7 +21,7 @@ using static XdCxRhDw.CpuCgTools.FormCpuCg;
 namespace XdCxRhDW.App.WebAPI
 {
     /// <summary>
-    /// 定位功能相关接口
+    /// 星历推算功能相关接口
     /// </summary>
     public class XlController : BaseController
     {

+ 10 - 0
XdCxRhDw.Dto/PosDto/X2DtoDfoNoXlPosDto.cs

@@ -52,6 +52,16 @@ namespace XdCxRhDw.Dto
         /// </summary>
         public double YbAdjaDto { get; set; }
 
+        /// <summary>
+        /// 样本主星频差(Hz)
+        /// </summary>
+        public double YbMainDfo { get; set; }
+
+        /// <summary>
+        /// 样本邻星频差(Hz)
+        /// </summary>
+        public double YbAdjaDfo { get; set; }
+
         /// <summary>
         /// 目标上行频点(Hz)
         /// </summary>

+ 10 - 0
XdCxRhDw.Dto/PosDto/X2DtoDfoPosDto.cs

@@ -42,6 +42,16 @@ namespace XdCxRhDw.Dto
         /// </summary>
         public double YbAdjaDto { get; set; }
 
+        /// <summary>
+        /// 样本主星频差(Hz)
+        /// </summary>
+        public double YbMainDfo { get; set; }
+
+        /// <summary>
+        /// 样本邻星频差(Hz)
+        /// </summary>
+        public double YbAdjaDfo { get; set; }
+
         /// <summary>
         /// 目标上行频点(Hz)
         /// </summary>

+ 6 - 6
XdCxRhDw.Dto/PosDto/X3TwoDfoNoXlPosDto.cs

@@ -63,19 +63,19 @@ namespace XdCxRhDw.Dto
         public double? Snr2 { get; set; }
 
         /// <summary>
-        /// 样本主星时差(us)
+        /// 样本主星频差(Hz)
         /// </summary>
-        public double YbMainDto { get; set; }
+        public double? YbMainDfo { get; set; }
 
         /// <summary>
-        /// 样本邻星1时差(us)
+        /// 样本邻星1频差(Hz)
         /// </summary>
-        public double YbAdja1Dto { get; set; }
+        public double? YbAdja1Dfo { get; set; }
 
         /// <summary>
-        /// 样本邻星2时差(us)
+        /// 样本邻星1频差(Hz)
         /// </summary>
-        public double YbAdja2Dto { get; set; }
+        public double? YbAdja2Dfo { get; set; }
 
         /// <summary>
         /// 目标上行频点(Hz)

+ 6 - 6
XdCxRhDw.Dto/PosDto/X3TwoDfoPosDto.cs

@@ -48,19 +48,19 @@ namespace XdCxRhDw.Dto
         public double? Snr2 { get; set; }
 
         /// <summary>
-        /// 样本主星时差(us)
+        /// 样本主星频差(Hz)
         /// </summary>
-        public double YbMainDto { get; set; }
+        public double? YbMainDfo { get; set; }
 
         /// <summary>
-        /// 样本邻星1时差(us)
+        /// 样本邻星1频差(Hz)
         /// </summary>
-        public double YbAdja1Dto { get; set; }
+        public double? YbAdja1Dfo { get; set; }
 
         /// <summary>
-        /// 样本邻星2时差(us)
+        /// 样本邻星1频差(Hz)
         /// </summary>
-        public double YbAdja2Dto { get; set; }
+        public double? YbAdja2Dfo { get; set; }
 
         /// <summary>
         /// 目标上行频点(Hz)