lei zou 1 年之前
父節點
當前提交
000373be42

+ 16 - 13
Service/X2D1NoRefTaskServer/Service/TaskService.cs

@@ -236,11 +236,6 @@ namespace X2D1NoRefTaskServer.Service
                                                 SigTime = minfo.CapTime.AddSeconds(data1[i].Smpstart / minfo.FsHz),
                                                 MainCode = minfo.SatId,
                                                 AdjaCode = ninfo.SatId,
-                                                //卫星转发某些频点可能有时延,无参定位由于不能抵消需要减去这个时延
-                                                SxDto = data1[i].Dt * posDtoFactor - data2[i].Dt * posDtoFactor - delay1.Value + delay2.Value,
-                                                SxDfo = data1[i].Df,
-                                                SxSnr = data1[i].Snr,
-                                                XdDto = data1[i].Dt * posDtoFactor - delay1.Value,
                                                 XdDfo = data2[i].Df,
                                                 XdSnr = data2[i].Snr,
                                                 SatTxLon = dto.CapLon,
@@ -260,6 +255,14 @@ namespace X2D1NoRefTaskServer.Service
                                                     PosCheckType = deteResp.data[i].DmcType.GetEnumByDisplayName<EnumPosCheckTypeDto>(),
                                                 }
                                             };
+                                            if (data1[i].Snr > 0 && data2[i].Snr > 0)
+                                            {
+                                                //卫星转发某些频点可能有时延,无参定位由于不能抵消需要减去这个时延
+                                                x2D1.SxDto = data1[i].Dt * posDtoFactor - data2[i].Dt * posDtoFactor - delay1.Value + delay2.Value;
+                                                x2D1.SxDfo = data1[i].Df - data2[i].Df;
+                                                x2D1.SxSnr = Math.Min(data1[i].Snr, data2[i].Snr);
+                                                x2D1.XdDto = data1[i].Dt * posDtoFactor - delay1.Value;
+                                            }
                                             var result = await HttpHelper.PostRequestAsync<PosResDto>(baseUrl + "Pos/PosX2D1NoXlNoParAsync", x2D1);
                                             if (result.code != 200)
                                             {
@@ -510,20 +513,12 @@ namespace X2D1NoRefTaskServer.Service
                                         try
                                         {
                                             if (cts.IsCancellationRequested) break;
-
-
-
                                             X2D1NoXlNoParlPosDto x2D1 = new X2D1NoXlNoParlPosDto()
                                             {
                                                 TaskID = dto.ID,
                                                 SigTime = minfo.CapTime.AddSeconds(data1[i].Smpstart / minfo.FsHz),
                                                 MainCode = minfo.SatId,
                                                 AdjaCode = ninfo.SatId,
-                                                //卫星转发某些频点可能有时延,无参定位由于不能抵消需要减去这个时延
-                                                SxDto = data1[i].Dt * posDtoFactor - data2[i].Dt * posDtoFactor - delay1.Value + delay2.Value,
-                                                SxDfo = data1[i].Df,
-                                                SxSnr = data1[i].Snr,
-                                                XdDto = data1[i].Dt * posDtoFactor - delay1.Value,
                                                 XdDfo = data2[i].Df,
                                                 XdSnr = data2[i].Snr,
                                                 SatTxLon = dto.CapLon,
@@ -543,6 +538,14 @@ namespace X2D1NoRefTaskServer.Service
                                                     PosCheckType = deteResp.data[i].DmcType.GetEnumByDisplayName<EnumPosCheckTypeDto>(),
                                                 }
                                             };
+                                            if (data1[i].Snr > 0 && data2[i].Snr > 0)
+                                            {
+                                                //卫星转发某些频点可能有时延,无参定位由于不能抵消需要减去这个时延
+                                                x2D1.SxDto = data1[i].Dt * posDtoFactor - data2[i].Dt * posDtoFactor - delay1.Value + delay2.Value;
+                                                x2D1.SxDfo = data1[i].Df - data2[i].Df;
+                                                x2D1.SxSnr = Math.Min(data1[i].Snr, data2[i].Snr);
+                                                x2D1.XdDto = data1[i].Dt * posDtoFactor - delay1.Value;
+                                            }
                                             var result = await HttpHelper.PostRequestAsync<PosResDto>(baseUrl + "Pos/PosX2D1NoXlNoParAsync", x2D1);
                                             if (result.code != 200)
                                             {

+ 20 - 1
XdCxRhDW.Api/AddIns/定位/PosApi.cs

@@ -69,6 +69,7 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X1D1_Pos(CgRes cgRes, StationRes sRes, CxRes cxRes, bool CalcConfidence = false)
         {
+            if (cgRes.DtoCdb.Value == 0) return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
             double[] mainSat = new double[3] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value };
             double[] satStation = new double[3] { sRes.SatTxLon, sRes.SatTxLat, 0 };
             double[] cdbStation = new double[3] { sRes.CdbTxLon.Value, sRes.CdbTxLat.Value, 0 };
@@ -120,7 +121,10 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X2D1_Pos(CgRes cgRes, StationRes sRes, bool CalcConfidence = false)
         {
-
+            if (cgRes.Dto1.Value == 0 || cgRes.DtoCdb.Value == 0)
+            {
+                return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
+            }
             double[] mainSat = new double[3] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value };
             double[] adjaSat = new double[3] { cgRes.Adja1X.Value, cgRes.Adja1Y.Value, cgRes.Adja1Z.Value };
             double[] satStation = new double[3] { sRes.SatTxLon, sRes.SatTxLat, 0 };
@@ -182,6 +186,10 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X2D1_PosNoRef(CgRes cgRes, StationRes sRes, bool CalcConfidence = false)
         {
+            if (cgRes.Dto1.Value == 0 || cgRes.DtoCdb.Value == 0)
+            {
+                return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
+            }
             double[] mainSat = new double[3] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value };
             double[] adjaSat = new double[3] { cgRes.Adja1X.Value, cgRes.Adja1Y.Value, cgRes.Adja1Z.Value };
             double[] satStation = new double[3] { sRes.SatTxLon, sRes.SatTxLat, 0 };
@@ -308,6 +316,11 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X3_Pos(CgRes cgRes, StationRes sRes, bool CalcConfidence = false)
         {
+            if (cgRes.Dto1.Value == 0 || cgRes.Dto2.Value == 0)
+            {
+                return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
+            }
+            if (cgRes.Snr1.Value == 0 || cgRes.Snr2.Value == 0) return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
             double[] mainSat = new double[3] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value };
             double[] adjaSat1 = new double[3] { cgRes.Adja1X.Value, cgRes.Adja1Y.Value, cgRes.Adja1Z.Value };
             double[] adjaSat2 = new double[3] { cgRes.Adja2X.Value, cgRes.Adja2Y.Value, cgRes.Adja2Z.Value };
@@ -377,6 +390,10 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X3_PosNoRef(CgRes cgRes, StationRes sRes, bool CalcConfidence = false)
         {
+            if (cgRes.Dto1.Value == 0 || cgRes.Dto2.Value == 0)
+            {
+                return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
+            }
             double[] mainSat = new double[3] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value };
             double[] adjaSat1 = new double[3] { cgRes.Adja1X.Value, cgRes.Adja1Y.Value, cgRes.Adja1Z.Value };
             double[] adjaSat2 = new double[3] { cgRes.Adja2X.Value, cgRes.Adja2Y.Value, cgRes.Adja2Z.Value };
@@ -440,6 +457,7 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X3_PosTwoDfo(CgRes cgRes, StationRes sRes, bool CalcConfidence = false)
         {
+            if (cgRes.Dfo1.Value == 0 || cgRes.Dfo2.Value == 0) return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
             double[] mainSat = new double[6] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value, cgRes.MainVx.Value, cgRes.MainVy.Value, cgRes.MainVz.Value };
             double[] adjaSat1 = new double[6] { cgRes.Adja1X.Value, cgRes.Adja1Y.Value, cgRes.Adja1Z.Value, cgRes.Adja1Vx.Value, cgRes.Adja1Vy.Value, cgRes.Adja1Vz.Value };
             double[] adjaSat2 = new double[6] { cgRes.Adja2X.Value, cgRes.Adja2Y.Value, cgRes.Adja2Z.Value, cgRes.Adja2Vx.Value, cgRes.Adja2Vy.Value, cgRes.Adja2Vz.Value };
@@ -513,6 +531,7 @@ namespace XdCxRhDW.Api
         /// <returns></returns>
         public static double[] X2_PosDtoDfo(CgRes cgRes, StationRes sRes, bool CalcConfidence = false)
         {
+            if (cgRes.Dto1.Value == 0) return new double[7] { 999, 999, 0, 999, 999, 0, 100 };
             double[] mainSat = new double[6] { cgRes.MainX.Value, cgRes.MainY.Value, cgRes.MainZ.Value, cgRes.MainVx.Value, cgRes.MainVy.Value, cgRes.MainVz.Value };
             double[] adjaSat = new double[6] { cgRes.Adja1X.Value, cgRes.Adja1Y.Value, cgRes.Adja1Z.Value, cgRes.Adja1Vx.Value, cgRes.Adja1Vy.Value, cgRes.Adja1Vz.Value };
             double[] satStation = new double[3] { sRes.SatTxLon, sRes.SatTxLat, 0 };

+ 30 - 30
XdCxRhDW.App/Controllers/PosController.cs

@@ -86,8 +86,8 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     YbMainDto = Math.Round(dto.MainYbDto, 4),
                     StationResID = StationRes.ID,
                     MainCode = dto.MainCode,
@@ -203,8 +203,8 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     YbMainDto = Math.Round(dto.MainYbDto, 4),
                     StationResID = StationRes.ID,
                     MainCode = dto.MainCode,
@@ -310,11 +310,11 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     Dto1 = Math.Round(dto.SxDto, 4),
-                    Dfo1 = Math.Round(dto.SxDfo.Value, 4),
-                    Snr1 = Math.Round(dto.SxSnr.Value, 4),
+                    Dfo1 = Math.Round(dto.SxDfo, 4),
+                    Snr1 = Math.Round(dto.SxSnr, 4),
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     YbMainDto = Math.Round(dto.MainYbDto, 4),
                     YbAdja1Dto = Math.Round(dto.AdjaYbDto, 4),
                     StationResID = StationRes.ID,
@@ -453,11 +453,11 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     Dto1 = Math.Round(dto.SxDto, 4),
-                    Dfo1 = Math.Round(dto.SxDfo.Value, 4),
-                    Snr1 = Math.Round(dto.SxSnr.Value, 4),
+                    Dfo1 = Math.Round(dto.SxDfo, 4),
+                    Snr1 = Math.Round(dto.SxSnr, 4),
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     YbMainDto = Math.Round(dto.MainYbDto, 4),
                     YbAdja1Dto = Math.Round(dto.AdjaYbDto, 4),
                     StationResID = StationRes.ID,
@@ -564,11 +564,11 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     Dto1 = Math.Round(dto.SxDto, 4),
-                    Dfo1 = Math.Round(dto.SxDfo.Value, 4),
-                    Snr1 = Math.Round(dto.SxSnr.Value, 4),
+                    Dfo1 = Math.Round(dto.SxDfo, 4),
+                    Snr1 = Math.Round(dto.SxSnr, 4),
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     StationResID = StationRes.ID,
                     MainCode = dto.MainCode,
                     Adja1Code = dto.AdjaCode,
@@ -698,11 +698,11 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     Dto1 = Math.Round(dto.SxDto, 4),
-                    Dfo1 = Math.Round(dto.SxDfo.Value, 4),
-                    Snr1 = Math.Round(dto.SxSnr.Value, 4),
+                    Dfo1 = Math.Round(dto.SxDfo, 4),
+                    Snr1 = Math.Round(dto.SxSnr, 4),
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     StationResID = StationRes.ID,
                     MainCode = dto.MainCode,
                     Adja1Code = dto.AdjaCode,
@@ -816,8 +816,8 @@ namespace XdCxRhDW.App.Controllers
                     Dfo1 = Math.Round(dto.SxDfo.Value, 4),
                     Snr1 = Math.Round(dto.SxSnr.Value, 4),
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     YbMainDto = Math.Round(dto.MainYbDto, 4),
                     YbAdja1Dto = Math.Round(dto.AdjaYbDto, 4),
                     StationResID = StationRes.ID,
@@ -955,11 +955,11 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     Dto1 = Math.Round(dto.SxDto, 4),
-                    Dfo1 = Math.Round(dto.SxDfo.Value, 4),
-                    Snr1 = Math.Round(dto.SxSnr.Value, 4),
+                    Dfo1 = Math.Round(dto.SxDfo, 4),
+                    Snr1 = Math.Round(dto.SxSnr, 4),
                     DtoCdb = Math.Round(dto.XdDto, 4),
-                    DfoCdb = Math.Round(dto.XdDfo.Value, 4),
-                    SnrCdb = Math.Round(dto.XdSnr.Value, 4),
+                    DfoCdb = Math.Round(dto.XdDfo, 4),
+                    SnrCdb = Math.Round(dto.XdSnr, 4),
                     YbMainDto = Math.Round(dto.MainYbDto, 4),
                     YbAdja1Dto = Math.Round(dto.AdjaYbDto, 4),
                     StationResID = StationRes.ID,
@@ -1073,11 +1073,11 @@ namespace XdCxRhDW.App.Controllers
                 {
                     SigTime = dto.SigTime,
                     Dto1 = Math.Round(dto.Dto1, 4),
-                    Dfo1 = Math.Round(dto.Dfo1.Value, 4),
-                    Snr1 = Math.Round(dto.Snr1.Value, 4),
+                    Dfo1 = Math.Round(dto.Dfo1, 4),
+                    Snr1 = Math.Round(dto.Snr1, 4),
                     Dto2 = Math.Round(dto.Dto2, 4),
-                    Dfo2 = Math.Round(dto.Dfo2.Value, 4),
-                    Snr2 = Math.Round(dto.Snr2.Value, 4),
+                    Dfo2 = Math.Round(dto.Dfo2, 4),
+                    Snr2 = Math.Round(dto.Snr2, 4),
                     YbMainDto = Math.Round(dto.YbMainDto, 4),
                     YbAdja1Dto = Math.Round(dto.YbAdja1Dto, 4),
                     YbAdja2Dto = Math.Round(dto.YbAdja2Dto, 4),

+ 7 - 7
XdCxRhDW.App/EditForms/X1D1DTOParamEditor.cs

@@ -26,11 +26,11 @@ namespace XdCxRhDW.App.EditForms
         public X1D1DTOParamEditor(PosRes info, MapControl mapControl)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             sigTime.UseDefault();
             this.layoutControl1.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
-            this.info = info;
             this.listSat = new List<SatInfo>();
             this.mapControl1 = mapControl;
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
@@ -80,14 +80,14 @@ namespace XdCxRhDW.App.EditForms
             }
             if (cx != null)
             {
-                this.txtcxFx.Text = $"{cx.Fx:f3}";
+                this.txtcxFx.Text = $"{cx.Fx:f4}";
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtcdbStation.Text = $"{station.CdbTxLon:f3},{station.CdbTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
-                this.txtCxLocation.Text= $"{station.CxLon:f3},{station.CxLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtcdbStation.Text = $"{station.CdbTxLon:f4},{station.CdbTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
+                this.txtCxLocation.Text= $"{station.CxLon:f4},{station.CxLat:f4}";
             }
         }
 
@@ -221,7 +221,7 @@ namespace XdCxRhDW.App.EditForms
                 };
 
                 var res = PosApi.X1D1_Pos(cgRes, StationRes, cxRes);
-                this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4} , {res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
             }
             catch (Exception ex)
             {

+ 38 - 40
XdCxRhDW.App/EditForms/X1D1PosParamEditor.Designer.cs

@@ -29,21 +29,21 @@
         private void InitializeComponent()
         {
             this.components = new System.ComponentModel.Container();
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions3 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject9 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions4 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject13 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject14 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject15 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject16 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions3 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject9 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             this.ucEphXYZMain = new XdCxRhDW.App.UserControl.UCEphXYZ();
             this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
@@ -62,7 +62,6 @@
             this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
@@ -71,8 +70,9 @@
             this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
             this.itemSigTime = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
+            this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
             this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.sigTime.Properties)).BeginInit();
@@ -89,7 +89,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
@@ -98,8 +97,9 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.itemSigTime)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
             this.SuspendLayout();
             // 
             // layoutControl1
@@ -166,7 +166,7 @@
             this.txtDtoCdb.MaximumSize = new System.Drawing.Size(0, 20);
             this.txtDtoCdb.Name = "txtDtoCdb";
             this.txtDtoCdb.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.txtDtoCdb.Properties.NullValuePrompt = "必需";
             this.txtDtoCdb.Size = new System.Drawing.Size(266, 20);
             this.txtDtoCdb.StyleController = this.layoutControl1;
@@ -178,7 +178,7 @@
             this.txtYbMain.MaximumSize = new System.Drawing.Size(0, 20);
             this.txtYbMain.Name = "txtYbMain";
             this.txtYbMain.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.txtYbMain.Size = new System.Drawing.Size(268, 20);
             this.txtYbMain.StyleController = this.layoutControl1;
             this.txtYbMain.TabIndex = 6;
@@ -265,9 +265,7 @@
             this.txtcxFx.MaximumSize = new System.Drawing.Size(0, 20);
             this.txtcxFx.Name = "txtcxFx";
             this.txtcxFx.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "° ", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtcxFx.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
-            this.txtcxFx.Properties.MaskSettings.Set("mask", "f3");
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "° ", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.txtcxFx.Properties.MaxLength = 20;
             this.txtcxFx.Size = new System.Drawing.Size(176, 20);
             this.txtcxFx.StyleController = this.layoutControl1;
@@ -359,23 +357,6 @@
             this.layoutControlItem10.TextLocation = DevExpress.Utils.Locations.Top;
             this.layoutControlItem10.TextSize = new System.Drawing.Size(72, 14);
             // 
-            // layoutControlItem17
-            // 
-            this.layoutControlItem17.Control = this.btnOK;
-            this.layoutControlItem17.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
-            this.layoutControlItem17.CustomizationFormText = "layoutControlItem1";
-            this.layoutControlItem17.Location = new System.Drawing.Point(434, 186);
-            this.layoutControlItem17.MaxSize = new System.Drawing.Size(110, 33);
-            this.layoutControlItem17.MinSize = new System.Drawing.Size(110, 33);
-            this.layoutControlItem17.Name = "layoutControlItem17";
-            this.layoutControlItem17.Padding = new DevExpress.XtraLayout.Utils.Padding(10, 2, 9, 2);
-            this.layoutControlItem17.Size = new System.Drawing.Size(110, 33);
-            this.layoutControlItem17.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem17.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 2, 0, 0);
-            this.layoutControlItem17.Text = "layoutControlItem1";
-            this.layoutControlItem17.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem17.TextVisible = false;
-            // 
             // layoutControlItem7
             // 
             this.layoutControlItem7.Control = this.txtYbMain;
@@ -481,9 +462,22 @@
             this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem3.TextVisible = false;
             // 
-            // dxErrorProvider
+            // layoutControlItem17
             // 
-            this.dxErrorProvider.ContainerControl = this;
+            this.layoutControlItem17.Control = this.btnOK;
+            this.layoutControlItem17.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem17.CustomizationFormText = "layoutControlItem1";
+            this.layoutControlItem17.Location = new System.Drawing.Point(434, 186);
+            this.layoutControlItem17.MaxSize = new System.Drawing.Size(110, 33);
+            this.layoutControlItem17.MinSize = new System.Drawing.Size(110, 33);
+            this.layoutControlItem17.Name = "layoutControlItem17";
+            this.layoutControlItem17.Padding = new DevExpress.XtraLayout.Utils.Padding(10, 2, 9, 2);
+            this.layoutControlItem17.Size = new System.Drawing.Size(110, 33);
+            this.layoutControlItem17.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem17.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 2, 0, 0);
+            this.layoutControlItem17.Text = "layoutControlItem1";
+            this.layoutControlItem17.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem17.TextVisible = false;
             // 
             // emptySpaceItem2
             // 
@@ -493,6 +487,10 @@
             this.emptySpaceItem2.Size = new System.Drawing.Size(334, 33);
             this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
             // 
+            // dxErrorProvider
+            // 
+            this.dxErrorProvider.ContainerControl = this;
+            // 
             // X1D1PosParamEditor
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
@@ -517,7 +515,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
@@ -526,8 +523,9 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.itemSigTime)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
             this.ResumeLayout(false);
 
         }

+ 9 - 9
XdCxRhDW.App/EditForms/X1D1PosParamEditor.cs

@@ -1,4 +1,5 @@
-using DevExpress.XtraMap;
+using DevExpress.XtraEditors.DXErrorProvider;
+using DevExpress.XtraMap;
 using DxHelper;
 using ExtensionsDev;
 using System;
@@ -25,10 +26,10 @@ namespace XdCxRhDW.App.EditForms
         public X1D1PosParamEditor(PosRes info, MapControl mapControl)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             sigTime.UseDefault();
-            this.info = info;
             this.labelControl1.Text = $"";
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
             txtcdbStation.EditValueChanged += TxtcdbStation_EditValueChanged;
@@ -59,7 +60,6 @@ namespace XdCxRhDW.App.EditForms
 
         private async void X1D1DTOParamEditor_Load(object sender, EventArgs e)
         {
-
             StationRes station = null;
             CxRes cx = null;
             using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
@@ -77,14 +77,14 @@ namespace XdCxRhDW.App.EditForms
             }
             if (cx != null)
             {
-                this.txtcxFx.Text = $"{cx.Fx:f3}";
+                this.txtcxFx.Text = $"{cx.Fx:f4}";
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtcdbStation.Text = $"{station.CdbTxLon:f3},{station.CdbTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
-                this.txtCxLocation.Text = $"{station.CxLon:f3},{station.CxLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtcdbStation.Text = $"{station.CdbTxLon:f4},{station.CdbTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
+                this.txtCxLocation.Text = $"{station.CxLon:f4},{station.CxLat:f4}";
             }
         }
 
@@ -150,7 +150,7 @@ namespace XdCxRhDW.App.EditForms
                 };
 
                 var res = PosApi.X1D1_Pos(cgRes, StationRes, cxRes);
-                this.labelControl1.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                this.labelControl1.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
             }
             catch (Exception ex)
             {

+ 6 - 6
XdCxRhDW.App/EditForms/X2D1DTOParamEditor.cs

@@ -27,11 +27,11 @@ namespace XdCxRhDW.App.EditForms
         public X2D1DTOParamEditor(PosRes info, MapControl mapControl)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             txtSigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
-            this.info = info;
             this.listSat = new List<SatInfo>();
             this.mapControl1 = mapControl;
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
@@ -83,9 +83,9 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtcdbStation.Text = $"{station.CdbTxLon:f3},{station.CdbTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtcdbStation.Text = $"{station.CdbTxLon:f4},{station.CdbTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
             if (info.PosResType == EnumPosResType.X2D1NoRef)
             {
@@ -305,7 +305,7 @@ namespace XdCxRhDW.App.EditForms
                         Adja1Z = dto.AdjaZ,
                     };
                     var res = PosApi.X2D1_PosNoRef(cgRes, StationRes);
-                    this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                    this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
                 }
                 else
                 {
@@ -355,7 +355,7 @@ namespace XdCxRhDW.App.EditForms
                         Adja1Z = dto.AdjaZ,
                     };
                     var res = PosApi.X2D1_Pos(cgRes, StationRes);
-                    this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                    this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
                 }
             }
             catch (Exception ex)

+ 1 - 1
XdCxRhDW.App/EditForms/X2D1PosParamEditor.Designer.cs

@@ -521,7 +521,7 @@
             this.Controls.Add(this.layoutControl1);
             this.Name = "X2D1PosParamEditor";
             this.Size = new System.Drawing.Size(642, 369);
-            this.Load += new System.EventHandler(this.X2D1DTOParamEditor_Load);
+            this.Load += new System.EventHandler(this.X2D1PosParamEditor_Load);
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
             this.layoutControl1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.txtSigTime.Properties.CalendarTimeProperties)).EndInit();

+ 7 - 8
XdCxRhDW.App/EditForms/X2D1PosParamEditor.cs

@@ -23,11 +23,11 @@ namespace XdCxRhDW.App.EditForms
         public X2D1PosParamEditor(PosRes info)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             txtSigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}手动定位";
-            this.info = info;
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
             txtcdbStation.EditValueChanged += TxtcdbStation_EditValueChanged;
             txtRefLocation.EditValueChanged += TxtRefLocation_EditValueChanged;
@@ -49,9 +49,8 @@ namespace XdCxRhDW.App.EditForms
             txtsatStation.CheckLonLat(dxErrorProvider, "接收站");
         }
 
-        private async void X2D1DTOParamEditor_Load(object sender, EventArgs e)
+        private async void X2D1PosParamEditor_Load(object sender, EventArgs e)
         {
-
             StationRes station = null;
             using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
             {
@@ -73,9 +72,9 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtcdbStation.Text = $"{station.CdbTxLon:f3},{station.CdbTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtcdbStation.Text = $"{station.CdbTxLon:f4},{station.CdbTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
             if (info.PosResType == EnumPosResType.X2D1NoRef)
             {
@@ -188,7 +187,7 @@ namespace XdCxRhDW.App.EditForms
                         Adja1Z = dto.AdjaZ,
                     };
                     var res = PosApi.X2D1_PosNoRef(cgRes, StationRes);
-                    this.lblRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                    this.lblRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
                     //var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1PosDto);
                     //if (result.code == 200)
                     //{
@@ -243,7 +242,7 @@ namespace XdCxRhDW.App.EditForms
                         Adja1Z = dto.AdjaZ,
                     };
                     var res = PosApi.X2D1_Pos(cgRes, StationRes);
-                    this.lblRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                    this.lblRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
                     //var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1PosDto);
                     //if (result.code == 200)
                     //{

+ 3 - 3
XdCxRhDW.App/EditForms/X2DTOParamEditor.cs

@@ -32,11 +32,11 @@ namespace XdCxRhDW.App.EditForms
         public X2DTOParamEditor(PosRes info, MapControl mapControl)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             sigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
-            this.info = info;
             this.listSat = new List<SatInfo>();
             this.mapControl1 = mapControl;
             //this.StartPosition = FormStartPosition.CenterParent;
@@ -79,8 +79,8 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
         }
 

+ 4 - 4
XdCxRhDW.App/EditForms/X2PosParamEditor.cs

@@ -34,11 +34,11 @@ namespace XdCxRhDW.App.EditForms
         public X2PosParamEditor(PosRes info)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             txtSigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}手动定位";
-            this.info = info;
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
             txtRefLocation.EditValueChanged += TxtRefLocation_EditValueChanged;
         }
@@ -87,8 +87,8 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
         }
 
@@ -205,7 +205,7 @@ namespace XdCxRhDW.App.EditForms
                     Adja1Vz = dto.AdjaVz,
                 };
                 var res = PosApi.X2_PosDtoDfo(cgRes, StationRes);
-                this.lblRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                this.lblRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
                 //string url = string.Format("http://{0}:{1}/Api/Pos/PosX2DtoDfoAsync", IpHelper.GetLocalIp(), settings.HttpPort);
                 //var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2DtoDfoPos);
                 //if (result.code == 200)

+ 4 - 5
XdCxRhDW.App/EditForms/X3DTOParamEditor.cs

@@ -26,11 +26,11 @@ namespace XdCxRhDW.App.EditForms
         public X3DTOParamEditor(PosRes info, MapControl mapControl)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             sigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
-            this.info = info;
             this.mapControl1 = mapControl;
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
             txtRefLocation.EditValueChanged += TxtRefLocation_EditValueChanged;
@@ -83,8 +83,8 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
             if (info.PosResType == EnumPosResType.X3NoRef)
             {
@@ -274,8 +274,7 @@ namespace XdCxRhDW.App.EditForms
                     Adja2Z = Ns2Eph[2],
                 };
                 var res = info.PosResType == EnumPosResType.X3 ? PosApi.X3_Pos(cgRes, StationRes) : PosApi.X3_PosNoRef(cgRes, StationRes);
-
-                this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
             }
             catch (Exception ex)
             {

+ 4 - 4
XdCxRhDW.App/EditForms/X3DfoPosParamEditor.cs

@@ -28,10 +28,10 @@ namespace XdCxRhDW.App.EditForms
         public X3DfoPosParamEditor(PosRes info)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             sigTime.UseDefault();
-            this.info = info;
             this.labelControl1.Text = $"";
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
             txtRefLocation.EditValueChanged += TxtRefLocation_EditValueChanged;
@@ -80,8 +80,8 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
             if (info.PosResType == EnumPosResType.X3NoRef)
             {
@@ -174,7 +174,7 @@ namespace XdCxRhDW.App.EditForms
                 };
                 var res = PosApi.X3_PosTwoDfo(cgRes, StationRes);
 
-                this.labelControl1.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                this.labelControl1.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
             }
             catch (Exception ex)
             {

+ 4 - 4
XdCxRhDW.App/EditForms/X3PosParamEditor.cs

@@ -24,10 +24,10 @@ namespace XdCxRhDW.App.EditForms
         public X3PosParamEditor(PosRes info, MapControl mapControl)
         {
             InitializeComponent();
+            this.info = info;
             itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
             this.layoutControl1.UseDefault();
             sigTime.UseDefault();
-            this.info = info;
             this.labelControl1.Text = $"";
             txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
             txtRefLocation.EditValueChanged += TxtRefLocation_EditValueChanged;
@@ -75,8 +75,8 @@ namespace XdCxRhDW.App.EditForms
             }
             if (station != null)
             {
-                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
-                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+                this.txtsatStation.Text = $"{station.SatTxLon:f4},{station.SatTxLat:f4}";
+                this.txtRefLocation.Text = $"{station.RefLon:f4},{station.RefLat:f4}";
             }
             if (info.PosResType == EnumPosResType.X3NoRef)
             {
@@ -151,7 +151,7 @@ namespace XdCxRhDW.App.EditForms
                 };
                 var res = info.PosResType == EnumPosResType.X3 ? PosApi.X3_Pos(cgRes, StationRes) : PosApi.X3_PosNoRef(cgRes, StationRes);
 
-                this.labelControl1.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f3},{res[1]:f3}] 镜像点:[{res[3]:f3},{res[4]:f3}]";
+                this.labelControl1.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
             }
             catch (Exception ex)
             {

+ 2 - 1
XdCxRhDW.App/ExtensionsDev/MapControlEx.cs

@@ -326,7 +326,8 @@ public static class MapControlEx
         ctrl.NavigationPanelOptions.ShowCoordinates = true;
         ctrl.NavigationPanelOptions.ShowKilometersScale = false;
         ctrl.NavigationPanelOptions.ShowMilesScale = false;
-        ctrl.NavigationPanelOptions.CoordinatesStyle.Font = new Font("微软雅黑", 10F);
+        ctrl.NavigationPanelOptions.CoordinatesStyle.Font = new Font("微软雅黑", 12F);
+        ctrl.NavigationPanelOptions.CoordinatesStyle.TextColor = Color.FromArgb(80, 80, 80);
         ctrl.NavigationPanelOptions.ScaleStyle.Font = new Font("微软雅黑", 10F);
 
         //地图绘制加载(标点、测距、框选等元素载体图层).用来绘制可擦除的元素

+ 1 - 1
XdCxRhDW.Sender/XdCxRhDW.Sender.csproj

@@ -91,7 +91,7 @@
     <EmbeddedResource Include="Form1.resx">
       <DependentUpon>Form1.cs</DependentUpon>
     </EmbeddedResource>
-    <None Include="Properties\licenses.licx" />
+    <EmbeddedResource Include="Properties\licenses.licx" />
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>

+ 4 - 4
XdCxRhDw.Dto/PosDto/RHNoXlPosDto.cs

@@ -44,12 +44,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标双星频差(Hz)
         /// </summary>
-        public double? SxDfo { get; set; }
+        public double SxDfo { get; set; }
 
         /// <summary>
         /// 目标双星信噪比(dB)
         /// </summary>
-        public double? SxSnr { get; set; }
+        public double SxSnr { get; set; }
 
         /// <summary>
         /// 目标主星超短时差(us)
@@ -59,12 +59,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 参考样本主时差(us)

+ 2 - 2
XdCxRhDw.Dto/PosDto/RHPosDto.cs

@@ -59,12 +59,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 样本主星时差(us)

+ 2 - 2
XdCxRhDw.Dto/PosDto/X1D1NoXlPosDto.cs

@@ -37,12 +37,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 样本主星时差(us)

+ 2 - 2
XdCxRhDw.Dto/PosDto/X1D1PosDto.cs

@@ -36,12 +36,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 样本主星时差(us)

+ 4 - 4
XdCxRhDw.Dto/PosDto/X2D1NoParPosDto.cs

@@ -44,12 +44,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标双星频差(Hz)
         /// </summary>
-        public double? SxDfo { get; set; }
+        public double SxDfo { get; set; }
 
         /// <summary>
         /// 目标双星信噪比(dB)
         /// </summary>
-        public double? SxSnr { get; set; }
+        public double SxSnr { get; set; }
 
         /// <summary>
         /// 目标主星超短时差(us)
@@ -59,12 +59,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 目标上行频点Hz(可空)

+ 4 - 4
XdCxRhDw.Dto/PosDto/X2D1NoXlNoParlPosDto.cs

@@ -44,12 +44,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标双星频差(Hz)
         /// </summary>
-        public double? SxDfo { get; set; }
+        public double SxDfo { get; set; }
 
         /// <summary>
         /// 目标双星信噪比(dB)
         /// </summary>
-        public double? SxSnr { get; set; }
+        public double SxSnr { get; set; }
 
         /// <summary>
         /// 目标主星超短时差(us)
@@ -59,12 +59,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 目标上行频点Hz(可空)

+ 4 - 4
XdCxRhDw.Dto/PosDto/X2D1NoXlPosDto.cs

@@ -45,12 +45,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标双星频差(Hz)
         /// </summary>
-        public double? SxDfo { get; set; }
+        public double SxDfo { get; set; }
 
         /// <summary>
         /// 目标双星信噪比(dB)
         /// </summary>
-        public double? SxSnr { get; set; }
+        public double SxSnr { get; set; }
 
         /// <summary>
         /// 目标主星超短时差(us)
@@ -60,12 +60,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
 
         /// <summary>

+ 4 - 4
XdCxRhDw.Dto/PosDto/X2D1PosDto.cs

@@ -44,12 +44,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标双星频差(Hz)
         /// </summary>
-        public double? SxDfo { get; set; }
+        public double SxDfo { get; set; }
 
         /// <summary>
         /// 目标双星信噪比(dB)
         /// </summary>
-        public double? SxSnr { get; set; }
+        public double SxSnr { get; set; }
 
         /// <summary>
         /// 目标主星超短时差(us)
@@ -59,12 +59,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 目标星地频差(Hz)
         /// </summary>
-        public double? XdDfo { get; set; }
+        public double XdDfo { get; set; }
 
         /// <summary>
         /// 目标星地信噪比(dB)
         /// </summary>
-        public double? XdSnr { get; set; }
+        public double XdSnr { get; set; }
 
         /// <summary>
         /// 样本主星时差(us)

+ 4 - 4
XdCxRhDw.Dto/PosDto/X3TwoDtoPosDto.cs

@@ -50,12 +50,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 主邻1频差(Hz)
         /// </summary>
-        public double? Dfo1 { get; set; }
+        public double Dfo1 { get; set; }
 
         /// <summary>
         /// 主邻1信噪比(dB)
         /// </summary>
-        public double? Snr1 { get; set; }
+        public double Snr1 { get; set; }
 
         /// <summary>
         /// 主邻2时差(us)
@@ -66,12 +66,12 @@ namespace XdCxRhDW.Dto
         /// <summary>
         /// 主邻2频差(Hz)
         /// </summary>
-        public double? Dfo2 { get; set; }
+        public double Dfo2 { get; set; }
 
         /// <summary>
         /// 主邻2信噪比(dB)
         /// </summary>
-        public double? Snr2 { get; set; }
+        public double Snr2 { get; set; }
 
         /// <summary>
         /// 样本主星时差(us)