zoulei 1 year ago
parent
commit
52afab73a7

+ 1 - 1
.gitignore

@@ -362,4 +362,4 @@ MigrationBackup/
 # Fody - auto-generated XML schema
 FodyWeavers.xsd
 
-软件技术要求
+软件技术要求.docx

BIN
Database.db


+ 0 - 2
XzXdDw.App/Api/PosApi.cs

@@ -30,13 +30,11 @@ namespace XdCxRhDW.App.Api
         {
             var satTx = listTx.Find(p => p.TxType == EnumTxType.MainSat);
             var cdbTx = listTx.Find(p => p.TxType == EnumTxType.Cdb);
-            var cxTx = listTx.Find(p => p.TxType == EnumTxType.Cx);
             var refTx = listTx.Find(p => p.TxType == EnumTxType.Ref);
             double[] mainSat = new double[3] { cgRes.MainX, cgRes.MainY, cgRes.MainZ };
             double[] adjaSat = new double[3] { cgRes.AdjaX, cgRes.AdjaY, cgRes.AdjaZ };
             double[] satStation = new double[3] { satTx.Lon, satTx.Lat, 0 };
             double[] cdbStation = new double[3] { cdbTx.Lon, cdbTx.Lat, 0 };
-            double[] cxStation = new double[3] { cxTx.Lon, cxTx.Lat, 0 };
             double[] refStation = new double[3] { refTx.Lon, refTx.Lat, 0 };
             double[] zone = new double[] { -85, 85, -180, 180 }; //定位区域
             double[] res = new double[6];

+ 1 - 1
XzXdDw.App/App.config

@@ -70,7 +70,7 @@
   </connectionStrings>
   <appSettings>
     <!--程序标题-->
-    <add key="SystemName" value="多模式融合定位平台" />
+    <add key="SystemName" value="协同定位平台" />
     <!--公司名称(没有则不会显示版权)-->
     <add key="Company" value="" />
   </appSettings>

+ 8 - 1
XzXdDw.App/DxHelper/SvgHelper.cs

@@ -1,4 +1,5 @@
-using DevExpress.Utils;
+using DevExpress.Drawing.Internal.Fonts.Interop;
+using DevExpress.Utils;
 using DevExpress.Utils.Svg;
 using DevExpress.XtraMap.Native;
 using System;
@@ -18,6 +19,12 @@ namespace DxHelper
     {
         static readonly Dictionary<string, SvgImage> cache = new Dictionary<string, SvgImage>();
 
+        public static Image ToImage(this SvgImage svg,int w,int h)
+        {
+            var img = svg.Render(new Size(w, h), null, DefaultBoolean.False, DefaultBoolean.False);
+            return img;
+        }
+
         /// <summary>
         /// 判断color是否为HtmlColor(HtmlColor格式如#A1B2C3)
         /// </summary>

+ 30 - 0
XzXdDw.App/ExtensionsDev/GridControlEx.cs

@@ -1,5 +1,6 @@
 using DevExpress.Utils;
 using DevExpress.Utils.Menu;
+using DevExpress.Utils.Svg;
 using DevExpress.XtraBars;
 using DevExpress.XtraBars.Commands.Internal;
 using DevExpress.XtraEditors;
@@ -162,6 +163,35 @@ public static class GridControlEx
         tag.PopupMenu = popupMenu;
         return grid;
     }
+
+    public static GridControl AddMenu(this GridControl grid,string menuText,SvgImage meunImage,Action onClick)
+    {
+        GridTag tag = grid.Tag as GridTag;
+        if (tag.BarM == null)
+        {
+            tag.BarM = new BarManager();
+            tag.BarM.Form = grid;
+        }
+        if (tag.PopupMenu == null)
+        {
+            tag.PopupMenu = new PopupMenu();
+        }
+        PopupMenu popupMenu = tag.PopupMenu;
+        BarButtonItem item = new BarButtonItem();
+        item.ItemClick += (sender, e) =>
+        {
+            item.Enabled = false;
+            onClick?.Invoke();
+            item.Enabled = true;
+        };
+        item.ImageOptions.SvgImage = meunImage;
+        item.Caption = menuText;
+        tag.BarM.Items.Add(item);
+        popupMenu.AddItem(item);
+        popupMenu.Manager = tag.BarM;
+        tag.PopupMenu = popupMenu;
+        return grid;
+    }
     private static void View_KeyUp(object sender, KeyEventArgs e)
     {
         if (e.Control && e.Shift & e.KeyCode == Keys.C)

+ 86 - 5
XzXdDw.App/ExtensionsDev/MapControlEx.cs

@@ -104,13 +104,13 @@ public class ToolTipAttribute : Attribute
 /// <summary>
 /// 定位点绑定到地图的对象
 /// </summary>
-public class PosData:BaseModel<long>
+public class PosData : BaseModel<long>
 {
     /// <summary>
     /// 信号时刻
     /// </summary>
     [Display(Name = "信号时刻")]
-    [DisplayFormat(DataFormatString ="yyyy-MM-dd HH:mm:ss.fff")]
+    [DisplayFormat(DataFormatString = "yyyy-MM-dd HH:mm:ss.fff")]
     [ExportCell(ColumnIndex = 0)]//如果导出了SigTime,则内部会自动按照SigTime降序排列后再导出
     [ToolTip(Index = 0)]
     public DateTime SigTime { get; set; }
@@ -151,7 +151,7 @@ public class PosData:BaseModel<long>
     /// <summary>
     /// 当前点是否被选中(默认false)
     /// </summary>
-    [Display(Name = "是否选中",AutoGenerateField =false)]
+    [Display(Name = "是否选中", AutoGenerateField = false)]
     [NotMapped]
     public bool Selected { get; set; }
 
@@ -435,7 +435,7 @@ public static class MapControlEx
         ctrl.NavigationPanelOptions.BackgroundStyle.Fill = Color.Transparent;
         ctrl.NavigationPanelOptions.ShowScrollButtons = false;
         ctrl.NavigationPanelOptions.ShowZoomTrackbar = false;
-       // ctrl.NavigationPanelOptions.ShowCoordinates = true;
+        // ctrl.NavigationPanelOptions.ShowCoordinates = true;
         //ctrl.NavigationPanelOptions.ShowKilometersScale = false;
         //ctrl.NavigationPanelOptions.ShowMilesScale = false;
         ctrl.NavigationPanelOptions.CoordinatesStyle.Font = new Font("微软雅黑", 10F);
@@ -525,7 +525,31 @@ public static class MapControlEx
         innerData.barM.EndInit();
         return ctrl;
     }
+    /// <summary>
+    /// 在框选矩形上增加右键菜单
+    /// </summary>
+    /// <param name="ctrl"></param>
+    /// <param name="caption"></param>
+    /// <param name="img"></param>
+    /// <param name="action">一个回调,参数为选中的定位点</param>
+    /// <returns></returns>
+    public static MapControl AddPosMenuEx<T>(this MapControl ctrl, string caption, Image img, Action<T> action) where T : PosData, new()
+    {
+        var btnCustom = new BarButtonItem() { Caption = caption };
+        btnCustom.ImageOptions.Image = img;
+        btnCustom.Tag = ctrl;
+        var innerData = ctrl.Tag as InnerData;
+        btnCustom.ItemClick += (sender, e) =>
+        {
+            action((T)innerData.preSelectedItem.Tag);
+        };
+        innerData.barM.BeginInit();
+        innerData.barM.Items.Add(btnCustom);
 
+        innerData.posMenu.LinksPersistInfo.Add(new LinkPersistInfo(btnCustom));
+        innerData.barM.EndInit();
+        return ctrl;
+    }
     /// <summary>
     /// 在地图上增加右键菜单
     /// </summary>
@@ -542,7 +566,9 @@ public static class MapControlEx
         var innerData = ctrl.Tag as InnerData;
         btnCustom.ItemClick += (sender, e) =>
         {
+            btnCustom.Enabled = false;
             action(innerData._mapMenuGeoPoint.Longitude, innerData._mapMenuGeoPoint.Latitude);
+            btnCustom.Enabled = true;
         };
         innerData.barM.BeginInit();
 
@@ -551,7 +577,31 @@ public static class MapControlEx
         innerData.barM.EndInit();
         return ctrl;
     }
+    /// <summary>
+    /// 在地图上增加右键菜单
+    /// </summary>
+    /// <param name="ctrl"></param>
+    /// <param name="caption"></param>
+    /// <param name="img"></param>
+    /// <param name="action">一个回调,参数为点击位置的经纬度</param>
+    /// <returns></returns>
+    public static MapControl AddMapMenuEx(this MapControl ctrl, string caption, Image img, Action<double, double> action)
+    {
+        var btnCustom = new BarButtonItem() { Caption = caption, Name = caption };
+        btnCustom.ImageOptions.Image = img;
+        btnCustom.Tag = ctrl;
+        var innerData = ctrl.Tag as InnerData;
+        btnCustom.ItemClick += (sender, e) =>
+        {
+            action(innerData._mapMenuGeoPoint.Longitude, innerData._mapMenuGeoPoint.Latitude);
+        };
+        innerData.barM.BeginInit();
 
+        innerData.barM.Items.Add(btnCustom);
+        innerData.mapMenu.LinksPersistInfo.Add(new LinkPersistInfo(btnCustom));
+        innerData.barM.EndInit();
+        return ctrl;
+    }
 
     /// <summary>
     /// 在框选矩形上增加右键菜单
@@ -581,6 +631,35 @@ public static class MapControlEx
     }
 
 
+
+
+    /// <summary>
+    /// 在框选矩形上增加右键菜单
+    /// </summary>
+    /// <param name="ctrl"></param>
+    /// <param name="caption"></param>
+    /// <param name="img"></param>
+    /// <param name="action">一个回调,参数为框选的定位点</param>
+    /// <returns></returns>
+    public static MapControl AddMapMenuEx<T>(this MapControl ctrl, string caption, Image img, Action<IEnumerable<T>> action) where T : PosData, new()
+    {
+        var btnCustom = new BarButtonItem() { Caption = caption };
+        btnCustom.ImageOptions.Image = img;
+        btnCustom.Tag = ctrl;
+        btnCustom.ItemClick += (sender, e) =>
+        {
+            var data = ctrl.GetRectPosItem<T>();
+            action(data);
+        };
+        var innerData = ctrl.Tag as InnerData;
+        innerData.barM.BeginInit();
+        innerData.barM.Items.Add(btnCustom);
+
+        innerData.rectMenu.LinksPersistInfo.Add(new LinkPersistInfo(btnCustom));
+        innerData.barM.EndInit();
+        return ctrl;
+    }
+
     /// <summary>
     /// 重新设置定位数据
     /// </summary>
@@ -599,6 +678,8 @@ public static class MapControlEx
         for (int i = 0; i < items.Count(); i++)
         {
             var p = items.ElementAt(i);
+            if (p.PosLon < -180 || p.PosLon > 180) continue;
+            if (p.PosLon == 0 && p.PosLat == 0) continue;
             var mapItem = new MapDot()
             {
                 EnableHighlighting = DefaultBoolean.True,
@@ -1563,7 +1644,7 @@ public static class MapControlEx
             {
             }
         }));
-       
+
     }
     private static void DistanceLine_ItemClick(object sender, ItemClickEventArgs e)
     {

+ 18 - 0
XzXdDw.App/Image/Del.svg

@@ -0,0 +1,18 @@
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+     viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
+<style type="text/css">
+	.Black{fill:#737374;}
+	.Yellow{fill:#FCB01B;}
+	.Green{fill:#129C49;}
+	.Blue{fill:#387CB7;}
+	.Red{fill:#D02127;}
+	.White{fill:#FFFFFF;}
+	.st0{opacity:0.5;}
+	.st1{opacity:0.75;}
+	.st2{opacity:0.25;}
+	.st3{display:none;fill:#737374;}
+</style>
+<path class="Red" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0
+	L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9
+	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/>
+</svg>

+ 20 - 0
XzXdDw.App/Image/LoadData.svg

@@ -0,0 +1,20 @@
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
+<style type="text/css">
+	.Black{fill:#727272;}
+	.Yellow{fill:#FFB115;}
+	.Blue{fill:#1177D7;}
+	.Green{fill:#039C23;}
+	.Red{fill:#D11C1C;}
+	.White{fill:#FFFFFF;}
+	.st0{opacity:0.75;}
+	.st1{opacity:0.5;}
+	.st2{opacity:0.25;}
+</style>
+<g id="AddNewDataSource">
+	<path class="Yellow" d="M4,10V6c0-2.2,4.5-4,10-4s10,1.8,10,4v4c0,2.2-4.5,4-10,4S4,12.2,4,10z M14,20c3.3,0,6.2-0.6,8-1.6V16h2v-4
+		c0,2.2-4.5,4-10,4S4,14.2,4,12v4C4,18.2,8.5,20,14,20z M18,21.7c-1.2,0.2-2.6,0.3-4,0.3c-5.5,0-10-1.8-10-4v4c0,2.2,4.5,4,10,4
+		c1.4,0,2.8-0.1,4-0.3V21.7z"/>
+	<polygon class="Green" points="32,22 28,22 28,18 24,18 24,22 20,22 20,26 24,26 24,30 28,30 28,26 32,26 	"/>
+</g>
+</svg>

+ 7 - 0
XzXdDw.App/Image/Stop.svg

@@ -0,0 +1,7 @@
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
+<style type="text/css">
+	.Blue{fill:#1177D7;}
+</style>
+<path class="Blue" d="M25,26H7c-0.6,0-1-0.5-1-1V7c0-0.6,0.4-1,1-1h18c0.5,0,1,0.4,1,1v18C26,25.5,25.5,26,25,26z"/>
+</svg>

+ 1 - 2
XzXdDw.App/MainForm.cs

@@ -29,7 +29,7 @@ namespace XdCxRhDW
             ctrlTypes.Add("星地协同定位", typeof(CtrlPosXd));
             ctrlTypes.Add("误差评估", typeof(CtrlWcpj));
             ctrlTypes.Add("卫星管理", typeof(CtrlSat));
-            //ctrlTypes.Add("星历管理", typeof(CtrlXl));
+            ctrlTypes.Add("星历管理", typeof(CtrlXl));
             ctrlTypes.Add("系统设置", typeof(CtrlSysSettings));
             this.bar1.OptionsBar.DistanceBetweenItems = 20;
             this.tabbedView1.UseDefault();
@@ -39,7 +39,6 @@ namespace XdCxRhDW
 
         private void btn_ItemClick(object sender, ItemClickEventArgs e)
         {
-            throw new Exception("a");
             var btnTxt = e?.Item?.Caption ?? "参估工具";
             BaseDocument doc = null;
             doc = tabbedView1.Documents.Find(p => p.Control.GetType() == ctrlTypes[btnTxt]).FirstOrDefault();

+ 1 - 1
XzXdDw.App/Model/PosRes.cs

@@ -22,7 +22,7 @@ namespace XdCxRhDW.App.Model
         public long CheckResID { get; set; }
 
         [Display(AutoGenerateField =false)]
-        public virtual CheckRes CxRes { get; set;}
+        public virtual CheckRes CheckRes { get; set;}
 
         [Display(Name = "参估编号")]
         public long CgResID { get; set; }

+ 6 - 5
XzXdDw.App/Properties/licenses.licx

@@ -1,10 +1,11 @@
 DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

+ 185 - 0
XzXdDw.App/Simulation_Data2023.dat

@@ -0,0 +1,185 @@
+  0.00501971     0.25555509     0.25828770     0.25340081   156.75   124.000   26.000   -41342148.95     6147864.45     5471991.41   -38230038.85    17802822.03      -25621.30
+  0.00499654     0.25555395     0.25828764     0.25340231   152.56   124.145   26.145   -41341939.87     6147456.78     5474170.35   -38230003.49    17802830.55      -25623.90
+  0.00497237     0.25555209     0.25828631     0.25339977   150.70   124.290   26.290   -41341722.75     6147068.08     5476357.92   -38229998.33    17802842.59      -25629.70
+  0.00494908     0.25554645     0.25828711     0.25340076   148.85   124.435   26.435   -41341527.54     6146662.87     5478525.54   -38229979.15    17802864.94      -25627.79
+  0.00492479     0.25553670     0.25828609     0.25339949   146.04   124.580   26.580   -41341298.04     6146262.22     5480696.72   -38229978.72    17802867.32      -25656.59
+  0.00490267     0.25552775     0.25828512     0.25340012   143.58   124.725   26.725   -41341071.38     6145867.92     5482854.32   -38229951.17    17802874.61      -25666.48
+  0.00487653     0.25551280     0.25828305     0.25340013   141.07   124.870   26.870   -41340870.11     6145464.13     5485026.39   -38229938.29    17802889.95      -25673.64
+  0.00485314     0.25549460     0.25828298     0.25339725   137.62   125.015   27.015   -41340649.87     6145065.36     5487171.76   -38229912.67    17802882.60      -25687.78
+  0.00482993     0.25547676     0.25828281     0.25339951   136.87   125.160   27.160   -41340437.29     6144678.77     5489302.88   -38229880.81    17802892.60      -25695.40
+  0.00480491     0.25545426     0.25828430     0.25339826   130.68   125.305   27.305   -41340233.30     6144260.53     5491440.01   -38229885.14    17802907.04      -25700.60
+  0.00478036     0.25542730     0.25828041     0.25339768   131.47   125.450   27.450   -41340017.60     6143852.00     5493567.07   -38229876.24    17802914.86      -25703.40
+  0.00475750     0.25539778     0.25828139     0.25339833   125.06   125.595   27.595   -41339811.94     6143458.34     5495681.99   -38229853.14    17802924.16      -25717.25
+  0.00473319     0.25536410     0.25828038     0.25339754   125.03   125.740   27.740   -41339593.18     6143042.59     5497797.19   -38229843.85    17802932.06      -25728.81
+  0.00471072     0.25533000     0.25827905     0.25339735   120.57   125.885   27.885   -41339398.55     6142638.89     5499929.25   -38229855.23    17802951.13      -25746.02
+  0.00468555     0.25529161     0.25827897     0.25339680   118.66   126.030   28.030   -41339181.85     6142233.18     5502016.00   -38229807.57    17802965.12      -25748.10
+  0.00466178     0.25525140     0.25827681     0.25339861   116.23   126.175   28.175   -41338973.80     6141819.30     5504123.22   -38229784.00    17802975.49      -25764.55
+  0.00463703     0.25520851     0.25827854     0.25339848   113.00   126.320   28.320   -41338774.17     6141415.20     5506218.15   -38229777.22    17802978.91      -25764.89
+  0.00461217     0.25516082     0.25827664     0.25339857   111.15   126.465   28.465   -41338556.11     6141012.79     5508290.90   -38229760.11    17802989.85      -25781.24
+  0.00458797     0.25511168     0.25827716     0.25339765   109.43   126.610   28.610   -41338354.72     6140613.65     5510365.54   -38229755.73    17803003.15      -25779.76
+  0.00456429     0.25506021     0.25827479     0.25339764   105.46   126.755   28.755   -41338151.17     6140203.09     5512440.79   -38229715.41    17803036.04      -25806.54
+  0.00454009     0.25500649     0.25827462     0.25339731   103.45   126.900   28.900   -41337938.66     6139798.66     5514526.38   -38229696.31    17803030.04      -25786.63
+  0.00451481     0.25495005     0.25827431     0.25339640   102.36   127.045   29.045   -41337758.65     6139394.85     5516558.19   -38229712.81    17803032.52      -25815.72
+  0.00449309     0.25489391     0.25827405     0.25339838    99.03   127.190   29.190   -41337553.55     6138978.77     5518611.55   -38229676.61    17803025.73      -25818.30
+  0.00446687     0.25483253     0.25827402     0.25339808    97.13   127.335   29.335   -41337351.26     6138563.51     5520662.80   -38229663.97    17803041.56      -25831.70
+  0.00444106     0.25477372     0.25827127     0.25339811    93.93   127.480   29.480   -41337162.08     6138159.67     5522690.44   -38229664.90    17803054.04      -25844.31
+  0.00441827     0.25470966     0.25827426     0.25339859    92.77   127.625   29.625   -41336964.09     6137753.10     5524716.76   -38229638.82    17803064.99      -25832.32
+  0.00439528     0.25464685     0.25827110     0.25339799    89.38   127.770   29.770   -41336745.03     6137326.86     5526746.37   -38229627.05    17803077.79      -25848.72
+  0.00436886     0.25458157     0.25827105     0.25339900    91.10   127.915   29.915   -41336556.48     6136927.55     5528762.81   -38229595.30    17803089.02      -25856.56
+  0.00434479     0.25451472     0.25827082     0.25339922    90.08   128.060   30.060   -41336371.04     6136496.07     5530782.32   -38229606.66    17803081.12      -25860.96
+  0.00432314     0.25444716     0.25826956     0.25339717    88.26   128.205   30.205   -41336175.84     6136101.20     5532781.89   -38229578.74    17803100.91      -25872.79
+  0.00429652     0.25437813     0.25826879     0.25339821    84.70   128.350   30.350   -41335976.51     6135698.23     5534787.95   -38229566.32    17803118.95      -25891.79
+  0.00427288     0.25430952     0.25826933     0.25339708    84.46   128.495   30.495   -41335773.02     6135275.46     5536778.68   -38229551.40    17803127.25      -25885.35
+  0.00424863     0.25423871     0.25826646     0.25339838    82.43   128.640   30.640   -41335580.23     6134869.16     5538757.46   -38229537.63    17803121.00      -25901.36
+  0.00422365     0.25416813     0.25826743     0.25339660    79.28   128.785   30.785   -41335401.38     6134439.52     5540727.68   -38229504.47    17803148.93      -25906.62
+  0.00420087     0.25409692     0.25826654     0.25339687    79.23   128.930   30.930   -41335188.62     6134036.04     5542684.57   -38229482.06    17803163.09      -25919.42
+  0.00417602     0.25402422     0.25826658     0.25339745    77.91   129.075   31.075   -41335003.31     6133622.69     5544664.05   -38229491.96    17803154.78      -25937.34
+  0.00415118     0.25395300     0.25826461     0.25339632    76.43   129.220   31.220   -41334825.22     6133211.59     5546608.87   -38229465.00    17803175.81      -25946.36
+  0.00412540     0.25387830     0.25826348     0.25339730    76.89   129.365   31.365   -41334650.04     6132794.71     5548580.28   -38229464.28    17803175.00      -25966.97
+  0.00410203     0.25380354     0.25826487     0.25339713    75.22   129.510   31.510   -41334458.26     6132393.10     5550506.41   -38229442.55    17803186.32      -25964.73
+  0.00407820     0.25373055     0.25826503     0.25339680    74.72   129.655   31.655   -41334272.66     6131957.21     5552453.16   -38229416.29    17803195.72      -25970.95
+  0.00405333     0.25365855     0.25826351     0.25339670    74.58   129.800   31.800   -41334099.45     6131534.57     5554366.12   -38229408.15    17803201.23      -25963.68
+  0.00402804     0.25358260     0.25826339     0.25339717    70.65   129.945   31.945   -41333907.11     6131130.79     5556314.34   -38229375.30    17803198.57      -25978.20
+  0.00403969     0.25356742     0.25826226     0.25339663    72.30   129.968   31.797   -41333715.78     6130711.33     5558232.70   -38229377.16    17803227.26      -25986.81
+  0.00405868     0.25357314     0.25826138     0.25339550    76.47   129.936   31.595   -41333527.05     6130282.66     5560137.06   -38229365.23    17803241.54      -25974.51
+  0.00407781     0.25358094     0.25825959     0.25339588    75.92   129.904   31.392   -41333346.86     6129880.38     5562030.68   -38229350.63    17803249.99      -26024.53
+  0.00409721     0.25358852     0.25825830     0.25339813    78.32   129.872   31.190   -41333170.43     6129453.76     5563940.24   -38229333.00    17803242.63      -26019.54
+  0.00411612     0.25359211     0.25825916     0.25339584    79.39   129.840   30.987   -41332980.20     6129022.16     5565828.15   -38229309.84    17803257.32      -26034.33
+  0.00413481     0.25359466     0.25825829     0.25339531    80.75   129.808   30.785   -41332823.20     6128630.18     5567722.04   -38229296.92    17803269.23      -26027.47
+  0.00415558     0.25359509     0.25825722     0.25339544    84.10   129.775   30.582   -41332635.06     6128192.99     5569590.97   -38229291.29    17803262.99      -26045.75
+  0.00417390     0.25359098     0.25825664     0.25339607    84.69   129.743   30.380   -41332460.33     6127770.62     5571458.69   -38229257.96    17803290.33      -26056.01
+  0.00419101     0.25358848     0.25825544     0.25339592    86.14   129.711   30.177   -41332272.80     6127339.72     5573343.35   -38229233.79    17803289.75      -26057.60
+  0.00421029     0.25358070     0.25825490     0.25339568    87.93   129.679   29.975   -41332104.25     6126942.95     5575183.43   -38229237.09    17803318.93      -26058.07
+  0.00423005     0.25357582     0.25825686     0.25339529    88.68   129.647   29.772   -41331925.27     6126510.10     5577024.26   -38229211.00    17803303.92      -26064.59
+  0.00425060     0.25356554     0.25825583     0.25339550    90.02   129.615   29.570   -41331764.49     6126089.53     5578881.11   -38229212.55    17803316.49      -26082.42
+  0.00426915     0.25355686     0.25825335     0.25339395    93.68   129.583   29.367   -41331558.82     6125668.02     5580722.04   -38229181.21    17803318.31      -26087.15
+  0.00428706     0.25354157     0.25825478     0.25339496    95.01   129.551   29.164   -41331423.86     6125240.17     5582546.33   -38229171.75    17803341.93      -26095.37
+  0.00430820     0.25352598     0.25825463     0.25339554    97.91   129.519   28.962   -41331253.77     6124827.77     5584382.31   -38229143.85    17803345.41      -26106.61
+  0.00432603     0.25350731     0.25825326     0.25339646    98.22   129.487   28.759   -41331085.93     6124389.31     5586195.16   -38229136.72    17803354.81      -26115.00
+  0.00434606     0.25348908     0.25825207     0.25339487   100.13   129.455   28.557   -41330888.17     6123952.55     5588004.18   -38229125.58    17803373.74      -26122.84
+  0.00436485     0.25346628     0.25825231     0.25339503   101.57   129.423   28.354   -41330741.46     6123544.71     5589799.32   -38229102.97    17803371.26      -26131.31
+  0.00438478     0.25344341     0.25825095     0.25339510   104.32   129.391   28.152   -41330574.24     6123116.52     5591603.11   -38229101.18    17803389.66      -26131.83
+  0.00440071     0.25341780     0.25825207     0.25339512   105.73   129.358   27.949   -41330412.93     6122687.83     5593393.96   -38229083.39    17803383.80      -26146.34
+  0.00442221     0.25339191     0.25825226     0.25339473   107.93   129.326   27.747   -41330228.46     6122263.15     5595181.97   -38229051.12    17803398.88      -26135.07
+  0.00444230     0.25336210     0.25825174     0.25339408   108.83   129.294   27.544   -41330063.96     6121851.42     5596951.12   -38229048.36    17803407.79      -26146.04
+  0.00446047     0.25332820     0.25825020     0.25339403   110.04   129.262   27.342   -41329903.60     6121421.29     5598729.42   -38229033.40    17803409.53      -26168.31
+  0.00448048     0.25329866     0.25824919     0.25339460   112.20   129.230   27.139   -41329749.00     6120977.44     5600488.50   -38229015.60    17803439.29      -26164.63
+  0.00449865     0.25326362     0.25824900     0.25339515   115.64   129.198   26.937   -41329596.76     6120561.69     5602262.33   -38229015.26    17803435.39      -26182.02
+  0.00451705     0.25322528     0.25824847     0.25339756   113.88   129.166   26.734   -41329417.14     6120137.95     5603998.23   -38228990.53    17803445.60      -26184.29
+  0.00453912     0.25318968     0.25824816     0.25339359   116.85   129.134   26.532   -41329267.76     6119705.28     5605725.66   -38228961.37    17803448.38      -26191.72
+  0.00456083     0.25322561     0.25824753     0.25339634   119.75   128.989   26.387   -41329094.80     6119274.81     5607466.02   -38228957.41    17803467.45      -26203.51
+  0.00458628     0.25326146     0.25824822     0.25339260   121.04   128.844   26.242   -41328936.85     6118849.76     5609199.35   -38228939.60    17803475.99      -26223.94
+  0.00460932     0.25329412     0.25824572     0.25339558   121.48   128.699   26.097   -41328793.13     6118411.46     5610925.98   -38228930.48    17803485.46      -26204.96
+  0.00463287     0.25332925     0.25824670     0.25339577   122.25   128.554   25.952   -41328636.98     6117996.06     5612646.39   -38228910.82    17803481.64      -26238.91
+  0.00465577     0.25335958     0.25824688     0.25339418   124.22   128.409   25.807   -41328468.68     6117579.95     5614350.33   -38228899.85    17803513.11      -26229.90
+  0.00467917     0.25338769     0.25824598     0.25339427   125.94   128.264   25.662   -41328314.90     6117137.67     5616054.93   -38228879.25    17803510.04      -26227.65
+  0.00470425     0.25341540     0.25824506     0.25339373   127.41   128.119   25.517   -41328154.47     6116717.06     5617759.46   -38228852.12    17803518.37      -26260.77
+  0.00472643     0.25344063     0.25824535     0.25339256   130.14   127.974   25.372   -41328015.26     6116270.32     5619459.76   -38228846.79    17803518.51      -26251.22
+  0.00474923     0.25346448     0.25824520     0.25339379   131.32   127.829   25.227   -41327868.94     6115844.76     5621130.56   -38228839.04    17803532.12      -26247.32
+  0.00477688     0.25349001     0.25824468     0.25339327   132.27   127.684   25.082   -41327716.52     6115424.78     5622796.34   -38228823.43    17803534.91      -26272.04
+  0.00479712     0.25350989     0.25824341     0.25339188   133.84   127.539   24.937   -41327556.52     6114996.39     5624491.40   -38228806.97    17803543.80      -26271.17
+  0.00482297     0.25353008     0.25824311     0.25339342   134.87   127.394   24.792   -41327404.65     6114568.34     5626138.95   -38228784.74    17803544.93      -26290.96
+  0.00484615     0.25354976     0.25824255     0.25339387   139.64   127.249   24.647   -41327263.27     6114121.84     5627808.20   -38228778.00    17803552.94      -26294.68
+  0.00486940     0.25356575     0.25824252     0.25339291   138.25   127.104   24.502   -41327109.62     6113682.34     5629439.77   -38228775.16    17803576.56      -26296.83
+  0.00489056     0.25358002     0.25824077     0.25339441   138.90   126.959   24.357   -41326971.84     6113255.09     5631091.17   -38228747.55    17803579.40      -26294.82
+  0.00491389     0.25359451     0.25824197     0.25339379   141.21   126.814   24.212   -41326810.19     6112813.94     5632730.99   -38228737.63    17803577.42      -26304.97
+  0.00493871     0.25360674     0.25824070     0.25339396   143.63   126.669   24.067   -41326674.90     6112381.06     5634357.45   -38228706.92    17803596.03      -26323.05
+  0.00496170     0.25361808     0.25824142     0.25339359   145.23   126.524   23.922   -41326533.10     6111969.08     5635987.00   -38228694.08    17803605.11      -26342.77
+  0.00498769     0.25362605     0.25824069     0.25339260   148.60   126.379   23.777   -41326392.58     6111520.37     5637594.98   -38228680.24    17803625.01      -26328.57
+  0.00500982     0.25363239     0.25823947     0.25339151   149.18   126.234   23.632   -41326243.20     6111080.70     5639194.34   -38228649.99    17803635.84      -26326.62
+  0.00503303     0.25363988     0.25823945     0.25339202   149.61   126.089   23.487   -41326104.78     6110650.60     5640806.42   -38228645.85    17803651.48      -26331.59
+  0.00505535     0.25364761     0.25823859     0.25339519   149.82   125.944   23.342   -41325962.81     6110213.99     5642409.58   -38228622.60    17803634.55      -26350.56
+  0.00507966     0.25364929     0.25823856     0.25339360   151.86   125.799   23.197   -41325828.60     6109765.83     5643998.54   -38228624.40    17803656.47      -26369.76
+  0.00510309     0.25365324     0.25823903     0.25339241   154.48   125.654   23.052   -41325691.87     6109345.36     5645562.16   -38228596.92    17803663.63      -26373.68
+  0.00512698     0.25365400     0.25823777     0.25339420   157.53   125.509   22.907   -41325554.05     6108917.02     5647153.34   -38228582.15    17803668.03      -26368.32
+  0.00515020     0.25365450     0.25823495     0.25339449   155.69   125.364   22.762   -41325412.21     6108479.85     5648719.82   -38228580.82    17803679.04      -26376.81
+  0.00517416     0.25365399     0.25823613     0.25339186   155.98   125.219   22.617   -41325290.81     6108040.10     5650298.57   -38228546.42    17803680.68      -26381.50
+  0.00519733     0.25365174     0.25823734     0.25339359   161.31   125.074   22.472   -41325142.24     6107610.59     5651834.11   -38228554.75    17803680.06      -26395.94
+  0.00521746     0.25364672     0.25823768     0.25339211   161.48   124.929   22.327   -41325005.72     6107176.08     5653392.04   -38228520.99    17803698.19      -26395.23
+  0.00524296     0.25364349     0.25823656     0.25339214   161.94   124.784   22.182   -41324877.01     6106730.41     5654922.42   -38228523.04    17803711.47      -26411.51
+  0.00526773     0.25363825     0.25823706     0.25339112   162.00   124.639   22.037   -41324745.25     6106286.53     5656466.51   -38228510.03    17803714.81      -26423.71
+  0.00528814     0.25363330     0.25823507     0.25339227   163.44   124.494   21.892   -41324627.08     6105862.07     5657990.64   -38228485.73    17803728.96      -26422.02
+  0.00531305     0.25362812     0.25823539     0.25339285   165.07   124.349   21.747   -41324482.79     6105422.13     5659502.93   -38228466.39    17803729.71      -26419.70
+  0.00533793     0.25361963     0.25823402     0.25339141   165.91   124.204   21.602   -41324357.35     6104985.13     5661032.24   -38228461.37    17803728.02      -26423.65
+  0.00531754     0.25369096     0.25823503     0.25339002   165.65   124.236   21.804   -41324221.62     6104530.19     5662532.63   -38228435.01    17803752.22      -26442.60
+  0.00529685     0.25376117     0.25823311     0.25339109   164.80   124.268   22.007   -41324088.15     6104110.74     5664027.55   -38228416.42    17803761.74      -26444.33
+  0.00527716     0.25383374     0.25823576     0.25339141   164.81   124.300   22.209   -41323969.41     6103666.25     5665528.43   -38228396.90    17803760.93      -26445.88
+  0.00525799     0.25390400     0.25823429     0.25339158   163.11   124.332   22.412   -41323857.78     6103222.80     5666998.45   -38228386.93    17803777.66      -26466.97
+  0.00524067     0.25397468     0.25823296     0.25339259   163.58   124.364   22.614   -41323723.14     6102775.04     5668490.89   -38228387.96    17803773.72      -26465.68
+  0.00521954     0.25404657     0.25823311     0.25339029   163.77   124.396   22.817   -41323599.46     6102332.05     5669979.45   -38228363.28    17803778.49      -26465.55
+  0.00519837     0.25411584     0.25823196     0.25339092   161.34   124.428   23.019   -41323486.08     6101901.11     5671444.27   -38228360.32    17803777.03      -26480.01
+  0.00518028     0.25418649     0.25823169     0.25339070   160.23   124.461   23.222   -41323353.31     6101449.98     5672905.57   -38228336.95    17803804.39      -26469.32
+  0.00516005     0.25425709     0.25823148     0.25339151   161.21   124.493   23.424   -41323230.77     6101011.10     5674342.37   -38228313.86    17803795.24      -26499.11
+  0.00514143     0.25432815     0.25823090     0.25339153   157.44   124.525   23.627   -41323114.72     6100579.22     5675792.15   -38228290.24    17803820.28      -26488.90
+  0.00512328     0.25439870     0.25823183     0.25339204   158.23   124.557   23.829   -41323004.38     6100125.51     5677226.51   -38228289.52    17803816.25      -26495.61
+  0.00510193     0.25446826     0.25823126     0.25339047   156.85   124.589   24.032   -41322878.76     6099695.89     5678668.27   -38228265.66    17803806.47      -26510.21
+  0.00508152     0.25453556     0.25823198     0.25339147   158.03   124.621   24.234   -41322754.32     6099242.97     5680096.75   -38228251.13    17803838.01      -26502.69
+  0.00506455     0.25460697     0.25822996     0.25339337   156.95   124.653   24.437   -41322652.33     6098801.90     5681531.25   -38228243.62    17803846.17      -26522.69
+  0.00504177     0.25467752     0.25822852     0.25339060   153.81   124.685   24.640   -41322527.21     6098361.47     5682941.77   -38228220.26    17803837.42      -26533.07
+  0.00502323     0.25474339     0.25822794     0.25339033   153.79   124.717   24.842   -41322411.17     6097930.07     5684335.75   -38228207.70    17803855.62      -26528.60
+  0.00500424     0.25481196     0.25823116     0.25339199   151.54   124.749   25.045   -41322308.53     6097476.27     5685735.21   -38228192.63    17803894.16      -26536.12
+  0.00498240     0.25487984     0.25822898     0.25339031   150.11   124.781   25.247   -41322206.59     6097030.03     5687122.59   -38228198.30    17803861.32      -26530.91
+  0.00496111     0.25494461     0.25822863     0.25339097   151.07   124.813   25.450   -41322076.13     6096581.36     5688526.76   -38228145.62    17803882.00      -26557.60
+  0.00494251     0.25501067     0.25823046     0.25339207   149.85   124.845   25.652   -41321976.83     6096147.10     5689887.49   -38228127.58    17803887.59      -26554.42
+  0.00492376     0.25507603     0.25822772     0.25339131   148.20   124.878   25.855   -41321860.00     6095720.63     5691251.41   -38228140.71    17803914.86      -26565.64
+  0.00490390     0.25513733     0.25822821     0.25339142   147.28   124.910   26.057   -41321763.27     6095272.71     5692622.46   -38228110.85    17803907.14      -26572.86
+  0.00488194     0.25520280     0.25822824     0.25339217   144.31   124.942   26.260   -41321649.98     6094808.00     5693985.52   -38228107.11    17803914.50      -26564.85
+  0.00486233     0.25526250     0.25822638     0.25339100   142.00   124.974   26.462   -41321527.96     6094371.22     5695346.73   -38228072.73    17803918.88      -26583.89
+  0.00484293     0.25532328     0.25822750     0.25339078   141.48   125.006   26.665   -41321413.96     6093930.71     5696674.84   -38228073.65    17803921.41      -26578.06
+  0.00482236     0.25538069     0.25822810     0.25338903   137.17   125.038   26.867   -41321324.14     6093486.86     5698015.73   -38228057.73    17803932.43      -26578.68
+  0.00480293     0.25543740     0.25822734     0.25338942   135.36   125.070   27.070   -41321221.74     6093036.90     5699350.03   -38228035.92    17803940.17      -26616.01
+  0.00478040     0.25549199     0.25822609     0.25338878   134.89   125.102   27.273   -41321123.11     6092597.92     5700669.76   -38228007.72    17803958.61      -26590.46
+  0.00476053     0.25554412     0.25822648     0.25338983   132.32   125.134   27.475   -41321035.59     6092143.88     5701990.22   -38228016.11    17803940.74      -26597.53
+  0.00474201     0.25559534     0.25822765     0.25339014   128.47   125.166   27.678   -41320907.84     6091688.29     5703310.84   -38227982.01    17803961.79      -26623.68
+  0.00471965     0.25564104     0.25822492     0.25338961   126.33   125.198   27.880   -41320810.96     6091255.93     5704606.94   -38227972.96    17803986.72      -26628.23
+  0.00470217     0.25568503     0.25822675     0.25338990   124.35   125.230   28.083   -41320717.54     6090799.31     5705910.20   -38227970.09    17803988.69      -26622.10
+  0.00468000     0.25572354     0.25822623     0.25339054   120.33   125.262   28.285   -41320625.62     6090355.28     5707190.35   -38227970.59    17803976.96      -26626.70
+  0.00466080     0.25576067     0.25822653     0.25338811   115.23   125.295   28.488   -41320509.33     6089913.02     5708476.68   -38227931.34    17804006.26      -26631.35
+  0.00463904     0.25579382     0.25822288     0.25338881   114.20   125.327   28.690   -41320429.89     6089470.16     5709745.84   -38227921.90    17804008.60      -26633.24
+  0.00462033     0.25582412     0.25822396     0.25339077   108.95   125.359   28.893   -41320332.07     6089012.76     5711017.16   -38227894.27    17804012.62      -26638.61
+  0.00459961     0.25584862     0.25822624     0.25338846   106.94   125.391   29.095   -41320240.13     6088571.86     5712274.64   -38227879.88    17804006.99      -26660.77
+  0.00457815     0.25586865     0.25822368     0.25338898   101.91   125.423   29.298   -41320114.54     6088107.96     5713533.82   -38227873.99    17804023.07      -26656.98
+  0.00455997     0.25588211     0.25822374     0.25338918    97.98   125.455   29.500   -41320046.94     6087686.99     5714788.18   -38227880.13    17804006.69      -26658.67
+  0.00453849     0.25589394     0.25822625     0.25338863    95.99   125.487   29.703   -41319955.91     6087232.45     5716027.79   -38227854.32    17804043.24      -26674.59
+  0.00451702     0.25589962     0.25822423     0.25338915    91.40   125.519   29.906   -41319873.79     6086767.69     5717260.05   -38227832.42    17804046.54      -26687.01
+  0.00449543     0.25590123     0.25822418     0.25338822    86.95   125.551   30.108   -41319766.54     6086326.51     5718501.36   -38227807.26    17804037.30      -26676.57
+  0.00447719     0.25589804     0.25822326     0.25339091    84.63   125.583   30.311   -41319670.21     6085871.75     5719701.68   -38227791.50    17804050.18      -26687.50
+  0.00445510     0.25589057     0.25822435     0.25338828    80.54   125.615   30.513   -41319608.98     6085432.68     5720930.56   -38227786.35    17804046.11      -26701.13
+  0.00443570     0.25587679     0.25822342     0.25338906    77.39   125.647   30.716   -41319509.23     6084991.44     5722131.13   -38227765.06    17804069.20      -26692.89
+  0.00441626     0.25585925     0.25822274     0.25338925    72.39   125.679   30.918   -41319431.25     6084526.56     5723352.79   -38227753.83    17804081.76      -26679.89
+  0.00439327     0.25584154     0.25822318     0.25338819    70.95   125.712   31.121   -41319351.26     6084079.16     5724524.74   -38227735.70    17804077.81      -26699.10
+  0.00437277     0.25581870     0.25822369     0.25338931    65.88   125.744   31.323   -41319247.51     6083634.78     5725721.84   -38227719.89    17804093.50      -26679.76
+  0.00435046     0.25579165     0.25822285     0.25338737    64.29   125.776   31.526   -41319177.90     6083177.51     5726906.01   -38227709.78    17804111.25      -26713.00
+  0.00433271     0.25576176     0.25822204     0.25338707    61.63   125.808   31.728   -41319111.76     6082722.08     5728067.82   -38227691.35    17804097.19      -26699.59
+  0.00431265     0.25572923     0.25822200     0.25338864    57.43   125.840   31.931   -41319008.13     6082289.22     5729256.24   -38227661.15    17804104.78      -26719.55
+  0.00429004     0.25569741     0.25822278     0.25338632    56.48   125.872   32.133   -41318947.35     6081827.08     5730392.97   -38227679.27    17804111.34      -26725.25
+  0.00426989     0.25566112     0.25822282     0.25338803    54.19   125.904   32.336   -41318847.75     6081399.99     5731547.80   -38227650.68    17804113.15      -26720.37
+  0.00425139     0.25562070     0.25822204     0.25338785    53.37   125.936   32.538   -41318780.27     6080943.74     5732693.70   -38227628.84    17804135.61      -26746.17
+  0.00422963     0.25558213     0.25822302     0.25338811    51.35   125.968   32.741   -41318693.42     6080480.20     5733851.43   -38227606.76    17804130.72      -26743.21
+  0.00420956     0.25554319     0.25822082     0.25338649    47.60   126.000   32.944   -41318617.02     6080028.49     5734972.94   -38227589.27    17804143.77      -26745.06
+  0.00418774     0.25549800     0.25822116     0.25338681    48.32   126.032   33.146   -41318540.67     6079588.42     5736106.17   -38227590.06    17804151.57      -26743.27
+  0.00416779     0.25545772     0.25822295     0.25338775    43.13   126.064   33.349   -41318461.61     6079115.04     5737212.26   -38227587.47    17804145.72      -26757.33
+  0.00414776     0.25541172     0.25822310     0.25338759    43.13   126.097   33.551   -41318393.38     6078668.33     5738345.50   -38227557.65    17804163.29      -26753.52
+  0.00412531     0.25536657     0.25822182     0.25338711    42.77   126.129   33.754   -41318316.74     6078227.39     5739439.56   -38227543.07    17804160.03      -26748.30
+  0.00410639     0.25532045     0.25822180     0.25338786    41.17   126.161   33.956   -41318263.33     6077762.63     5740540.91   -38227528.93    17804166.57      -26761.39
+  0.00408391     0.25527298     0.25821914     0.25338744    38.67   126.193   34.159   -41318180.74     6077315.11     5741629.66   -38227505.60    17804165.08      -26783.89
+  0.00406538     0.25522492     0.25822212     0.25338509    38.77   126.225   34.361   -41318103.05     6076856.67     5742708.77   -38227498.20    17804192.94      -26780.35
+  0.00404341     0.25517786     0.25821977     0.25338600    36.88   126.257   34.564   -41318038.95     6076411.08     5743781.78   -38227475.49    17804189.06      -26768.36
+  0.00402257     0.25512923     0.25822063     0.25338570    35.78   126.289   34.766   -41317980.22     6075957.53     5744862.62   -38227464.95    17804189.35      -26801.58
+  0.00400191     0.25507829     0.25821981     0.25338651    36.38   126.321   34.969   -41317898.66     6075496.16     5745928.11   -38227460.02    17804201.89      -26789.19
+  0.00398244     0.25502984     0.25822199     0.25338651    33.65   126.353   35.171   -41317852.43     6075037.31     5746968.06   -38227438.15    17804201.33      -26799.99
+  0.00396018     0.25497888     0.25822068     0.25338562    33.10   126.385   35.374   -41317774.09     6074603.30     5748023.51   -38227443.11    17804206.25      -26796.51
+  0.00393925     0.25492986     0.25821920     0.25338627    32.84   126.417   35.577   -41317712.66     6074129.88     5749053.25   -38227401.32    17804215.82      -26799.78
+  0.00391880     0.25487986     0.25822080     0.25338673    31.33   126.449   35.779   -41317647.45     6073690.06     5750125.15   -38227396.43    17804222.90      -26798.69
+  0.00389846     0.25482927     0.25822051     0.25338626    29.93   126.481   35.982   -41317585.96     6073224.21     5751134.28   -38227384.19    17804230.70      -26810.66
+  0.00387542     0.25477874     0.25821966     0.25338686    28.66   126.514   36.184   -41317524.99     6072775.92     5752161.50   -38227369.00    17804239.38      -26812.10
+  0.00385644     0.25472924     0.25821984     0.25338436    28.97   126.546   36.387   -41317451.04     6072318.27     5753163.70   -38227358.07    17804240.04      -26820.89
+  0.00383351     0.25467819     0.25821897     0.25338770    29.02   126.578   36.589   -41317404.97     6071874.10     5754178.95   -38227331.53    17804255.36      -26812.54
+  0.00381315     0.25462521     0.25821868     0.25338898    27.83   126.610   36.792   -41317349.54     6071406.46     5755179.87   -38227309.59    17804263.38      -26825.68
+  0.00379354     0.25457465     0.25822017     0.25338616    27.86   126.642   36.994   -41317290.66     6070978.01     5756206.64   -38227300.31    17804257.60      -26845.09
+  0.00377423     0.25452394     0.25821866     0.25338552    26.96   126.674   37.197   -41317224.85     6070507.14     5757174.44   -38227276.12    17804274.35      -26852.99
+  0.00375317     0.25447232     0.25821829     0.25338641    25.65   126.706   37.399   -41317179.04     6070061.45     5758142.51   -38227279.62    17804279.46      -26844.10
+  0.00373284     0.25442064     0.25821836     0.25338666    25.44   126.738   37.602   -41317124.58     6069591.82     5759130.92   -38227260.07    17804283.03      -26857.02
+  0.00371248     0.25436935     0.25822166     0.25338566    25.37   126.770   37.804   -41317076.95     6069139.30     5760085.40   -38227252.02    17804285.78      -26841.36
+  0.00368974     0.25431691     0.25821860     0.25338513    25.90   126.802   38.007   -41317023.39     6068697.08     5761034.10   -38227235.74    17804291.55      -26856.89
+  0.00367077     0.25426666     0.25821972     0.25338652    26.20   126.834   38.209   -41316959.05     6068248.09     5762029.29   -38227218.26    17804306.06      -26859.70

+ 2 - 86
XzXdDw.App/UserControl/CtrlCg.Designer.cs

@@ -29,21 +29,10 @@ namespace XdCxRhDW.App.UserControl
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlCg));
             this.gridCg = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.popupMenu2 = new DevExpress.XtraBars.PopupMenu(this.components);
-            this.btnDel = new DevExpress.XtraBars.BarButtonItem();
-            this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
-            this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
-            this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
             ((System.ComponentModel.ISupportInitialize)(this.gridCg)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
             this.SuspendLayout();
             // 
             // gridCg
@@ -61,84 +50,18 @@ namespace XdCxRhDW.App.UserControl
             // 
             this.gridView1.GridControl = this.gridCg;
             this.gridView1.Name = "gridView1";
-            this.gridView1.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gridView1_PopupMenuShowing);
             // 
-            // popupMenu2
-            // 
-            this.popupMenu2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnDel)});
-            this.popupMenu2.Manager = this.barManager1;
-            this.popupMenu2.Name = "popupMenu2";
-            // 
-            // btnDel
-            // 
-            this.btnDel.Caption = "删除";
-            this.btnDel.Id = 0;
-            this.btnDel.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnDel.ImageOptions.SvgImage")));
-            this.btnDel.Name = "btnDel";
-            this.btnDel.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnDel_ItemClick);
-            // 
-            // barManager1
-            // 
-            this.barManager1.DockControls.Add(this.barDockControlTop);
-            this.barManager1.DockControls.Add(this.barDockControlBottom);
-            this.barManager1.DockControls.Add(this.barDockControlLeft);
-            this.barManager1.DockControls.Add(this.barDockControlRight);
-            this.barManager1.Form = this;
-            this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.btnDel});
-            this.barManager1.MaxItemId = 1;
-            // 
-            // barDockControlTop
-            // 
-            this.barDockControlTop.CausesValidation = false;
-            this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
-            this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlTop.Manager = this.barManager1;
-            this.barDockControlTop.Size = new System.Drawing.Size(873, 0);
-            // 
-            // barDockControlBottom
-            // 
-            this.barDockControlBottom.CausesValidation = false;
-            this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.barDockControlBottom.Location = new System.Drawing.Point(0, 467);
-            this.barDockControlBottom.Manager = this.barManager1;
-            this.barDockControlBottom.Size = new System.Drawing.Size(873, 0);
-            // 
-            // barDockControlLeft
-            // 
-            this.barDockControlLeft.CausesValidation = false;
-            this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
-            this.barDockControlLeft.Location = new System.Drawing.Point(0, 0);
-            this.barDockControlLeft.Manager = this.barManager1;
-            this.barDockControlLeft.Size = new System.Drawing.Size(0, 467);
-            // 
-            // barDockControlRight
-            // 
-            this.barDockControlRight.CausesValidation = false;
-            this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
-            this.barDockControlRight.Location = new System.Drawing.Point(873, 0);
-            this.barDockControlRight.Manager = this.barManager1;
-            this.barDockControlRight.Size = new System.Drawing.Size(0, 467);
-            // 
-            // CtrlCgRes
+            // CtrlCg
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.Controls.Add(this.gridCg);
-            this.Controls.Add(this.barDockControlLeft);
-            this.Controls.Add(this.barDockControlRight);
-            this.Controls.Add(this.barDockControlBottom);
-            this.Controls.Add(this.barDockControlTop);
-            this.Name = "CtrlCgRes";
+            this.Name = "CtrlCg";
             this.Size = new System.Drawing.Size(873, 467);
             this.Load += new System.EventHandler(this.CtrlCg_Load);
             ((System.ComponentModel.ISupportInitialize)(this.gridCg)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.popupMenu2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
             this.ResumeLayout(false);
-            this.PerformLayout();
 
         }
 
@@ -146,12 +69,5 @@ namespace XdCxRhDW.App.UserControl
 
         private DevExpress.XtraGrid.GridControl gridCg;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraBars.PopupMenu popupMenu2;
-        private DevExpress.XtraBars.BarManager barManager1;
-        private DevExpress.XtraBars.BarDockControl barDockControlTop;
-        private DevExpress.XtraBars.BarDockControl barDockControlBottom;
-        private DevExpress.XtraBars.BarDockControl barDockControlLeft;
-        private DevExpress.XtraBars.BarDockControl barDockControlRight;
-        private DevExpress.XtraBars.BarButtonItem btnDel;
     }
 }

+ 28 - 36
XzXdDw.App/UserControl/CtrlCg.cs

@@ -1,6 +1,7 @@
 using DevExpress.XtraEditors;
 using DevExpress.XtraExport.Helpers;
 using DevExpress.XtraGrid.Views.Grid;
+using DxHelper;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
@@ -20,58 +21,49 @@ namespace XdCxRhDW.App.UserControl
 {
     public partial class CtrlCg : DevExpress.XtraEditors.XtraUserControl
     {
-        List<CgRes> listCg = new List<CgRes>();
         public CtrlCg()
         {
             InitializeComponent();
         }
 
-        private  void CtrlCg_Load(object sender, EventArgs e)
+        private async void CtrlCg_Load(object sender, EventArgs e)
         {
-            gridCg.Init().UseFilter().UseMultiSelect().UseRowNumber();
-            gridCg.DataSource = listCg;
-        }
-
-        private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
-        {
-            if (gridView1.FocusedRowHandle < 0) return;
-            if (!gridView1.GetSelectedRows().Any())
-            {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            }
-            else
+            gridCg.Init().UseFilter().UseMultiSelect().UseRowNumber()
+            .AddMenu("删除", SvgHelper.CreateClose(), async () =>
             {
-                btnDel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
-            }
-            popupMenu2.ShowPopup(MousePosition);
-        }
-
-        private async void btnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            try
-            {
-                var ids = gridView1.GetSelectedRows();
-                using (RHDWContext db = new RHDWContext())
+                try
                 {
-                    foreach (var id in ids)
+                    var ids = gridView1.GetSelectedRows();
+                    using (RHDWContext db = new RHDWContext())
                     {
-                        var item = gridView1.GetRow(id) as CgRes;
-                        var delItem = await db.CgRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (delItem != null)
+                        foreach (var id in ids)
                         {
-                            db.CgRes.Remove(delItem);
+                            var item = gridView1.GetRow(id) as CgRes;
+                            var delItem = await db.CgRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
+                            if (delItem != null)
+                            {
+                                db.CgRes.Remove(delItem);
+                            }
                         }
+                        await db.SaveChangesAsync();
                     }
-                    await db.SaveChangesAsync();
+                    gridView1.DeleteSelectedRows();
+
                 }
-                gridView1.DeleteSelectedRows();
+                catch (Exception ex)
+                {
+                    Serilog.Log.Error("删除结果失败", ex);
+                    XtraMessageBox.Show("删除结果失败");
+                }
+            });
 
-            }
-            catch (Exception ex)
+            //查询已有的定位记录
+            using (RHDWContext db = new RHDWContext())
             {
-                Serilog.Log.Error("删除结果失败", ex);
-                XtraMessageBox.Show("删除结果失败");
+                List<CgRes> list = await db.CgRes.ToListAsync();
+                this.gridCg.DataSource = list;
             }
         }
+
     }
 }

+ 0 - 28
XzXdDw.App/UserControl/CtrlCg.resx

@@ -117,32 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="popupMenu2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="btnDel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD4DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
-        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
-        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
-        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTE4LjgsMTZsOC45
-        LTguOWMwLjQtMC40LDAuNC0xLDAtMS40bC0xLjQtMS40Yy0wLjQtMC40LTEtMC40LTEuNCwwTDE2LDEz
-        LjJMNy4xLDQuM2MtMC40LTAuNC0xLTAuNC0xLjQsMCAgTDQuMyw1LjdjLTAuNCwwLjQtMC40LDEsMCwx
-        LjRsOC45LDguOWwtOC45LDguOWMtMC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSww
-        LjQsMS40LDBsOC45LTguOWw4LjksOC45ICBjMC40LDAuNCwxLDAuNCwxLjQsMGwxLjQtMS40YzAuNC0w
-        LjQsMC40LTEsMC0xLjRMMTguOCwxNnoiIGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
-</value>
-  </data>
-  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>151, 17</value>
-  </metadata>
 </root>

+ 79 - 10
XzXdDw.App/UserControl/CtrlPosXd.Designer.cs

@@ -32,18 +32,28 @@ namespace XdCxRhDW.App.UserControl
             this.gridPos = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             this.mapControl1 = new DevExpress.XtraMap.MapControl();
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.splitterItem1 = new DevExpress.XtraLayout.SplitterItem();
             ((System.ComponentModel.ISupportInitialize)(this.gridPos)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.mapControl1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.splitterItem1)).BeginInit();
             this.SuspendLayout();
             // 
             // gridPos
             // 
-            this.gridPos.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.gridPos.Location = new System.Drawing.Point(0, 250);
+            this.gridPos.Location = new System.Drawing.Point(12, 276);
             this.gridPos.MainView = this.gridView1;
             this.gridPos.Name = "gridPos";
-            this.gridPos.Size = new System.Drawing.Size(577, 163);
+            this.gridPos.Size = new System.Drawing.Size(553, 125);
             this.gridPos.TabIndex = 1;
             this.gridPos.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gridView1});
@@ -55,24 +65,78 @@ namespace XdCxRhDW.App.UserControl
             // 
             // mapControl1
             // 
-            this.mapControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.mapControl1.Location = new System.Drawing.Point(0, 0);
+            this.mapControl1.Location = new System.Drawing.Point(12, 12);
             this.mapControl1.Name = "mapControl1";
-            this.mapControl1.Size = new System.Drawing.Size(577, 250);
+            this.mapControl1.Size = new System.Drawing.Size(553, 248);
             this.mapControl1.TabIndex = 2;
             // 
-            // CtrlXdPos
+            // layoutControl1
+            // 
+            this.layoutControl1.Controls.Add(this.gridPos);
+            this.layoutControl1.Controls.Add(this.mapControl1);
+            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(973, 124, 650, 400);
+            this.layoutControl1.Root = this.Root;
+            this.layoutControl1.Size = new System.Drawing.Size(577, 413);
+            this.layoutControl1.TabIndex = 3;
+            this.layoutControl1.Text = "layoutControl1";
+            // 
+            // Root
+            // 
+            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.Root.GroupBordersVisible = false;
+            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem1,
+            this.layoutControlItem2,
+            this.splitterItem1});
+            this.Root.Name = "Root";
+            this.Root.Size = new System.Drawing.Size(577, 413);
+            this.Root.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.mapControl1;
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(557, 252);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.gridPos;
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 264);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(557, 129);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem2.TextVisible = false;
+            // 
+            // splitterItem1
+            // 
+            this.splitterItem1.AllowHotTrack = true;
+            this.splitterItem1.Location = new System.Drawing.Point(0, 252);
+            this.splitterItem1.Name = "splitterItem1";
+            this.splitterItem1.Size = new System.Drawing.Size(557, 12);
+            // 
+            // CtrlPosXd
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.mapControl1);
-            this.Controls.Add(this.gridPos);
-            this.Name = "CtrlXdPos";
+            this.Controls.Add(this.layoutControl1);
+            this.Name = "CtrlPosXd";
             this.Size = new System.Drawing.Size(577, 413);
             this.Load += new System.EventHandler(this.CtrlXdPos_Load);
             ((System.ComponentModel.ISupportInitialize)(this.gridPos)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.mapControl1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.splitterItem1)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -82,5 +146,10 @@ namespace XdCxRhDW.App.UserControl
         private DevExpress.XtraGrid.GridControl gridPos;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraMap.MapControl mapControl1;
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.SplitterItem splitterItem1;
     }
 }

+ 137 - 4
XzXdDw.App/UserControl/CtrlPosXd.cs

@@ -1,33 +1,74 @@
 using DevExpress.XtraEditors;
+using DevExpress.XtraExport.Helpers;
 using DevExpress.XtraGrid.Views.Grid;
+using DxHelper;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
+using System.Data.Entity;
 using System.Drawing;
+using System.IO;
 using System.Linq;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
+using System.Windows.Controls;
 using System.Windows.Documents;
 using System.Windows.Forms;
+using XdCxRhDW.App.Api;
+using XdCxRhDW.App.EFContext;
 using XdCxRhDW.App.Model;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
 
 namespace XdCxRhDW.App.UserControl
 {
+    /// <summary>
+    /// 星地定位
+    /// </summary>
     public partial class CtrlPosXd : DevExpress.XtraEditors.XtraUserControl
     {
-        List<PosRes> list = new List<PosRes>();
+
         public CtrlPosXd()
         {
             InitializeComponent();
         }
 
-        private  void CtrlXdPos_Load(object sender, EventArgs e)
+        private async void CtrlXdPos_Load(object sender, EventArgs e)
         {
             try
             {
-                gridPos.Init().UseFilter().UseRowNumber();
-                gridPos.DataSource = list;
+                gridPos.Init().UseMultiSelect().UseFilter().UseRowNumber()
+                    .AddMenu("删除", SvgHelper.CreateClose(), async () =>
+                    {
+                        try
+                        {
+                            var ids = gridView1.GetSelectedRows();
+                            using (RHDWContext db = new RHDWContext())
+                            {
+                                foreach (var id in ids)
+                                {
+                                    var item = gridView1.GetRow(id) as PosRes;
+                                    var delItem = await db.PosRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
+                                    if (delItem != null)
+                                    {
+                                        db.PosRes.Remove(delItem);
+                                    }
+                                }
+                                await db.SaveChangesAsync();
+                            }
+                            gridView1.DeleteSelectedRows();
+
+                        }
+                        catch (Exception ex)
+                        {
+                            Serilog.Log.Error("删除结果失败", ex);
+                            XtraMessageBox.Show("删除结果失败");
+                        }
+                    })
+                    .AddMenu("加载仿真数据", SvgHelper.LoadFromFile("Image\\LoadData.svg"), LoadTestData)
+                    .AddMenu("停止加载", SvgHelper.LoadFromFile("Image\\Stop.svg"), () => stoped = true);
+
                 mapControl1.UseDefalutOptions()
                //.UseCluster()//定位点使用内置聚合
                .UseClearAll()
@@ -39,7 +80,27 @@ namespace XdCxRhDW.App.UserControl
                .UseDrawRect(rect =>
                {
                    (double startLon, double startLat, double centerLon, double centerLat, double endLon, double endLat, double lonRange, double latRange) = rect;
+                   //此处处理时差初值预测
                });
+
+                mapControl1.AddMapMenu("加载仿真数据", SvgHelper.LoadFromFile("Image\\LoadData.svg"), (lon, lat) => LoadTestData())
+                    .AddMapMenu("停止加载", SvgHelper.LoadFromFile("Image\\Stop.svg"), (lon, lat) => stoped = true)
+                    .AddMapMenuEx("测试按钮1", SvgHelper.LoadFromFile("Image\\LoadData.svg").ToImage(16, 16), (lon, lat) =>
+                    {
+
+                    })
+                    .AddMapMenu("测试按钮2", null, (lon, lat) =>
+                    {
+
+                    });
+
+                //查询已有的定位记录
+                using (RHDWContext db = new RHDWContext())
+                {
+                    List<PosRes> list = await db.PosRes.ToListAsync();
+                    this.gridPos.DataSource = list;
+                    mapControl1.SetPosDataSource(list);
+                }
             }
             catch (Exception ex)
             {
@@ -47,5 +108,77 @@ namespace XdCxRhDW.App.UserControl
                 XtraMessageBox.Show("查询定位结果失败");
             }
         }
+        bool stoped = false;
+        private async void LoadTestData()
+        {
+            stoped = false;
+
+            //在列表控件中全选+右键可以删除所有测试结果
+            using (RHDWContext db = new RHDWContext())
+            {
+                var listTx = db.TxInfos.ToList();
+                var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                Random r = new Random();
+                foreach (var item in lines)
+                {
+                    if (stoped) break;
+                    var items = item.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                    var sxDto = Convert.ToDouble(items[0]);
+                    var xdDto = Convert.ToDouble(items[1]);
+                    var mainYbDto = Convert.ToDouble(items[2]);
+                    var adjaYbDto = Convert.ToDouble(items[3]);
+                    var mainX = Convert.ToDouble(items[7]);
+                    var mainY = Convert.ToDouble(items[8]);
+                    var mainZ = Convert.ToDouble(items[9]);
+                    var adjaX = Convert.ToDouble(items[10]);
+                    var adjaY = Convert.ToDouble(items[11]);
+                    var adjaZ = Convert.ToDouble(items[12]);
+                    var cgRes = new CgRes()
+                    {
+                        SigTime = DateTime.Now,
+                        DtoSx = sxDto * 1e6,
+                        DfoSx = 200 + r.Next(1, 5) + Math.Round(r.NextDouble(), 3),
+                        SnrSx = r.Next(18, 24) + Math.Round(r.NextDouble(), 1),
+                        DtoCdb = xdDto * 1e6,
+                        DfoCdb = 600 + r.Next(1, 5) + Math.Round(r.NextDouble(), 3),
+                        SnrCdb = r.Next(22, 32) + Math.Round(r.NextDouble(), 1),
+                        YbMain = mainYbDto * 1e6,
+                        YbAdja = adjaYbDto * 1e6,
+                        MainX = mainX,
+                        MainY = mainY,
+                        MainZ = mainZ,
+                        AdjaX = adjaX,
+                        AdjaY = adjaY,
+                        AdjaZ = adjaZ,
+                    };
+                    db.CgRes.Add(cgRes);//参估结果入库
+
+                    var res = PosApi.X2D1_POS(cgRes, listTx);
+                    PosRes posRes = new PosRes()
+                    {
+                        SigTime = cgRes.SigTime,
+                        CgResID = cgRes.ID,
+                        TarName = "未知目标",
+                        TsName = "DAMA-225-173ms",
+                        PosLon = res[0],
+                        PosLat = res[1],
+                        MirrLon = res[3],
+                        MirrLat = res[4],
+                    };
+                    db.PosRes.Add(posRes);//定位结果入库
+
+                    //更新定位结果UI列表和地图
+                    var currentTask = gridView1.GetFocusedRow() as TaskInfo;
+                    var ds = this.gridPos.DataSource as List<PosRes>;
+                    ds.Insert(0, posRes);
+                    this.Invoke(new Action(() =>
+                    {
+                        gridView1.RefreshData();
+                        mapControl1.AddPosItem(posRes);
+                    }));
+                    await Task.Delay(200);
+                }
+            }
+        }
     }
 }

+ 81 - 12
XzXdDw.App/UserControl/CtrlPosXz.Designer.cs

@@ -32,18 +32,28 @@ namespace XdCxRhDW.App.UserControl
             this.gridPos = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             this.mapControl1 = new DevExpress.XtraMap.MapControl();
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.splitterItem1 = new DevExpress.XtraLayout.SplitterItem();
             ((System.ComponentModel.ISupportInitialize)(this.gridPos)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.mapControl1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.splitterItem1)).BeginInit();
             this.SuspendLayout();
             // 
             // gridPos
             // 
-            this.gridPos.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.gridPos.Location = new System.Drawing.Point(0, 247);
+            this.gridPos.Location = new System.Drawing.Point(12, 276);
             this.gridPos.MainView = this.gridView1;
             this.gridPos.Name = "gridPos";
-            this.gridPos.Size = new System.Drawing.Size(577, 166);
+            this.gridPos.Size = new System.Drawing.Size(553, 125);
             this.gridPos.TabIndex = 1;
             this.gridPos.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gridView1});
@@ -55,24 +65,78 @@ namespace XdCxRhDW.App.UserControl
             // 
             // mapControl1
             // 
-            this.mapControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.mapControl1.Location = new System.Drawing.Point(0, 0);
+            this.mapControl1.Location = new System.Drawing.Point(12, 12);
             this.mapControl1.Name = "mapControl1";
-            this.mapControl1.Size = new System.Drawing.Size(577, 247);
-            this.mapControl1.TabIndex = 3;
+            this.mapControl1.Size = new System.Drawing.Size(553, 248);
+            this.mapControl1.TabIndex = 2;
             // 
-            // CtrlXzPos
+            // layoutControl1
+            // 
+            this.layoutControl1.Controls.Add(this.gridPos);
+            this.layoutControl1.Controls.Add(this.mapControl1);
+            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(973, 124, 650, 400);
+            this.layoutControl1.Root = this.Root;
+            this.layoutControl1.Size = new System.Drawing.Size(577, 413);
+            this.layoutControl1.TabIndex = 3;
+            this.layoutControl1.Text = "layoutControl1";
+            // 
+            // Root
+            // 
+            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.Root.GroupBordersVisible = false;
+            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem1,
+            this.layoutControlItem2,
+            this.splitterItem1});
+            this.Root.Name = "Root";
+            this.Root.Size = new System.Drawing.Size(577, 413);
+            this.Root.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.mapControl1;
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(557, 252);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.gridPos;
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 264);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(557, 129);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem2.TextVisible = false;
+            // 
+            // splitterItem1
+            // 
+            this.splitterItem1.AllowHotTrack = true;
+            this.splitterItem1.Location = new System.Drawing.Point(0, 252);
+            this.splitterItem1.Name = "splitterItem1";
+            this.splitterItem1.Size = new System.Drawing.Size(557, 12);
+            // 
+            // CtrlPosXd
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.mapControl1);
-            this.Controls.Add(this.gridPos);
-            this.Name = "CtrlXzPos";
+            this.Controls.Add(this.layoutControl1);
+            this.Name = "CtrlPosXd";
             this.Size = new System.Drawing.Size(577, 413);
-            this.Load += new System.EventHandler(this.CtrlXzPos_Load);
+            this.Load += new System.EventHandler(this.CtrlXdPos_Load);
             ((System.ComponentModel.ISupportInitialize)(this.gridPos)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.mapControl1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.splitterItem1)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -82,5 +146,10 @@ namespace XdCxRhDW.App.UserControl
         private DevExpress.XtraGrid.GridControl gridPos;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraMap.MapControl mapControl1;
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.SplitterItem splitterItem1;
     }
 }

+ 145 - 13
XzXdDw.App/UserControl/CtrlPosXz.cs

@@ -1,45 +1,106 @@
 using DevExpress.XtraEditors;
+using DevExpress.XtraExport.Helpers;
 using DevExpress.XtraGrid.Views.Grid;
+using DxHelper;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
+using System.Data.Entity;
 using System.Drawing;
+using System.IO;
 using System.Linq;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
+using System.Windows.Controls;
 using System.Windows.Documents;
 using System.Windows.Forms;
+using XdCxRhDW.App.Api;
+using XdCxRhDW.App.EFContext;
 using XdCxRhDW.App.Model;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
 
 namespace XdCxRhDW.App.UserControl
 {
+    /// <summary>
+    /// 星座定位
+    /// </summary>
     public partial class CtrlPosXz : DevExpress.XtraEditors.XtraUserControl
     {
-        List<PosRes> list = new List<PosRes>();
+
         public CtrlPosXz()
         {
             InitializeComponent();
         }
 
-        private void CtrlXzPos_Load(object sender, EventArgs e)
+        private async void CtrlXdPos_Load(object sender, EventArgs e)
         {
             try
             {
-                gridPos.Init().UseFilter().UseRowNumber();
-                gridPos.DataSource = list;
+                gridPos.Init().UseMultiSelect().UseFilter().UseRowNumber()
+                    .AddMenu("删除", SvgHelper.CreateClose(), async () =>
+                    {
+                        try
+                        {
+                            var ids = gridView1.GetSelectedRows();
+                            using (RHDWContext db = new RHDWContext())
+                            {
+                                foreach (var id in ids)
+                                {
+                                    var item = gridView1.GetRow(id) as PosRes;
+                                    var delItem = await db.PosRes.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
+                                    if (delItem != null)
+                                    {
+                                        db.PosRes.Remove(delItem);
+                                    }
+                                }
+                                await db.SaveChangesAsync();
+                            }
+                            gridView1.DeleteSelectedRows();
+
+                        }
+                        catch (Exception ex)
+                        {
+                            Serilog.Log.Error("删除结果失败", ex);
+                            XtraMessageBox.Show("删除结果失败");
+                        }
+                    })
+                    .AddMenu("加载仿真数据", SvgHelper.LoadFromFile("Image\\LoadData.svg"), LoadTestData)
+                    .AddMenu("停止加载", SvgHelper.LoadFromFile("Image\\Stop.svg"), () => stoped = true);
+
                 mapControl1.UseDefalutOptions()
-                    //.UseCluster()//定位点使用内置聚合
-                    .UseClearAll()
-                    .UseDistanceLine()
-                    .UseMarkDot()
-                    .UseExportImg()
-                    .UseExportXlsx()
-                    .UseExportCsv()
-                    .UseDrawRect(rect =>
+               //.UseCluster()//定位点使用内置聚合
+               .UseClearAll()
+               .UseDistanceLine()
+               .UseMarkDot()
+               .UseExportImg()
+               .UseExportXlsx()
+               .UseExportCsv()
+               .UseDrawRect(rect =>
+               {
+                   (double startLon, double startLat, double centerLon, double centerLat, double endLon, double endLat, double lonRange, double latRange) = rect;
+                   //此处处理时差初值预测
+               });
+
+                mapControl1.AddMapMenu("加载仿真数据", SvgHelper.LoadFromFile("Image\\LoadData.svg"), (lon, lat) => LoadTestData())
+                    .AddMapMenu("停止加载", SvgHelper.LoadFromFile("Image\\Stop.svg"), (lon, lat) => stoped = true)
+                    .AddMapMenuEx("测试按钮1", SvgHelper.LoadFromFile("Image\\LoadData.svg").ToImage(16, 16), (lon, lat) =>
                     {
-                        (double startLon, double startLat, double centerLon, double centerLat, double endLon, double endLat, double lonRange, double latRange) = rect;
+
+                    })
+                    .AddMapMenu("测试按钮2", null, (lon, lat) =>
+                    {
+
                     });
+
+                //查询已有的定位记录
+                using (RHDWContext db = new RHDWContext())
+                {
+                    List<PosRes> list = await db.PosRes.ToListAsync();
+                    this.gridPos.DataSource = list;
+                    mapControl1.SetPosDataSource(list);
+                }
             }
             catch (Exception ex)
             {
@@ -47,5 +108,76 @@ namespace XdCxRhDW.App.UserControl
                 XtraMessageBox.Show("查询定位结果失败");
             }
         }
+        bool stoped = false;
+        private async void LoadTestData()
+        {
+            stoped = false;
+            //在列表控件中全选+右键可以删除所有测试结果
+            using (RHDWContext db = new RHDWContext())
+            {
+                var listTx = db.TxInfos.ToList();
+                var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                Random r = new Random();
+                foreach (var item in lines)
+                {
+                    if (stoped) break;
+                    var items = item.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                    var sxDto = Convert.ToDouble(items[0]);
+                    var xdDto = Convert.ToDouble(items[1]);
+                    var mainYbDto = Convert.ToDouble(items[2]);
+                    var adjaYbDto = Convert.ToDouble(items[3]);
+                    var mainX = Convert.ToDouble(items[7]);
+                    var mainY = Convert.ToDouble(items[8]);
+                    var mainZ = Convert.ToDouble(items[9]);
+                    var adjaX = Convert.ToDouble(items[10]);
+                    var adjaY = Convert.ToDouble(items[11]);
+                    var adjaZ = Convert.ToDouble(items[12]);
+                    var cgRes = new CgRes()
+                    {
+                        SigTime = DateTime.Now,
+                        DtoSx = sxDto * 1e6,
+                        DfoSx = 200 + r.Next(1, 5) + Math.Round(r.NextDouble(), 3),
+                        SnrSx = r.Next(18, 24) + Math.Round(r.NextDouble(), 1),
+                        DtoCdb = xdDto * 1e6,
+                        DfoCdb = 600 + r.Next(1, 5) + Math.Round(r.NextDouble(), 3),
+                        SnrCdb = r.Next(22, 32) + Math.Round(r.NextDouble(), 1),
+                        YbMain = mainYbDto * 1e6,
+                        YbAdja = adjaYbDto * 1e6,
+                        MainX = mainX,
+                        MainY = mainY,
+                        MainZ = mainZ,
+                        AdjaX = adjaX,
+                        AdjaY = adjaY,
+                        AdjaZ = adjaZ,
+                    };
+                    db.CgRes.Add(cgRes);//参估结果入库
+
+                    var res = PosApi.X2D1_POS(cgRes, listTx);
+                    PosRes posRes = new PosRes()
+                    {
+                        SigTime = cgRes.SigTime,
+                        CgResID = cgRes.ID,
+                        TarName = "未知目标",
+                        TsName = "DAMA-225-173ms",
+                        PosLon = res[0],
+                        PosLat = res[1],
+                        MirrLon = res[3],
+                        MirrLat = res[4],
+                    };
+                    db.PosRes.Add(posRes);//定位结果入库
+
+                    //更新定位结果UI列表和地图
+                    var currentTask = gridView1.GetFocusedRow() as TaskInfo;
+                    var ds = this.gridPos.DataSource as List<PosRes>;
+                    ds.Insert(0, posRes);
+                    this.Invoke(new Action(() =>
+                    {
+                        gridView1.RefreshData();
+                        mapControl1.AddPosItem(posRes);
+                    }));
+                    await Task.Delay(200);
+                }
+            }
+        }
     }
 }

+ 1 - 1
XzXdDw.App/UserControl/CtrlSat.cs

@@ -29,7 +29,7 @@ namespace XdCxRhDW.App.UserControl
         {
             try
             {
-                gridSat.Init().UseFilter().UseMultiSelect().UseRowNumber();
+                gridSat.Init().UseMultiSelect().UseFilter().UseRowNumber();
                 gridSat.DataSource = list;
                 using (RHDWContext db = new RHDWContext())
                 {

+ 21 - 9
XzXdDw.App/XzXdDw.App.csproj

@@ -198,6 +198,12 @@
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="TcpServer.cs" />
+    <Compile Include="UserControl\CtrlPosXz.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserControl\CtrlPosXz.Designer.cs">
+      <DependentUpon>CtrlPosXz.cs</DependentUpon>
+    </Compile>
     <Compile Include="UserControl\CtrlWcpj.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -222,12 +228,6 @@
     <Compile Include="UserControl\CtrlPosXd.Designer.cs">
       <DependentUpon>CtrlPosXd.cs</DependentUpon>
     </Compile>
-    <Compile Include="UserControl\CtrlPosXz.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\CtrlPosXz.Designer.cs">
-      <DependentUpon>CtrlPosXz.cs</DependentUpon>
-    </Compile>
     <Compile Include="UserControl\CtrlSat.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -270,6 +270,9 @@
       <DependentUpon>Resources.resx</DependentUpon>
       <DesignTime>True</DesignTime>
     </Compile>
+    <EmbeddedResource Include="UserControl\CtrlPosXz.resx">
+      <DependentUpon>CtrlPosXz.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\CtrlWcpj.resx">
       <DependentUpon>CtrlWcpj.cs</DependentUpon>
     </EmbeddedResource>
@@ -282,9 +285,6 @@
     <EmbeddedResource Include="UserControl\CtrlPosXd.resx">
       <DependentUpon>CtrlPosXd.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\CtrlPosXz.resx">
-      <DependentUpon>CtrlPosXz.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\CtrlSat.resx">
       <DependentUpon>CtrlSat.cs</DependentUpon>
     </EmbeddedResource>
@@ -304,6 +304,9 @@
       <DependentUpon>Settings.settings</DependentUpon>
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
     </Compile>
+    <None Include="Simulation_Data2023.dat">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <None Include="DLL_SC_2X1D_DW.dll">
@@ -314,6 +317,15 @@
     </None>
   </ItemGroup>
   <ItemGroup>
+    <None Include="Image\LoadData.svg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="Image\Del.svg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="Image\Stop.svg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <Content Include="定位.ico" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />