Răsfoiți Sursa

修复了数据不在本地时不定位的BUG
GDOP只使用最新的算法
移除掉平台冗余的配置

zoule 9 luni în urmă
părinte
comite
4dc4d528e4

+ 7 - 7
Service/X2D1TaskServer/Service/TaskService.cs

@@ -290,7 +290,7 @@ namespace X2D1TaskServer.Service
         }
 
 
-        private bool GetLocalFile(long size, string localFile, string sourceFile, CancellationTokenSource cts)
+        private bool GetLocalFile(ref long size, string localFile, string sourceFile, CancellationTokenSource cts)
         {
             using (FileStream fs = new FileStream(localFile, FileMode.Create))
             {
@@ -418,16 +418,16 @@ namespace X2D1TaskServer.Service
                             Stopwatch sw22 = new Stopwatch();
                             sw22.Start();
                             localFile1 = $"wwwroot\\{Path.GetFileName(minfo.FilePath)}";
-                            bool ret = GetLocalFile(size, localFile1, minfo.FilePath, cts);
-                            if (ret) return;
+                            bool ret = GetLocalFile(ref size, localFile1, minfo.FilePath, cts);
+                            if (!ret) return;
 
                             localFile2 = $"wwwroot\\{Path.GetFileName(ninfo.FilePath)}";
-                            ret = GetLocalFile(size, localFile2, ninfo.FilePath, cts);
-                            if (ret) return;
+                            ret = GetLocalFile(ref size, localFile2, ninfo.FilePath, cts);
+                            if (!ret) return;
 
                             localFile3 = $"wwwroot\\{Path.GetFileName(dinfo.FilePath)}";
-                            ret = GetLocalFile(size, localFile3, dinfo.FilePath, cts);
-                            if (ret) return;
+                            ret = GetLocalFile(ref size, localFile3, dinfo.FilePath, cts);
+                            if (!ret) return;
 
                             sw22.Stop();
                             var spped = size / 1024d / 1024d / (sw22.ElapsedMilliseconds / 1000d);

+ 0 - 3
XdCxRhDW.App/App.config

@@ -26,9 +26,6 @@
 		<!--是否启用地图定位点聚合 启用=1,禁用=0-->
 		<add key="UseMapCluster" value="0" />
 
-		<!--是否启用新版GDOP  启用=1,禁用=0-->
-		<add key="UseNewGDOP" value="1" />
-
 		<!--是否启用平台设备状态收集功能 启用=1,禁用=0-->
 		<add key="UseGatherDevState" value="0"/>
 

+ 3 - 25
XdCxRhDW.App/Controllers/PosController.cs

@@ -545,15 +545,7 @@ namespace XdCxRhDW.App.Controllers
                     };
                     if (posRes.PosLon == 999 || posRes.PosLat == 999)//有参无结果时做无参
                     {
-
-                        if (AppConfigHelper.Get("UseNewPosX2D1NoRef", false))
-                        {
-                            res = PosApi.X2D1_PosNoRef_ZL(cgRes, StationRes);
-                        }
-                        else
-                        {
-                            res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
-                        }
+                        res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
                         posRes = new PosRes()
                         {
                             FreqUpHz = (long)cgRes.TarFreqUp.Value,
@@ -677,14 +669,7 @@ namespace XdCxRhDW.App.Controllers
                         TarFreqDown = dto.FreqDown,
                     });
                     double[] res;
-                    if (AppConfigHelper.Get("UseNewPosX2D1NoRef", false))
-                    {
-                        res = PosApi.X2D1_PosNoRef_ZL(cgRes, StationRes);
-                    }
-                    else
-                    {
-                        res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
-                    }
+                    res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
                     PosRes posRes = new PosRes()
                     {
                         FreqUpHz = (long)cgRes.TarFreqUp.Value,
@@ -866,14 +851,7 @@ namespace XdCxRhDW.App.Controllers
                         TarFreqDown = dto.FreqDown,
                     });
                     double[] res;
-                    if (AppConfigHelper.Get("UseNewPosX2D1NoRef", false))
-                    {
-                        res = PosApi.X2D1_PosNoRef_ZL(cgRes, StationRes);
-                    }
-                    else
-                    {
-                        res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
-                    }
+                    res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
                     PosRes posRes = new PosRes()
                     {
                         FreqUpHz = (long)cgRes.TarFreqUp.Value,

+ 18 - 45
XdCxRhDW.App/EditForms/X2D1DTOParamEditor.cs

@@ -207,61 +207,41 @@ namespace XdCxRhDW.App.EditForms
                 if (string.IsNullOrWhiteSpace(msat)) msat = cg.MainCode.Value.ToString();
                 var nsat = listSat.FirstOrDefault(m => m.SatCode == cg.Adja1Code.Value)?.Sat;
                 if (string.IsNullOrWhiteSpace(nsat)) nsat = cg.Adja1Code.Value.ToString();
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
                 if (info.PosResType == EnumPosResType.X2D1)
                 {
-                    if (!useNewGDOP)
+                    var xdDtoLine = DrawDtoLineHelper.DtoLineXdNew(dtoLineXd);
+                    List<MapPolyline> polylines = new List<MapPolyline>();
+                    foreach (var dtoLine in xdDtoLine)
                     {
-                        var xdDtoLine1 = DrawDtoLineHelper.DtoLineXdEx(dtoLineXd);
-                        mapControl1.DrawDtoLineTwo($"[{msat},超短{CDBAnt[0]}°]带参时差线", xdDtoLine1);
-
-                    }
-                    else
-                    {
-                        var xdDtoLine = DrawDtoLineHelper.DtoLineXdNew(dtoLineXd);
-                        List<MapPolyline> polylines = new List<MapPolyline>();
-                        foreach (var dtoLine in xdDtoLine)
+                        var mapline = mapControl1.GetLine($"[{msat},超短{CDBAnt[0]}°]带参时差线", dtoLine.dtoLinePoints, true);
+                        if (mapline == null)
                         {
-                            var mapline = mapControl1.GetLine($"[{msat},超短{CDBAnt[0]}°]带参时差线", dtoLine.dtoLinePoints, true);
-                            if (mapline == null)
-                            {
-                                continue;
-                            }
-                            polylines.Add(mapline);
+                            continue;
                         }
-                        mapControl1.DrawDtoLine(polylines);
-
+                        polylines.Add(mapline);
                     }
+                    mapControl1.DrawDtoLine(polylines);
+
                     var tsDtoLine = DrawDtoLineHelper.DtoLine2XStart(twoStartOption);
                     mapControl1.DrawDtoLine($"[{msat},{nsat}]带参时差线", tsDtoLine);
                 }
                 else
                 {
-                    if (!useNewGDOP)
-                    {
-                        var xdDtoLine1 = DrawDtoLineHelper.DtoLineXdNoRefEx(dtoLineXd);
-                        mapControl1.DrawDtoLineTwo($"[{msat},超短{CDBAnt[0]}°]无参时差线", xdDtoLine1);
 
-                    }
-                    else
+                    var xdDtoLine = DrawDtoLineHelper.DtoLineXdNoRefNew(dtoLineXd);
+                    List<MapPolyline> polylines = new List<MapPolyline>();
+                    foreach (var dtoLine in xdDtoLine)
                     {
-                        var xdDtoLine = DrawDtoLineHelper.DtoLineXdNoRefNew(dtoLineXd);
-                        List<MapPolyline> polylines = new List<MapPolyline>();
-                        foreach (var dtoLine in xdDtoLine)
+                        var mapline = mapControl1.GetLine($"[{msat},超短{CDBAnt[0]}°]无参时差线", dtoLine.dtoLinePoints, true);
+                        if (mapline == null)
                         {
-                            var mapline = mapControl1.GetLine($"[{msat},超短{CDBAnt[0]}°]无参时差线", dtoLine.dtoLinePoints, true);
-                            if (mapline == null)
-                            {
-                                continue;
-                            }
-                            polylines.Add(mapline);
+                            continue;
                         }
-                        mapControl1.DrawDtoLine(polylines);
+                        polylines.Add(mapline);
                     }
-
+                    mapControl1.DrawDtoLine(polylines);
                     var tsDtoLine = DrawDtoLineHelper.DtoLine2XNoRefStart(twoStartOption);
                     mapControl1.DrawDtoLine($"[{msat},{nsat}]无参时差线", tsDtoLine);
-
                 }
             }
             catch (Exception ex)
@@ -384,14 +364,7 @@ namespace XdCxRhDW.App.EditForms
                         Adja1Z = dto.AdjaZ,
                     };
                     double[] res;
-                    if (AppConfigHelper.Get("UseNewPosX2D1NoRef", false))
-                    {
-                        res = PosApi.X2D1_PosNoRef_ZL(cgRes, StationRes);
-                    }
-                    else
-                    {
-                        res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
-                    }
+                    res = PosApi.X2D1_PosNoRef(cgRes, StationRes, dto.CalcConfidence);
                     this.txtPosRes.Text = $"{info.PosResType.GetEnumDisplayName()}定位点:[{res[0]:f4},{res[1]:f4}] 镜像点:[{res[3]:f4},{res[4]:f4}]";
                 }
                 else

+ 1 - 8
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -1130,14 +1130,7 @@ namespace XdCxRhDW.App.UserControl
                             }
                             else
                             {
-                                if (AppConfigHelper.Get("UseNewPosX2D1NoRef", false))
-                                {
-                                    res = PosApi.X2D1_PosNoRef_ZL(CgRes, StationRes);
-                                }
-                                else
-                                {
-                                    res = PosApi.X2D1_PosNoRef(CgRes, StationRes);
-                                }
+                                res = PosApi.X2D1_PosNoRef(CgRes, StationRes);
                             }
                             item.PosLon = res[0];
                             item.PosLat = res[1];

+ 13 - 34
XdCxRhDW.App/UserControl/RHGDOPParam.cs

@@ -103,47 +103,26 @@ namespace XdCxRhDW.App.UserControl
             if (!ParamValidate()) { return; }
             try
             {
-
                 mapControl1.ClearMap();
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
-                if (!useNewGDOP)
+                var data = GdopHelper.Gdop2Sat1DByXyzNew(Model.EphMain, Model.EphAdja, Model.CDBStation
+                  , Model.DtousErr, Model.SatLocErr, Model.RefStation);
+                if (data.Count == 0)
                 {
-                    var data = GdopHelper.Gdop2Sat1DByXyz(Model.EphMain, Model.EphAdja, Model.CDBStation
-                             , Model.DtousErr, Model.SatLocErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    foreach (var errLins in data)//画GDOP
-                    {
-                        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, errLins.MapDots, 1);
-                    }
+                    DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
+                    return;
                 }
-                else
+                List<MapPolyline> polylines = new List<MapPolyline>();
+                for (int i = 0; i < data.Count; i++)
                 {
-
-                    var data = GdopHelper.Gdop2Sat1DByXyzNew(Model.EphMain, Model.EphAdja, Model.CDBStation
-                      , Model.DtousErr, Model.SatLocErr,  Model.RefStation);
-                    if (data.Count == 0)
+                    var errLins = data[i];
+                    var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
+                    if (mapline == null)
                     {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
+                        continue;
                     }
-                    List<MapPolyline> polylines = new List<MapPolyline>();
-                    for (int i = 0; i < data.Count; i++)
-                    {
-                        var errLins = data[i];
-                        var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
-                        if (mapline == null)
-                        {
-                            continue;
-                        }
-                        polylines.Add(mapline);
-                    }
-                    mapControl1.DrawDtoLine(polylines);
+                    polylines.Add(mapline);
                 }
-
+                mapControl1.DrawDtoLine(polylines);
             }
             catch (Exception ex)
             {

+ 13 - 32
XdCxRhDW.App/UserControl/X1D1GDOPParam.cs

@@ -104,44 +104,25 @@ namespace XdCxRhDW.App.UserControl
             try
             {
                 mapControl1.ClearMap();
-
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
-                if (!useNewGDOP)
+                var data = GdopHelper.Gdop1Sat1DByXyzNew(Model.EphMain, Model.CDBStation, Model.CXStation,
+                                  Model.DtousErr, Model.CXErr, Model.SatLocErr, Model.RefStation);
+                if (data.Count == 0)
                 {
-                    var data = GdopHelper.Gdop1Sat1DByXyz(Model.EphMain, Model.CDBStation, Model.CXStation,
-                                     Model.DtousErr, Model.CXErr, Model.SatLocErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    foreach (var errLins in data)//画GDOP
-                    {
-                        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, errLins.MapDots, 1);
-                    }
+                    DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
+                    return;
                 }
-                else
+                List<MapPolyline> polylines = new List<MapPolyline>();
+                for (int i = 0; i < data.Count; i++)
                 {
-                    var data = GdopHelper.Gdop1Sat1DByXyzNew(Model.EphMain, Model.CDBStation, Model.CXStation,
-                                      Model.DtousErr, Model.CXErr, Model.SatLocErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    List<MapPolyline> polylines = new List<MapPolyline>();
-                    for (int i = 0; i < data.Count; i++)
+                    var errLins = data[i];
+                    var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
+                    if (mapline == null)
                     {
-                        var errLins = data[i];
-                        var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
-                        if (mapline == null)
-                        {
-                            continue;
-                        }
-                        polylines.Add(mapline);
+                        continue;
                     }
-                    mapControl1.DrawDtoLine(polylines);
+                    polylines.Add(mapline);
                 }
+                mapControl1.DrawDtoLine(polylines);
             }
             catch (Exception ex)
             {

+ 13 - 34
XdCxRhDW.App/UserControl/X2D1GDOPParam.cs

@@ -106,47 +106,26 @@ namespace XdCxRhDW.App.UserControl
             if (!ParamValidate()) { return; }
             try
             {
-
                 mapControl1.ClearMap();
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
-                if (!useNewGDOP)
+                var data = GdopHelper.Gdop2Sat1DByXyzNew(Model.EphMain, Model.EphAdja, Model.CDBStation
+                  , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X2D1NoRef ? null : Model.RefStation);
+                if (data.Count == 0)
                 {
-                    var data = GdopHelper.Gdop2Sat1DByXyz(Model.EphMain, Model.EphAdja, Model.CDBStation
-                             , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X2D1NoRef ? null : Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    foreach (var errLins in data)//画GDOP
-                    {
-                        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, errLins.MapDots, 1);
-                    }
+                    DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
+                    return;
                 }
-                else
+                List<MapPolyline> polylines = new List<MapPolyline>();
+                for (int i = 0; i < data.Count; i++)
                 {
-
-                    var data = GdopHelper.Gdop2Sat1DByXyzNew(Model.EphMain, Model.EphAdja, Model.CDBStation
-                      , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X2D1NoRef ? null : Model.RefStation);
-                    if (data.Count == 0)
+                    var errLins = data[i];
+                    var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
+                    if (mapline == null)
                     {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
+                        continue;
                     }
-                    List<MapPolyline> polylines = new List<MapPolyline>();
-                    for (int i = 0; i < data.Count; i++)
-                    {
-                        var errLins = data[i];
-                        var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
-                        if (mapline == null)
-                        {
-                            continue;
-                        }
-                        polylines.Add(mapline);
-                    }
-                    mapControl1.DrawDtoLine(polylines);
+                    polylines.Add(mapline);
                 }
-
+                mapControl1.DrawDtoLine(polylines);
             }
             catch (Exception ex)
             {

+ 12 - 30
XdCxRhDW.App/UserControl/X2DFGDOPParam.cs

@@ -117,42 +117,24 @@ namespace XdCxRhDW.App.UserControl
 
 
                 mapControl1.ClearMap();
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
-                if (!useNewGDOP)
+                var data = GdopHelper.Gdop2SatDRefByXyzNew(Model.EphMain, Model.EphAdja, Model.fu1, Model.fu2, Model.DtousErr, Model.DfoErr, Model.SatLocErr, Model.EphVelErr, Model.RefStation);
+                if (data.Count == 0)
                 {
-                    var data = GdopHelper.Gdop2SatDRefByXyz(Model.EphMain, Model.EphAdja, Model.fu1, Model.fu2, Model.DtousErr, Model.DfoErr, Model.SatLocErr, Model.EphVelErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    foreach (var errLins in data)//画GDOP
-                    {
-                        var mapDots = errLins.MapDots;
-                        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, mapDots, mapDots.Count() / 2);
-                    }
+                    DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
+                    return;
                 }
-                else
+                List<MapPolyline> polylines = new List<MapPolyline>();
+                for (int i = 0; i < data.Count; i++)
                 {
-                    var data = GdopHelper.Gdop2SatDRefByXyzNew(Model.EphMain, Model.EphAdja, Model.fu1, Model.fu2, Model.DtousErr, Model.DfoErr, Model.SatLocErr, Model.EphVelErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    List<MapPolyline> polylines = new List<MapPolyline>();
-                    for (int i = 0; i < data.Count; i++)
+                    var errLins = data[i];
+                    var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
+                    if (mapline == null)
                     {
-                        var errLins = data[i];
-                        var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
-                        if (mapline == null)
-                        {
-                            continue;
-                        }
-                        polylines.Add(mapline);
+                        continue;
                     }
-                    mapControl1.DrawDtoLine(polylines);
+                    polylines.Add(mapline);
                 }
+                mapControl1.DrawDtoLine(polylines);
             }
             catch (Exception ex)
             {

+ 12 - 30
XdCxRhDW.App/UserControl/X3DFGDOPParam .cs

@@ -114,42 +114,24 @@ namespace XdCxRhDW.App.UserControl
             try
             {
                 mapControl1.ClearMap();
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
-                if (!useNewGDOP)
+                var data = GdopHelper.Gdop3SatDFByXyzNew(Model.EphMain, Model.EphAdja1, Model.EphAdja2, Model.fu1, Model.fu2, Model.DfoErr, Model.SatLocErr, Model.EphVelErr, Model.RefStation);
+                if (data.Count == 0)
                 {
-                    var data = GdopHelper.Gdop3SatDFByXyz(Model.EphMain, Model.EphAdja1, Model.EphAdja2, Model.fu1, Model.fu2, Model.DfoErr, Model.SatLocErr, Model.EphVelErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    foreach (var errLins in data)//画GDOP
-                    {
-                        var mapDots = errLins.MapDots;
-                        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, mapDots, mapDots.Count() / 2);
-                    }
+                    DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
+                    return;
                 }
-                else
+                List<MapPolyline> polylines = new List<MapPolyline>();
+                for (int i = 0; i < data.Count; i++)
                 {
-                    var data = GdopHelper.Gdop3SatDFByXyzNew(Model.EphMain, Model.EphAdja1, Model.EphAdja2, Model.fu1, Model.fu2, Model.DfoErr, Model.SatLocErr, Model.EphVelErr, Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    List<MapPolyline> polylines = new List<MapPolyline>();
-                    for (int i = 0; i < data.Count; i++)
+                    var errLins = data[i];
+                    var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
+                    if (mapline == null)
                     {
-                        var errLins = data[i];
-                        var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
-                        if (mapline == null)
-                        {
-                            continue;
-                        }
-                        polylines.Add(mapline);
+                        continue;
                     }
-                    mapControl1.DrawDtoLine(polylines);
+                    polylines.Add(mapline);
                 }
+                mapControl1.DrawDtoLine(polylines);
             }
             catch (Exception ex)
             {

+ 13 - 32
XdCxRhDW.App/UserControl/X3GDOPParam.cs

@@ -104,44 +104,25 @@ namespace XdCxRhDW.App.UserControl
             try
             {
                 mapControl1.ClearMap();
-                bool useNewGDOP = AppConfigHelper.Get("UseNewGDOP", true);
-                if (!useNewGDOP)
+                var data = GdopHelper.Gdop3SatByXyzNew(Model.EphMain, Model.EphAdja1, Model.EphAdja2
+                                 , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X3NoRef ? null : Model.RefStation);
+                if (data.Count == 0)
                 {
-                    var data = GdopHelper.Gdop3SatByXyz(Model.EphMain, Model.EphAdja1, Model.EphAdja2
-                                  , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X3NoRef ? null : Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    foreach (var errLins in data)//画GDOP
-                    {
-                        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, errLins.MapDots, 1);
-                    }
-
+                    DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
+                    return;
                 }
-                else
+                List<MapPolyline> polylines = new List<MapPolyline>();
+                for (int i = 0; i < data.Count; i++)
                 {
-                    var data = GdopHelper.Gdop3SatByXyzNew(Model.EphMain, Model.EphAdja1, Model.EphAdja2
-                                     , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X3NoRef ? null : Model.RefStation);
-                    if (data.Count == 0)
-                    {
-                        DxHelper.MsgBoxHelper.ShowInfo($"绘制{PosResType.GetEnumDisplayName()}GDOP没有{GdopParam.误差配置.误差距离km.Max()}公里以内的误差!");
-                        return;
-                    }
-                    List<MapPolyline> polylines = new List<MapPolyline>();
-                    for (int i = 0; i < data.Count; i++)
+                    var errLins = data[i];
+                    var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
+                    if (mapline == null)
                     {
-                        var errLins = data[i];
-                        var mapline = mapControl1.GetLine(errLins.ErrDistanceKm, errLins.MapDots);
-                        if (mapline == null)
-                        {
-                            continue;
-                        }
-                        polylines.Add(mapline);
+                        continue;
                     }
-                    mapControl1.DrawDtoLine(polylines);
+                    polylines.Add(mapline);
                 }
+                mapControl1.DrawDtoLine(polylines);
             }
             catch (Exception ex)
             {