gongqiuhong преди 1 година
родител
ревизия
e1ff02e870
променени са 3 файла, в които са добавени 140 реда и са изтрити 42 реда
  1. BIN
      Database.db
  2. 11 7
      XdCxRhDW.Sender/Form1.Designer.cs
  3. 129 35
      XdCxRhDW.Sender/Form1.cs

BIN
Database.db


+ 11 - 7
XdCxRhDW.Sender/Form1.Designer.cs

@@ -82,7 +82,7 @@
             // 
             // txtTskType
             // 
-            this.txtTskType.Location = new System.Drawing.Point(334, 19);
+            this.txtTskType.Location = new System.Drawing.Point(334, 20);
             this.txtTskType.MenuManager = this.barManager1;
             this.txtTskType.Name = "txtTskType";
             this.txtTskType.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
@@ -90,8 +90,12 @@
             this.txtTskType.Properties.Items.AddRange(new DevExpress.XtraEditors.Controls.ImageComboBoxItem[] {
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem("一星一地测向定位", "X1D1CX", -1),
             new DevExpress.XtraEditors.Controls.ImageComboBoxItem("两星一地定位", "X2D1", -1),
-            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("融合定位", "RH", -1)});
-            this.txtTskType.Size = new System.Drawing.Size(102, 20);
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("两星一地无参定位", "X2D1NoPar", -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("融合定位", "RH", -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("三星双时差定位", "X3TwoDto", -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("三星双频差定位", "X3TwoDfo", -1),
+            new DevExpress.XtraEditors.Controls.ImageComboBoxItem("双星时频差定位", "X2Dfo", -1)});
+            this.txtTskType.Size = new System.Drawing.Size(102, 22);
             this.txtTskType.StyleController = this.layoutControl1;
             this.txtTskType.TabIndex = 6;
             // 
@@ -157,21 +161,21 @@
             // 
             // localPort1
             // 
-            this.localPort1.Location = new System.Drawing.Point(221, 19);
+            this.localPort1.Location = new System.Drawing.Point(221, 20);
             this.localPort1.MenuManager = this.barManager1;
             this.localPort1.Name = "localPort1";
             this.localPort1.Properties.NullValuePrompt = "空值表示随机端口";
-            this.localPort1.Size = new System.Drawing.Size(109, 20);
+            this.localPort1.Size = new System.Drawing.Size(109, 22);
             this.localPort1.StyleController = this.layoutControl1;
             this.localPort1.TabIndex = 5;
             // 
             // txtAddr1
             // 
             this.txtAddr1.EditValue = "127.0.0.1:8092";
-            this.txtAddr1.Location = new System.Drawing.Point(2, 19);
+            this.txtAddr1.Location = new System.Drawing.Point(2, 20);
             this.txtAddr1.Name = "txtAddr1";
             this.txtAddr1.Properties.NullValuePrompt = "127.0.0.1:16010";
-            this.txtAddr1.Size = new System.Drawing.Size(215, 20);
+            this.txtAddr1.Size = new System.Drawing.Size(215, 22);
             this.txtAddr1.StyleController = this.layoutControl1;
             this.txtAddr1.TabIndex = 4;
             // 

+ 129 - 35
XdCxRhDW.Sender/Form1.cs

@@ -49,57 +49,128 @@ namespace XdCxRhDW.Sender
                     {
                         try
                         {
-                            var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                            int idx = 1;
+
                             string url = string.Format("http://{0}:{1}/Api/Pos/", ip, port);
                             if (tskType == "X1D1CX")//一星一地测向定位
                             {
+                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                int idx = 1;
                                 url += "PosX1D1Async";
+                                foreach (var line in lines)
+                                {
+                                    if (string.IsNullOrWhiteSpace(line)) continue;
+                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                    X1D1PosDto dto = new X1D1PosDto()
+                                    {
+                                        SigTime = DateTime.Now,
+                                        XdDto = Convert.ToDouble(items[1]),
+                                        MainYbDto = Convert.ToDouble(items[2]),
+                                        CxRes = Convert.ToDouble(items[4]),
+                                        MainX = Convert.ToDouble(items[7]),
+                                        MainY = Convert.ToDouble(items[8]),
+                                        MainZ = Convert.ToDouble(items[9]),
+                                        SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon"),
+                                        SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat"),
+                                        CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon"),
+                                        CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat"),
+                                        CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon"),
+                                        CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat"),
+                                        RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon"),
+                                        RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat"),
+                                    };
+                                    var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
+                                    var response = await client.PostAsync(url, content);
+                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                }
                             }
                             if (tskType == "X2D1")//两星一地定位
                             {
+                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                int idx = 1;
                                 url += "PosX2D1Async";
+                                foreach (var line in lines)
+                                {
+                                    if (string.IsNullOrWhiteSpace(line)) continue;
+                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                    X2D1PosDto X2D1PosDto = new X2D1PosDto();
+                                    X2D1PosDto.SigTime = DateTime.Now;
+                                    X2D1PosDto.SxDto = Convert.ToDouble(items[0]);
+                                    X2D1PosDto.XdDto = Convert.ToDouble(items[1]);
+                                    X2D1PosDto.MainYbDto = Convert.ToDouble(items[2]);
+                                    X2D1PosDto.AdjaYbDto = Convert.ToDouble(items[3]);
+                                    X2D1PosDto.MainX = Convert.ToDouble(items[7]);
+                                    X2D1PosDto.MainY = Convert.ToDouble(items[8]);
+                                    X2D1PosDto.MainZ = Convert.ToDouble(items[9]);
+                                    X2D1PosDto.AdjaX = Convert.ToDouble(items[10]);
+                                    X2D1PosDto.AdjaY = Convert.ToDouble(items[11]);
+                                    X2D1PosDto.AdjaZ = Convert.ToDouble(items[12]);
+                                    X2D1PosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon");
+                                    X2D1PosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat");
+                                    X2D1PosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon");
+                                    X2D1PosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat");
+                                    X2D1PosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon");
+                                    X2D1PosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat");
+                                    var content = new StringContent(JsonConvert.SerializeObject(X2D1PosDto), System.Text.Encoding.UTF8, "application/json");
+                                    var response = await client.PostAsync(url, content);
+                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                }
+                            }
+                            if (tskType == "X2D1NoPar")//两星一地无参定位
+                            {
+                                url += "PosX2D1NoParAsync";
+                                var res = X2D1NoPar();
+                                var content = new StringContent(JsonConvert.SerializeObject(res), System.Text.Encoding.UTF8, "application/json");
+                                var response = await client.PostAsync(url, content);
+                                Log($"已向[{txtAddr1.Text}]发送两星一地无参定位仿真结果");
                             }
                             if (tskType == "RH")//融合定位
                             {
+                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                int idx = 1;
                                 url += "PosRHAsync";
+                                foreach (var line in lines)
+                                {
+                                    if (string.IsNullOrWhiteSpace(line)) continue;
+                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                    RHPosDto RHPosDto = new RHPosDto();
+                                    RHPosDto.SigTime = DateTime.Now;
+                                    RHPosDto.SxDto = Convert.ToDouble(items[0]);
+                                    RHPosDto.XdDto = Convert.ToDouble(items[1]);
+                                    RHPosDto.MainYbDto = Convert.ToDouble(items[2]);
+                                    RHPosDto.AdjaYbDto = Convert.ToDouble(items[3]);
+                                    RHPosDto.CxRes = Convert.ToDouble(items[4]);
+                                    RHPosDto.MainX = Convert.ToDouble(items[7]);
+                                    RHPosDto.MainY = Convert.ToDouble(items[8]);
+                                    RHPosDto.MainZ = Convert.ToDouble(items[9]);
+                                    RHPosDto.AdjaX = Convert.ToDouble(items[10]);
+                                    RHPosDto.AdjaY = Convert.ToDouble(items[11]);
+                                    RHPosDto.AdjaZ = Convert.ToDouble(items[12]);
+                                    RHPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon");
+                                    RHPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat");
+                                    RHPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon");
+                                    RHPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat");
+                                    RHPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon");
+                                    RHPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat");
+                                    RHPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon");
+                                    RHPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat");
+                                    var content = new StringContent(JsonConvert.SerializeObject(RHPosDto), System.Text.Encoding.UTF8, "application/json");
+                                    var response = await client.PostAsync(url, content);
+                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                }
                             }
-
-                            var stationRes = new StationResDto()
+                            if (tskType == "X3TwoDto")//三星双时差定位
+                            {
+                                url += "PosX3TwoDtoAsync";
+                            }
+                            if (tskType == "X3TwoDfo")//三星双频差定位
                             {
-                                SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon"),
-                                SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat"),
-                                CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon"),
-                                CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat"),
-                                CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon"),
-                                CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat"),
-                                RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon"),
-                                RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat"),
-                            };
-                            foreach (var line in lines)
+                                url += "PosX3TwoDfoAsync";
+                            }
+                            if (tskType == "X2Dfo")//双星时频差定位
                             {
-                                if (string.IsNullOrWhiteSpace(line)) continue;
-                                var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                SendDto dto = new SendDto()
-                                {
-                                    SigTime = DateTime.Now,
-                                    SxDto = Convert.ToDouble(items[0]),
-                                    XdDto = Convert.ToDouble(items[1]),
-                                    MainYbDto = Convert.ToDouble(items[2]),
-                                    AdjaYbDto = Convert.ToDouble(items[3]),
-                                    CxRes = Convert.ToDouble(items[4]),
-                                    MainX = Convert.ToDouble(items[7]),
-                                    MainY = Convert.ToDouble(items[8]),
-                                    MainZ = Convert.ToDouble(items[9]),
-                                    AdjaX = Convert.ToDouble(items[10]),
-                                    AdjaY = Convert.ToDouble(items[11]),
-                                    AdjaZ = Convert.ToDouble(items[12]),
-                                    StationResInfo = stationRes
-                                };
-                                var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
-                                var response = await client.PostAsync(url, content);
-                                Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                url += "PosX2DtoDfoAsync";
                             }
+
                         }
                         catch (Exception ex)
                         {
@@ -125,6 +196,28 @@ namespace XdCxRhDW.Sender
             }
         }
 
+        /// <summary>
+        /// 两星一地定位无参
+        /// </summary>
+        private X2D1PosDto X2D1NoPar()
+        {
+            X2D1PosDto X2D1PosDto = new X2D1PosDto();
+            X2D1PosDto.SigTime = DateTime.Now;
+            X2D1PosDto.SxDto = 2198.485309353;
+            X2D1PosDto.XdDto = 245961.726007262;
+            X2D1PosDto.MainX = -38209016;
+            X2D1PosDto.MainY = 17858458;
+            X2D1PosDto.MainZ = 13250;
+            X2D1PosDto.AdjaX = 4750323;
+            X2D1PosDto.AdjaY = 41902879;
+            X2D1PosDto.AdjaZ = 50515;
+            X2D1PosDto.SatTxLon = 118.8833;
+            X2D1PosDto.SatTxLat = 32.0667;
+            X2D1PosDto.CdbTxLon = 109.4082;
+            X2D1PosDto.CdbTxLat = 18.3878;
+            return X2D1PosDto;
+        }
+
 
         private void Log(string msg)
         {
@@ -152,6 +245,7 @@ namespace XdCxRhDW.Sender
             catch
             { }
         }
+
         private void Log(Exception ex)
         {
             try