Преглед на файлове

Merge branch 'master' of http://139.155.15.221:3000/zoulei/XdCxRhDW

zoulei преди 1 година
родител
ревизия
fe330c882e

+ 567 - 0
XdCxRhDW.App/EditForms/X1D1PosParamEditor.Designer.cs

@@ -0,0 +1,567 @@
+namespace XdCxRhDW.App.EditForms
+{
+    partial class X1D1PosParamEditor
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions6 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject21 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject22 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject23 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject24 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions3 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject9 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions4 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject13 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject14 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject15 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject16 = new DevExpress.Utils.SerializableAppearanceObject();
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.sigTime = new DevExpress.XtraEditors.DateEdit();
+            this.txtDtoCdb = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtYbMain = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtsatStation = new DevExpress.XtraEditors.TextEdit();
+            this.txtcdbStation = new DevExpress.XtraEditors.TextEdit();
+            this.txtRefLocation = new DevExpress.XtraEditors.TextEdit();
+            this.txtMainX = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtMainY = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtMainZ = new DevExpress.XtraEditors.ButtonEdit();
+            this.btnOK = new DevExpress.XtraEditors.SimpleButton();
+            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
+            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.sigTime.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.sigTime.Properties.CalendarTimeProperties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDtoCdb.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtYbMain.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtsatStation.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtcdbStation.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtRefLocation.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtMainX.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtMainY.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtMainZ.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            this.layoutControl1.Controls.Add(this.labelControl1);
+            this.layoutControl1.Controls.Add(this.sigTime);
+            this.layoutControl1.Controls.Add(this.txtDtoCdb);
+            this.layoutControl1.Controls.Add(this.txtYbMain);
+            this.layoutControl1.Controls.Add(this.txtsatStation);
+            this.layoutControl1.Controls.Add(this.txtcdbStation);
+            this.layoutControl1.Controls.Add(this.txtRefLocation);
+            this.layoutControl1.Controls.Add(this.txtMainX);
+            this.layoutControl1.Controls.Add(this.txtMainY);
+            this.layoutControl1.Controls.Add(this.txtMainZ);
+            this.layoutControl1.Controls.Add(this.btnOK);
+            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(831, 101, 650, 400);
+            this.layoutControl1.Root = this.Root;
+            this.layoutControl1.Size = new System.Drawing.Size(564, 259);
+            this.layoutControl1.TabIndex = 0;
+            this.layoutControl1.Text = "layoutControl1";
+            // 
+            // sigTime
+            // 
+            this.sigTime.EditValue = null;
+            this.sigTime.Location = new System.Drawing.Point(375, 95);
+            this.sigTime.Name = "sigTime";
+            this.sigTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.sigTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.sigTime.Properties.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
+            this.sigTime.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
+            this.sigTime.Properties.EditFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
+            this.sigTime.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
+            this.sigTime.Properties.MaskSettings.Set("mask", "yyyy-MM-dd HH:mm:ss");
+            this.sigTime.Size = new System.Drawing.Size(167, 20);
+            this.sigTime.StyleController = this.layoutControl1;
+            this.sigTime.TabIndex = 9;
+            // 
+            // txtDtoCdb
+            // 
+            this.txtDtoCdb.Location = new System.Drawing.Point(22, 95);
+            this.txtDtoCdb.Name = "txtDtoCdb";
+            this.txtDtoCdb.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions6, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject21, serializableAppearanceObject22, serializableAppearanceObject23, serializableAppearanceObject24, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtDtoCdb.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtDtoCdb.Properties.MaskSettings.Set("mask", "f3");
+            this.txtDtoCdb.Properties.MaxLength = 10;
+            this.txtDtoCdb.Properties.NullValuePrompt = "必需";
+            this.txtDtoCdb.Size = new System.Drawing.Size(156, 23);
+            this.txtDtoCdb.StyleController = this.layoutControl1;
+            this.txtDtoCdb.TabIndex = 6;
+            // 
+            // txtYbMain
+            // 
+            this.txtYbMain.Location = new System.Drawing.Point(182, 95);
+            this.txtYbMain.Name = "txtYbMain";
+            this.txtYbMain.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtYbMain.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtYbMain.Properties.MaskSettings.Set("mask", "f3");
+            this.txtYbMain.Properties.MaxLength = 10;
+            this.txtYbMain.Size = new System.Drawing.Size(189, 23);
+            this.txtYbMain.StyleController = this.layoutControl1;
+            this.txtYbMain.TabIndex = 6;
+            // 
+            // txtsatStation
+            // 
+            this.txtsatStation.EditValue = "";
+            this.txtsatStation.Location = new System.Drawing.Point(22, 45);
+            this.txtsatStation.Name = "txtsatStation";
+            this.txtsatStation.Properties.AutoHeight = false;
+            this.txtsatStation.Properties.MaxLength = 20;
+            this.txtsatStation.Size = new System.Drawing.Size(156, 20);
+            this.txtsatStation.StyleController = this.layoutControl1;
+            this.txtsatStation.TabIndex = 10;
+            this.txtsatStation.ToolTip = "经度纬度之间用英文逗号隔开";
+            // 
+            // txtcdbStation
+            // 
+            this.txtcdbStation.EditValue = "";
+            this.txtcdbStation.Location = new System.Drawing.Point(182, 45);
+            this.txtcdbStation.Name = "txtcdbStation";
+            this.txtcdbStation.Properties.AutoHeight = false;
+            this.txtcdbStation.Properties.MaxLength = 20;
+            this.txtcdbStation.Size = new System.Drawing.Size(189, 20);
+            this.txtcdbStation.StyleController = this.layoutControl1;
+            this.txtcdbStation.TabIndex = 10;
+            this.txtcdbStation.ToolTip = "经度纬度之间用英文逗号隔开";
+            // 
+            // txtRefLocation
+            // 
+            this.txtRefLocation.EditValue = "";
+            this.txtRefLocation.Location = new System.Drawing.Point(375, 45);
+            this.txtRefLocation.Name = "txtRefLocation";
+            this.txtRefLocation.Properties.AutoHeight = false;
+            this.txtRefLocation.Properties.MaxLength = 20;
+            this.txtRefLocation.Size = new System.Drawing.Size(167, 20);
+            this.txtRefLocation.StyleController = this.layoutControl1;
+            this.txtRefLocation.TabIndex = 10;
+            this.txtRefLocation.ToolTip = "经度纬度之间用英文逗号隔开";
+            // 
+            // txtMainX
+            // 
+            this.txtMainX.Location = new System.Drawing.Point(22, 146);
+            this.txtMainX.Name = "txtMainX";
+            this.txtMainX.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtMainX.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtMainX.Properties.MaskSettings.Set("mask", "f3");
+            this.txtMainX.Properties.MaxLength = 10;
+            this.txtMainX.Properties.NullValuePrompt = "必需";
+            this.txtMainX.Size = new System.Drawing.Size(156, 20);
+            this.txtMainX.StyleController = this.layoutControl1;
+            this.txtMainX.TabIndex = 6;
+            // 
+            // txtMainY
+            // 
+            this.txtMainY.Location = new System.Drawing.Point(182, 146);
+            this.txtMainY.Name = "txtMainY";
+            this.txtMainY.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtMainY.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtMainY.Properties.MaskSettings.Set("mask", "f3");
+            this.txtMainY.Properties.MaxLength = 10;
+            this.txtMainY.Properties.NullValuePrompt = "必需";
+            this.txtMainY.Size = new System.Drawing.Size(189, 20);
+            this.txtMainY.StyleController = this.layoutControl1;
+            this.txtMainY.TabIndex = 6;
+            // 
+            // txtMainZ
+            // 
+            this.txtMainZ.Location = new System.Drawing.Point(375, 146);
+            this.txtMainZ.Name = "txtMainZ";
+            this.txtMainZ.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtMainZ.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtMainZ.Properties.MaskSettings.Set("mask", "f3");
+            this.txtMainZ.Properties.MaxLength = 10;
+            this.txtMainZ.Properties.NullValuePrompt = "必需";
+            this.txtMainZ.Size = new System.Drawing.Size(167, 20);
+            this.txtMainZ.StyleController = this.layoutControl1;
+            this.txtMainZ.TabIndex = 6;
+            // 
+            // btnOK
+            // 
+            this.btnOK.Location = new System.Drawing.Point(375, 177);
+            this.btnOK.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.btnOK.Name = "btnOK";
+            this.btnOK.Size = new System.Drawing.Size(167, 22);
+            this.btnOK.StyleController = this.layoutControl1;
+            this.btnOK.TabIndex = 12;
+            this.btnOK.Text = "确定";
+            this.btnOK.Click += new System.EventHandler(this.btnOk_Click);
+            // 
+            // Root
+            // 
+            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            this.Root.GroupBordersVisible = false;
+            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.emptySpaceItem3,
+            this.layoutControlItem6,
+            this.layoutControlItem14,
+            this.layoutControlItem9,
+            this.layoutControlItem10,
+            this.layoutControlItem3,
+            this.layoutControlItem11,
+            this.layoutControlItem12,
+            this.layoutControlItem17,
+            this.emptySpaceItem4,
+            this.layoutControlItem7,
+            this.layoutControlItem1,
+            this.layoutControlItem2,
+            this.emptySpaceItem1});
+            this.Root.Name = "Root";
+            this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 20, 20, 20);
+            this.Root.Size = new System.Drawing.Size(564, 259);
+            this.Root.TextVisible = false;
+            // 
+            // emptySpaceItem3
+            // 
+            this.emptySpaceItem3.AllowHotTrack = false;
+            this.emptySpaceItem3.Location = new System.Drawing.Point(0, 148);
+            this.emptySpaceItem3.Name = "emptySpaceItem3";
+            this.emptySpaceItem3.Size = new System.Drawing.Size(160, 33);
+            this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // layoutControlItem6
+            // 
+            this.layoutControlItem6.Control = this.txtDtoCdb;
+            this.layoutControlItem6.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem6.CustomizationFormText = "轨道经度";
+            this.layoutControlItem6.Location = new System.Drawing.Point(0, 46);
+            this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem6.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem6.Name = "layoutControlItem6";
+            this.layoutControlItem6.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem6.Size = new System.Drawing.Size(160, 51);
+            this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem6.Text = "主星超短时差";
+            this.layoutControlItem6.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem6.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem14
+            // 
+            this.layoutControlItem14.Control = this.txtsatStation;
+            this.layoutControlItem14.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem14.CustomizationFormText = "参考站经纬度";
+            this.layoutControlItem14.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem14.MaxSize = new System.Drawing.Size(0, 46);
+            this.layoutControlItem14.MinSize = new System.Drawing.Size(77, 46);
+            this.layoutControlItem14.Name = "layoutControlItem14";
+            this.layoutControlItem14.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 8, 1);
+            this.layoutControlItem14.Size = new System.Drawing.Size(160, 46);
+            this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem14.Text = "接收站经纬度";
+            this.layoutControlItem14.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem14.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem9
+            // 
+            this.layoutControlItem9.Control = this.txtcdbStation;
+            this.layoutControlItem9.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem9.CustomizationFormText = "参考站经纬度";
+            this.layoutControlItem9.Location = new System.Drawing.Point(160, 0);
+            this.layoutControlItem9.MaxSize = new System.Drawing.Size(0, 46);
+            this.layoutControlItem9.MinSize = new System.Drawing.Size(77, 46);
+            this.layoutControlItem9.Name = "layoutControlItem9";
+            this.layoutControlItem9.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 8, 1);
+            this.layoutControlItem9.Size = new System.Drawing.Size(193, 46);
+            this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem9.Text = "超短波经纬度";
+            this.layoutControlItem9.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem9.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem10
+            // 
+            this.layoutControlItem10.Control = this.txtRefLocation;
+            this.layoutControlItem10.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem10.CustomizationFormText = "参考站经纬度";
+            this.layoutControlItem10.Location = new System.Drawing.Point(353, 0);
+            this.layoutControlItem10.MaxSize = new System.Drawing.Size(0, 46);
+            this.layoutControlItem10.MinSize = new System.Drawing.Size(77, 46);
+            this.layoutControlItem10.Name = "layoutControlItem10";
+            this.layoutControlItem10.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 8, 1);
+            this.layoutControlItem10.Size = new System.Drawing.Size(171, 46);
+            this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem10.Text = "参考站经纬度";
+            this.layoutControlItem10.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem10.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem3
+            // 
+            this.layoutControlItem3.Control = this.txtMainX;
+            this.layoutControlItem3.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem3.CustomizationFormText = "轨道经度";
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 97);
+            this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem3.Name = "layoutControlItem3";
+            this.layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem3.Size = new System.Drawing.Size(160, 51);
+            this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem3.Text = "主星星历X";
+            this.layoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem3.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem11
+            // 
+            this.layoutControlItem11.Control = this.txtMainY;
+            this.layoutControlItem11.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem11.CustomizationFormText = "轨道经度";
+            this.layoutControlItem11.Location = new System.Drawing.Point(160, 97);
+            this.layoutControlItem11.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem11.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem11.Name = "layoutControlItem11";
+            this.layoutControlItem11.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem11.Size = new System.Drawing.Size(193, 51);
+            this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem11.Text = "主星星历Y";
+            this.layoutControlItem11.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem11.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem12
+            // 
+            this.layoutControlItem12.Control = this.txtMainZ;
+            this.layoutControlItem12.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem12.CustomizationFormText = "轨道经度";
+            this.layoutControlItem12.Location = new System.Drawing.Point(353, 97);
+            this.layoutControlItem12.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem12.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem12.Name = "layoutControlItem12";
+            this.layoutControlItem12.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem12.Size = new System.Drawing.Size(171, 51);
+            this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem12.Text = "主星星历Z";
+            this.layoutControlItem12.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem12.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem17
+            // 
+            this.layoutControlItem17.Control = this.btnOK;
+            this.layoutControlItem17.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem17.CustomizationFormText = "layoutControlItem1";
+            this.layoutControlItem17.Location = new System.Drawing.Point(353, 148);
+            this.layoutControlItem17.Name = "layoutControlItem17";
+            this.layoutControlItem17.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 9, 2);
+            this.layoutControlItem17.Size = new System.Drawing.Size(171, 33);
+            this.layoutControlItem17.Text = "layoutControlItem1";
+            this.layoutControlItem17.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem17.TextVisible = false;
+            // 
+            // emptySpaceItem4
+            // 
+            this.emptySpaceItem4.AllowHotTrack = false;
+            this.emptySpaceItem4.Location = new System.Drawing.Point(160, 148);
+            this.emptySpaceItem4.Name = "emptySpaceItem4";
+            this.emptySpaceItem4.Size = new System.Drawing.Size(193, 33);
+            this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // layoutControlItem7
+            // 
+            this.layoutControlItem7.Control = this.txtYbMain;
+            this.layoutControlItem7.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem7.CustomizationFormText = "轨道经度";
+            this.layoutControlItem7.Location = new System.Drawing.Point(160, 46);
+            this.layoutControlItem7.MaxSize = new System.Drawing.Size(0, 51);
+            this.layoutControlItem7.MinSize = new System.Drawing.Size(54, 51);
+            this.layoutControlItem7.Name = "layoutControlItem7";
+            this.layoutControlItem7.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem7.Size = new System.Drawing.Size(193, 51);
+            this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem7.Text = "样本主星时差";
+            this.layoutControlItem7.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem7.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.sigTime;
+            this.layoutControlItem1.Location = new System.Drawing.Point(353, 46);
+            this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 54);
+            this.layoutControlItem1.MinSize = new System.Drawing.Size(76, 51);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem1.Size = new System.Drawing.Size(171, 51);
+            this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem1.Text = "信号时间";
+            this.layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // dxErrorProvider
+            // 
+            this.dxErrorProvider.ContainerControl = this;
+            // 
+            // labelControl1
+            // 
+            this.labelControl1.Location = new System.Drawing.Point(22, 203);
+            this.labelControl1.Name = "labelControl1";
+            this.labelControl1.Size = new System.Drawing.Size(70, 14);
+            this.labelControl1.StyleController = this.layoutControl1;
+            this.labelControl1.TabIndex = 13;
+            this.labelControl1.Text = "labelControl1";
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.labelControl1;
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 181);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(524, 18);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem2.TextVisible = false;
+            // 
+            // emptySpaceItem1
+            // 
+            this.emptySpaceItem1.AllowHotTrack = false;
+            this.emptySpaceItem1.Location = new System.Drawing.Point(0, 199);
+            this.emptySpaceItem1.Name = "emptySpaceItem1";
+            this.emptySpaceItem1.Size = new System.Drawing.Size(524, 20);
+            this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // X1D1PosParamEditor
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.layoutControl1);
+            this.Name = "X1D1PosParamEditor";
+            this.Size = new System.Drawing.Size(564, 259);
+            this.Load += new System.EventHandler(this.X1D1DTOParamEditor_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.sigTime.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.sigTime.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDtoCdb.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtYbMain.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtsatStation.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtcdbStation.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtRefLocation.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtMainX.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtMainY.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtMainZ.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraEditors.DateEdit sigTime;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraEditors.ButtonEdit txtDtoCdb;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
+        private DevExpress.XtraEditors.ButtonEdit txtYbMain;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
+        private DevExpress.XtraEditors.TextEdit txtsatStation;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
+        private DevExpress.XtraEditors.TextEdit txtcdbStation;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
+        private DevExpress.XtraEditors.TextEdit txtRefLocation;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
+        private DevExpress.XtraEditors.ButtonEdit txtMainX;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private DevExpress.XtraEditors.ButtonEdit txtMainY;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
+        private DevExpress.XtraEditors.ButtonEdit txtMainZ;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
+        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
+        private DevExpress.XtraEditors.SimpleButton btnOK;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem17;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
+        private DevExpress.XtraEditors.LabelControl labelControl1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
+    }
+}

+ 151 - 0
XdCxRhDW.App/EditForms/X1D1PosParamEditor.cs

@@ -0,0 +1,151 @@
+using DevExpress.Mvvm.ModuleInjection.Native;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.DXErrorProvider;
+using DevExpress.XtraLayout;
+using DevExpress.XtraMap;
+using DevExpress.XtraTreeList.Data;
+using DxHelper;
+using ExtensionsDev;
+using System;
+using System.CodeDom;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Data.Entity;
+using System.Data.Entity.Migrations;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Documents;
+using System.Windows.Forms;
+using XdCxRhDW.Core.Api;
+using XdCxRhDW.Repostory.EFContext;
+using XdCxRhDW.Repostory.Model;
+
+namespace XdCxRhDW.App.EditForms
+{
+    public partial class X1D1PosParamEditor : DevExpress.XtraEditors.XtraUserControl
+    {
+        private MapControl mapControl1;
+        private PosRes info;
+        private CgRes cg;
+        private List<SatInfo> listSat;
+        public X1D1PosParamEditor(PosRes info, MapControl mapControl)
+        {
+            InitializeComponent();
+            this.info = info;
+            this.listSat = new List<SatInfo>();
+            this.mapControl1 = mapControl;
+            //this.StartPosition = FormStartPosition.CenterParent;
+            txtsatStation.EditValueChanged += TxtsatStation_EditValueChanged;
+            txtcdbStation.EditValueChanged += TxtcdbStation_EditValueChanged;
+            txtRefLocation.EditValueChanged += TxtRefLocation_EditValueChanged;
+        }
+
+        private void TxtRefLocation_EditValueChanged(object sender, EventArgs e)
+        {
+            txtRefLocation.CheckLonLat(dxErrorProvider, "参考站");
+
+        }
+
+        private void TxtcdbStation_EditValueChanged(object sender, EventArgs e)
+        {
+            txtcdbStation.CheckLonLat(dxErrorProvider, "超短波");
+        }
+
+        private void TxtsatStation_EditValueChanged(object sender, EventArgs e)
+        {
+            txtsatStation.CheckLonLat(dxErrorProvider, "接收站");
+        }
+
+        private async void X1D1DTOParamEditor_Load(object sender, EventArgs e)
+        {
+
+            StationRes station;
+            using (RHDWContext db = new RHDWContext())
+            {
+                listSat = await db.SatInfos.ToListAsync();
+            }
+            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
+            {
+                cg = await db.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
+                station = await db.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
+            }
+            if (cg != null)
+            {
+                this.txtDtoCdb.Text = $"{cg.DtoCdb.Value:f3}";
+                this.txtYbMain.Text = $"{cg.YbMainDto.Value:f3}";
+                this.sigTime.EditValue = info.SigTime;
+                this.txtMainX.Text = $"{cg.MainX.Value:f3}";
+                this.txtMainY.Text = $"{cg.MainY.Value:f3}";
+                this.txtMainZ.Text = $"{cg.MainZ.Value:f3}";
+            }
+            if (station != null)
+            {
+                this.txtsatStation.Text = $"{station.SatTxLon:f3},{station.SatTxLat:f3}";
+                this.txtcdbStation.Text = $"{station.CdbTxLon:f3},{station.CdbTxLat:f3}";
+                this.txtRefLocation.Text = $"{station.RefLon:f3},{station.RefLat:f3}";
+            }
+        }
+
+        public bool CheckParam()
+        {
+            if (!txtsatStation.CheckLonLat(dxErrorProvider, "接收站"))
+            {
+                return false;
+            }
+            if (!txtcdbStation.CheckLonLat(dxErrorProvider, "超短波"))
+            {
+                return false;
+            }
+            if (!txtRefLocation.CheckLonLat(dxErrorProvider, "参考站"))
+            {
+                return false;
+            }
+            return true;
+        }
+
+        private void btnOk_Click(object sender, EventArgs e)
+        {
+            if (!CheckParam()) { return; }
+            try
+            {
+
+                var MsAnt = txtsatStation.GetLonLat();
+                var CDBAnt = txtcdbStation.GetLonLat();
+                var RefGeod = txtRefLocation.GetLonLat();
+
+                var DtoCdb = Convert.ToDouble(this.txtDtoCdb.Text);
+                var YbMainDto = Convert.ToDouble(this.txtYbMain.Text);
+
+                var MainX = Convert.ToDouble(this.txtMainX.Text);
+                var MainY = Convert.ToDouble(this.txtMainY.Text);
+                var MainZ = Convert.ToDouble(this.txtMainZ.Text);
+                double[] msEph = new double[] { MainX, MainY, MainZ, 0, 0, 0 };
+
+                //DtoLineXdOption dtoLineXd = new DtoLineXdOption();
+                //dtoLineXd.MsEph = msEph;
+                //dtoLineXd.MsAnt = MsAnt;
+                //dtoLineXd.CDBAnt = CDBAnt;
+                //dtoLineXd.RefGeod = RefGeod;
+                //dtoLineXd.xdDto = DtoCdb;
+                //dtoLineXd.RefDto = YbMainDto;
+                //dtoLineXd.PosLon = info.PosLon;
+                //dtoLineXd.PosLat = info.PosLat;
+
+                //var msat = listSat.FirstOrDefault(m => m.SatCode == cg.MainCode.Value)?.Sat;
+                //if (string.IsNullOrWhiteSpace(msat)) msat = cg.MainCode.Value.ToString();
+                //var xdDtoLine = PosApi.X1D1_Pos(dtoLineXd);
+                //mapControl1.DrawDtoPonit($"[{msat},超短{CDBAnt[0]}°]带参时差线", xdDtoLine);
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}");
+                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败");
+            }
+        }
+
+
+    }
+}

+ 123 - 0
XdCxRhDW.App/EditForms/X1D1PosParamEditor.resx

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="dxErrorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>

+ 40 - 41
XdCxRhDW.App/UserControl/CtrlCgRes.cs

@@ -111,12 +111,47 @@ namespace XdCxRhDW.App.UserControl
                     break;
             }
         }
-        private async Task<List<CgRes>> searchPos()
+       
+        private async void btnSearch_Click(object sender, EventArgs e)
+        {
+            if (txtTask.EditValue == null)
+            {
+                MsgBoxHelper.ShowError("请选择任务");
+                return;
+            }
+            if (txtTimeCho.SelectedText == "自定义")
+            {
+                if (txtStartTime.EditValue == null)
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"请选择信号开始时间!");
+                    return;
+                }
+                if (txtEndTime.EditValue == null)
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"请选择信号结束时间!");
+                    return;
+                }
+                if (txtStartTime.DateTime > txtEndTime.DateTime)
+                {
+                    DxHelper.MsgBoxHelper.ShowError($"开始时间不能大于结束时间!");
+                    return;
+                }
+                if ((txtEndTime.DateTime - txtStartTime.DateTime).TotalDays > 10)
+                {
+                    MsgBoxHelper.ShowWarning("时间跨度不能超过10天!");
+                    return;
+                }
+            }
+            list = await searchPos();
+            this.gridCg.DataSource = list;
+        }
+         private async Task<List<CgRes>> searchPos()
         {
             try
             {
-                DateTime start, end = DateTime.MinValue;
-                if (txtTimeCho.SelectedText == "自定义")
+                DateTime start = DateTime.MinValue;
+                DateTime end = DateTime.MinValue;
+                if (txtTimeCho.Text == "自定义")
                 {
                     start = txtStartTime.DateTime;
                     end = txtEndTime.DateTime;
@@ -138,6 +173,7 @@ namespace XdCxRhDW.App.UserControl
                             }
                             if (end != DateTime.MinValue)
                             {
+                                start = end.AddHours(-(int)txtTimeCho.EditValue);
                                 goto skip;
                             }
                         }
@@ -148,7 +184,7 @@ namespace XdCxRhDW.App.UserControl
                 {
                     return new List<CgRes>();//没有数据不查询
                 }
-                start = end.AddHours(-(int)txtTimeCho.EditValue);
+               
                 DateTime endDay = new DateTime(end.Year, end.Month, end.Day);
                 DateTime startDay = new DateTime(start.Year, start.Month, start.Day);
                 List<CgRes> list = new List<CgRes>();
@@ -173,42 +209,5 @@ namespace XdCxRhDW.App.UserControl
             return new List<CgRes>();
         }
 
-        private void btnSearch_Click(object sender, EventArgs e)
-        {
-             dataSourceCg();
-        }
-        private async void dataSourceCg()
-        {
-            if (txtTask.EditValue == null)
-            {
-                MsgBoxHelper.ShowError("请选择任务");
-                return;
-            }
-            if (txtTimeCho.SelectedText == "自定义")
-            {
-                if (txtStartTime.EditValue == null)
-                {
-                    DxHelper.MsgBoxHelper.ShowError($"请选择信号开始时间!");
-                    return;
-                }
-                if (txtEndTime.EditValue == null)
-                {
-                    DxHelper.MsgBoxHelper.ShowError($"请选择信号结束时间!");
-                    return;
-                }
-                if (txtStartTime.DateTime > txtEndTime.DateTime)
-                {
-                    DxHelper.MsgBoxHelper.ShowError($"开始时间不能大于结束时间!");
-                    return;
-                }
-                if ((txtEndTime.DateTime - txtStartTime.DateTime).TotalDays > 10)
-                {
-                    MsgBoxHelper.ShowWarning("时间跨度不能超过10天!");
-                    return;
-                }
-            }
-            list = await searchPos();
-            this.gridCg.DataSource = list;
-        }
     }
 }

+ 38 - 9
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -125,9 +125,13 @@ namespace XdCxRhDW.App.UserControl
                    {
                        UseMirr(items.ToList());
                    });
-                mapControl1.AddRectMenu<PosRes>("编辑目标", SvgHelper.LoadFromFile("Image\\Edit.svg"), items =>
+                mapControl1.AddRectMenu<PosRes>("使用镜像点", SvgHelper.LoadFromFile("Image\\Pos.svg"), items =>
+                {
+                    UseMirr(items.ToList());
+                });
+                mapControl1.AddPosMenu<PosRes>("手动定位", SvgHelper.LoadFromFile("Image\\Pos.svg"), item =>
                 {
-                    EditTarget(items.ToList());
+                    Pos(item);
                 });
                 mapControl1.AddRectMenu<PosRes>("转到列表", SvgHelper.LoadFromFile("Image\\To.svg"), items =>
                 {
@@ -937,7 +941,7 @@ namespace XdCxRhDW.App.UserControl
                 case EnumPosResType.X2D1:
                 case EnumPosResType.X2D1NoRef:
                     X2D1DTOParamEditor X2D1frm = new X2D1DTOParamEditor(item, mapControl1);
-                    DxHelper.PopupHelper.ShowPopup(X2D1frm, layoutControl1, 500); 
+                    DxHelper.PopupHelper.ShowPopup(X2D1frm, layoutControl1, 500);
                     break;
                 case EnumPosResType.X3:
                 case EnumPosResType.X3NoRef:
@@ -966,6 +970,28 @@ namespace XdCxRhDW.App.UserControl
                     break;
             }
 
+        }
+        private void Pos(PosRes item)
+        {
+            switch (item.PosResType)
+            {
+                case EnumPosResType.X1D1CX:
+                    X1D1PosParamEditor frm = new X1D1PosParamEditor(item, mapControl1);
+                    DxHelper.PopupHelper.ShowPopup(frm, layoutControl1, 500);
+                    break;
+                case EnumPosResType.X2D1:
+                case EnumPosResType.X2D1NoRef:
+
+                    break;
+                case EnumPosResType.X3:
+                case EnumPosResType.X3NoRef:
+                    break;
+                case EnumPosResType.X2Dfo:
+                    break;
+                default:
+                    break;
+            }
+
         }
         private async void DrawX3DfoLine(PosRes item)
         {
@@ -1160,15 +1186,17 @@ namespace XdCxRhDW.App.UserControl
         {
             try
             {
-                DateTime start, end = DateTime.MinValue;
-                if (txtTimeCho.SelectedText == "自定义")
+                if (!Directory.Exists("DbPart")) return new List<PosRes>();
+                DateTime end = DateTime.MinValue;
+                DateTime start = DateTime.MinValue;
+                if (txtTimeCho.Text == "自定义")
                 {
                     start = txtStartTime.DateTime;
-                    end = txtEndTime.DateTime;
+                    end = txtEndTime.DateTime; 
                 }
                 else
                 {
-                    if (!Directory.Exists("DbPart")) return new List<PosRes>();
+                   
                     var yearDirs = Directory.EnumerateDirectories(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DbPart")).OrderByDescending(p => Convert.ToInt32(new DirectoryInfo(p).Name));//年目录,倒叙排列
                     foreach (var yearDir in yearDirs)
                     {
@@ -1179,10 +1207,11 @@ namespace XdCxRhDW.App.UserControl
                             using (RHDWPartContext db = RHDWPartContext.GetContext(dayFile))
                             {
                                 if (db.PosRes.Any(p => p.TaskInfoID == tsk.ID))
-                                    end = await db.PosRes.Where(p => p.TaskInfoID == tsk.ID).MaxAsync(p => p.SigTime);
+                                   end = await db.PosRes.Where(p => p.TaskInfoID == tsk.ID).MaxAsync(p => p.SigTime);
                             }
                             if (end != DateTime.MinValue)
                             {
+                                start = end.AddHours(-(int)txtTimeCho.EditValue);
                                 goto skip;
                             }
                         }
@@ -1193,7 +1222,7 @@ namespace XdCxRhDW.App.UserControl
                 {
                     return new List<PosRes>();//没有数据不查询
                 }
-                start = end.AddHours(-(int)txtTimeCho.EditValue);
+
                 DateTime endDay = new DateTime(end.Year, end.Month, end.Day);
                 DateTime startDay = new DateTime(start.Year, start.Month, start.Day);
                 List<PosRes> list = new List<PosRes>();

+ 454 - 0
XdCxRhDW.App/UserControl/X2D1PosParam.Designer.cs

@@ -0,0 +1,454 @@
+namespace XdCxRhDW.App.UserControl
+{
+    partial class X2D1PosParam
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
+            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.btnOK = new DevExpress.XtraEditors.SimpleButton();
+            this.txtCapTime = new DevExpress.XtraEditors.DateEdit();
+            this.txtStationLocation1 = new DevExpress.XtraEditors.TextEdit();
+            this.txtRefLocation1 = new DevExpress.XtraEditors.TextEdit();
+            this.txtTleMain = new DevExpress.XtraEditors.SearchLookUpEdit();
+            this.searchLookUpEdit1View = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.txtTleAdja = new DevExpress.XtraEditors.SearchLookUpEdit();
+            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.txtDtousErr1 = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtSatLocErr1 = new DevExpress.XtraEditors.ButtonEdit();
+            this.btnClose = new DevExpress.XtraEditors.SimpleButton();
+            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
+            this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txtCapTime.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtCapTime.Properties.CalendarTimeProperties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtStationLocation1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtRefLocation1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTleMain.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTleAdja.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDtousErr1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtSatLocErr1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            this.layoutControl1.Controls.Add(this.btnOK);
+            this.layoutControl1.Controls.Add(this.txtCapTime);
+            this.layoutControl1.Controls.Add(this.txtStationLocation1);
+            this.layoutControl1.Controls.Add(this.txtRefLocation1);
+            this.layoutControl1.Controls.Add(this.txtTleMain);
+            this.layoutControl1.Controls.Add(this.txtTleAdja);
+            this.layoutControl1.Controls.Add(this.txtDtousErr1);
+            this.layoutControl1.Controls.Add(this.txtSatLocErr1);
+            this.layoutControl1.Controls.Add(this.btnClose);
+            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControl1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.layoutControl1.Name = "layoutControl1";
+            this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(993, 379, 650, 400);
+            this.layoutControl1.Root = this.Root;
+            this.layoutControl1.Size = new System.Drawing.Size(345, 390);
+            this.layoutControl1.TabIndex = 0;
+            this.layoutControl1.Text = "layoutControl1";
+            // 
+            // btnOK
+            // 
+            this.btnOK.Location = new System.Drawing.Point(174, 317);
+            this.btnOK.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.btnOK.Name = "btnOK";
+            this.btnOK.Size = new System.Drawing.Size(169, 22);
+            this.btnOK.StyleController = this.layoutControl1;
+            this.btnOK.TabIndex = 12;
+            this.btnOK.Text = "确定";
+            this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+            // 
+            // txtCapTime
+            // 
+            this.txtCapTime.EditValue = null;
+            this.txtCapTime.Location = new System.Drawing.Point(2, 108);
+            this.txtCapTime.Margin = new System.Windows.Forms.Padding(2);
+            this.txtCapTime.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtCapTime.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtCapTime.Name = "txtCapTime";
+            this.txtCapTime.Properties.AutoHeight = false;
+            this.txtCapTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtCapTime.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtCapTime.Size = new System.Drawing.Size(341, 22);
+            this.txtCapTime.StyleController = this.layoutControl1;
+            this.txtCapTime.TabIndex = 8;
+            // 
+            // txtStationLocation1
+            // 
+            this.txtStationLocation1.EditValue = "";
+            this.txtStationLocation1.Location = new System.Drawing.Point(2, 152);
+            this.txtStationLocation1.Margin = new System.Windows.Forms.Padding(2);
+            this.txtStationLocation1.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtStationLocation1.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtStationLocation1.Name = "txtStationLocation1";
+            this.txtStationLocation1.Properties.AutoHeight = false;
+            this.txtStationLocation1.Size = new System.Drawing.Size(341, 22);
+            this.txtStationLocation1.StyleController = this.layoutControl1;
+            this.txtStationLocation1.TabIndex = 11;
+            this.txtStationLocation1.ToolTip = "经度纬度之间用英文逗号隔开";
+            // 
+            // txtRefLocation1
+            // 
+            this.txtRefLocation1.EditValue = "";
+            this.txtRefLocation1.Location = new System.Drawing.Point(2, 196);
+            this.txtRefLocation1.Margin = new System.Windows.Forms.Padding(2);
+            this.txtRefLocation1.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtRefLocation1.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtRefLocation1.Name = "txtRefLocation1";
+            this.txtRefLocation1.Properties.AutoHeight = false;
+            this.txtRefLocation1.Size = new System.Drawing.Size(341, 22);
+            this.txtRefLocation1.StyleController = this.layoutControl1;
+            this.txtRefLocation1.TabIndex = 10;
+            this.txtRefLocation1.ToolTip = "经度纬度之间用英文逗号隔开";
+            // 
+            // txtTleMain
+            // 
+            this.txtTleMain.EditValue = "";
+            this.txtTleMain.Location = new System.Drawing.Point(2, 20);
+            this.txtTleMain.Margin = new System.Windows.Forms.Padding(2);
+            this.txtTleMain.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtTleMain.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtTleMain.Name = "txtTleMain";
+            this.txtTleMain.Properties.AutoHeight = false;
+            this.txtTleMain.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtTleMain.Properties.NullText = "";
+            this.txtTleMain.Properties.PopupSizeable = false;
+            this.txtTleMain.Properties.PopupView = this.searchLookUpEdit1View;
+            this.txtTleMain.Size = new System.Drawing.Size(341, 22);
+            this.txtTleMain.StyleController = this.layoutControl1;
+            this.txtTleMain.TabIndex = 4;
+            this.txtTleMain.ToolTip = "填写卫星的双行根数";
+            // 
+            // searchLookUpEdit1View
+            // 
+            this.searchLookUpEdit1View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
+            this.searchLookUpEdit1View.Name = "searchLookUpEdit1View";
+            this.searchLookUpEdit1View.OptionsEditForm.PopupEditFormWidth = 430;
+            this.searchLookUpEdit1View.OptionsSelection.EnableAppearanceFocusedCell = false;
+            this.searchLookUpEdit1View.OptionsView.ShowGroupPanel = false;
+            // 
+            // txtTleAdja
+            // 
+            this.txtTleAdja.EditValue = "";
+            this.txtTleAdja.Location = new System.Drawing.Point(2, 64);
+            this.txtTleAdja.Margin = new System.Windows.Forms.Padding(2);
+            this.txtTleAdja.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtTleAdja.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtTleAdja.Name = "txtTleAdja";
+            this.txtTleAdja.Properties.AutoHeight = false;
+            this.txtTleAdja.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txtTleAdja.Properties.NullText = "";
+            this.txtTleAdja.Properties.PopupSizeable = false;
+            this.txtTleAdja.Properties.PopupView = this.gridView1;
+            this.txtTleAdja.Size = new System.Drawing.Size(341, 22);
+            this.txtTleAdja.StyleController = this.layoutControl1;
+            this.txtTleAdja.TabIndex = 5;
+            this.txtTleAdja.ToolTip = "填写卫星的双行根数";
+            // 
+            // gridView1
+            // 
+            this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
+            this.gridView1.Name = "gridView1";
+            this.gridView1.OptionsEditForm.PopupEditFormWidth = 430;
+            this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
+            this.gridView1.OptionsView.ShowGroupPanel = false;
+            // 
+            // txtDtousErr1
+            // 
+            this.txtDtousErr1.EditValue = "";
+            this.txtDtousErr1.Location = new System.Drawing.Point(2, 240);
+            this.txtDtousErr1.Margin = new System.Windows.Forms.Padding(2);
+            this.txtDtousErr1.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtDtousErr1.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtDtousErr1.Name = "txtDtousErr1";
+            this.txtDtousErr1.Properties.AutoHeight = false;
+            this.txtDtousErr1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtDtousErr1.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtDtousErr1.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
+            this.txtDtousErr1.Properties.MaskSettings.Set("mask", "f");
+            this.txtDtousErr1.Size = new System.Drawing.Size(341, 22);
+            this.txtDtousErr1.StyleController = this.layoutControl1;
+            this.txtDtousErr1.TabIndex = 6;
+            this.txtDtousErr1.ToolTip = "时差误差";
+            // 
+            // txtSatLocErr1
+            // 
+            this.txtSatLocErr1.EditValue = "";
+            this.txtSatLocErr1.Location = new System.Drawing.Point(2, 284);
+            this.txtSatLocErr1.Margin = new System.Windows.Forms.Padding(2);
+            this.txtSatLocErr1.MaximumSize = new System.Drawing.Size(0, 22);
+            this.txtSatLocErr1.MinimumSize = new System.Drawing.Size(0, 22);
+            this.txtSatLocErr1.Name = "txtSatLocErr1";
+            this.txtSatLocErr1.Properties.AutoHeight = false;
+            this.txtSatLocErr1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "m", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtSatLocErr1.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            this.txtSatLocErr1.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
+            this.txtSatLocErr1.Properties.MaskSettings.Set("mask", "f");
+            this.txtSatLocErr1.Size = new System.Drawing.Size(341, 22);
+            this.txtSatLocErr1.StyleController = this.layoutControl1;
+            this.txtSatLocErr1.TabIndex = 6;
+            this.txtSatLocErr1.ToolTip = "星历位置误差";
+            // 
+            // btnClose
+            // 
+            this.btnClose.Location = new System.Drawing.Point(2, 317);
+            this.btnClose.Margin = new System.Windows.Forms.Padding(2);
+            this.btnClose.Name = "btnClose";
+            this.btnClose.Size = new System.Drawing.Size(168, 22);
+            this.btnClose.StyleController = this.layoutControl1;
+            this.btnClose.TabIndex = 13;
+            this.btnClose.Text = "关闭";
+            this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+            // 
+            // Root
+            // 
+            this.Root.GroupBordersVisible = false;
+            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
+            this.layoutControlItem8,
+            this.layoutControlItem9,
+            this.layoutControlItem11,
+            this.layoutControlItem14,
+            this.layoutControlItem13,
+            this.layoutControlItem4,
+            this.layoutControlItem5,
+            this.layoutControlItem1,
+            this.emptySpaceItem1,
+            this.layoutControlItem2});
+            this.Root.Name = "Root";
+            this.Root.Size = new System.Drawing.Size(345, 390);
+            this.Root.TextVisible = false;
+            // 
+            // layoutControlItem8
+            // 
+            this.layoutControlItem8.Control = this.txtTleMain;
+            this.layoutControlItem8.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem8.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem8.Name = "layoutControlItem8";
+            this.layoutControlItem8.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem8.Text = "主星星历";
+            this.layoutControlItem8.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem8.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem9
+            // 
+            this.layoutControlItem9.Control = this.txtTleAdja;
+            this.layoutControlItem9.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem9.Location = new System.Drawing.Point(0, 44);
+            this.layoutControlItem9.Name = "layoutControlItem9";
+            this.layoutControlItem9.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem9.Text = "邻星星历";
+            this.layoutControlItem9.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem9.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem11
+            // 
+            this.layoutControlItem11.Control = this.txtCapTime;
+            this.layoutControlItem11.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem11.Location = new System.Drawing.Point(0, 88);
+            this.layoutControlItem11.Name = "layoutControlItem11";
+            this.layoutControlItem11.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem11.Text = "采集时刻";
+            this.layoutControlItem11.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem11.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem14
+            // 
+            this.layoutControlItem14.Control = this.txtRefLocation1;
+            this.layoutControlItem14.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem14.Location = new System.Drawing.Point(0, 176);
+            this.layoutControlItem14.Name = "layoutControlItem14";
+            this.layoutControlItem14.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem14.Text = "参考站经纬度";
+            this.layoutControlItem14.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem14.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem13
+            // 
+            this.layoutControlItem13.Control = this.txtStationLocation1;
+            this.layoutControlItem13.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem13.Location = new System.Drawing.Point(0, 132);
+            this.layoutControlItem13.Name = "layoutControlItem13";
+            this.layoutControlItem13.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem13.Text = "超短站经纬度";
+            this.layoutControlItem13.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem13.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem4
+            // 
+            this.layoutControlItem4.Control = this.txtDtousErr1;
+            this.layoutControlItem4.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem4.CustomizationFormText = "低轨卫星X";
+            this.layoutControlItem4.Location = new System.Drawing.Point(0, 220);
+            this.layoutControlItem4.Name = "layoutControlItem4";
+            this.layoutControlItem4.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem4.Text = "时差误差";
+            this.layoutControlItem4.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem4.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem5
+            // 
+            this.layoutControlItem5.Control = this.txtSatLocErr1;
+            this.layoutControlItem5.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem5.CustomizationFormText = "低轨卫星X";
+            this.layoutControlItem5.Location = new System.Drawing.Point(0, 264);
+            this.layoutControlItem5.Name = "layoutControlItem5";
+            this.layoutControlItem5.Size = new System.Drawing.Size(345, 44);
+            this.layoutControlItem5.Text = "星历位置误差";
+            this.layoutControlItem5.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem5.TextSize = new System.Drawing.Size(72, 14);
+            // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.btnOK;
+            this.layoutControlItem1.Location = new System.Drawing.Point(172, 308);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 9, 2);
+            this.layoutControlItem1.Size = new System.Drawing.Size(173, 33);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem1.TextVisible = false;
+            // 
+            // emptySpaceItem1
+            // 
+            this.emptySpaceItem1.AllowHotTrack = false;
+            this.emptySpaceItem1.Location = new System.Drawing.Point(0, 341);
+            this.emptySpaceItem1.Name = "emptySpaceItem1";
+            this.emptySpaceItem1.Size = new System.Drawing.Size(345, 49);
+            this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.btnClose;
+            this.layoutControlItem2.Location = new System.Drawing.Point(0, 308);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 9, 2);
+            this.layoutControlItem2.Size = new System.Drawing.Size(172, 33);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem2.TextVisible = false;
+            // 
+            // X2D1GDOPParam
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.layoutControl1);
+            this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.Name = "X2D1GDOPParam";
+            this.Size = new System.Drawing.Size(345, 390);
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
+            this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.txtCapTime.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtCapTime.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtStationLocation1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtRefLocation1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTleMain.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTleAdja.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDtousErr1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtSatLocErr1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraEditors.DateEdit txtCapTime;
+        private DevExpress.XtraEditors.TextEdit txtStationLocation1;
+        private DevExpress.XtraEditors.TextEdit txtRefLocation1;
+        private DevExpress.XtraEditors.SearchLookUpEdit txtTleMain;
+        private DevExpress.XtraGrid.Views.Grid.GridView searchLookUpEdit1View;
+        private DevExpress.XtraEditors.SearchLookUpEdit txtTleAdja;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private DevExpress.XtraEditors.ButtonEdit txtDtousErr1;
+        private DevExpress.XtraEditors.ButtonEdit txtSatLocErr1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
+        private DevExpress.XtraEditors.SimpleButton btnOK;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
+        private DevExpress.XtraEditors.SimpleButton btnClose;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+    }
+}

+ 149 - 0
XdCxRhDW.App/UserControl/X2D1PosParam.cs

@@ -0,0 +1,149 @@
+using DevExpress.XtraMap;
+using ExtensionsDev;
+using System;
+using System.Data;
+using System.Linq;
+using System.Collections.Generic;
+using XdCxRhDW.Repostory.Model;
+using XdCxRhDW.Repostory.EFContext;
+using XdCxRhDW.Core.Api;
+using DxHelper;
+using XdCxRhDW.Repostory;
+namespace XdCxRhDW.App.UserControl
+{
+    public partial class X2D1PosParam : DevExpress.XtraEditors.XtraUserControl
+    {
+        public MapControl mapControl1;
+       
+
+        private EnumPosResType PosResType;
+        public X2D1PosParam(PosRes item)
+        {
+            InitializeComponent();
+            this.layoutControl1.UseDefault();
+            txtCapTime.UseDefault();
+            txtTleMain.UseDoubleClickToSelectAll();
+            txtTleAdja.UseDoubleClickToSelectAll();
+            txtStationLocation1.UseDoubleClickToSelectAll();
+            txtRefLocation1.UseDoubleClickToSelectAll();
+            this.txtCapTime.DateTime = item.SigTime;
+            this.txtDtousErr1.EditValue = 1;
+            this.txtSatLocErr1.EditValue = 10000;
+            List<string> xlall = new List<string>();
+            string mainTle = string.Empty;
+            string adjaTle = string.Empty;
+
+            PosResType = item.PosResType;
+            if (PosResType == EnumPosResType.X2D1NoRef)
+            {
+                layoutControlItem14.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            }
+            List<SatInfo> sats = null;
+            using (RHDWContext db = new RHDWContext())
+            {
+                sats = db.SatInfos.ToList();
+            }
+            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
+            {
+
+                var cg = db.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
+                var station = db.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
+                if (station != null)
+                {
+                    this.txtStationLocation1.Text = $"{station.CdbTxLon},{station.CdbTxLat}";
+                    this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
+                }
+                var xlList = XlCache.GetAllAsync().Result;
+                xlall.AddRange(xlList.Select(m => m.TwoLine));
+                if (xlall.Count == 0) return;
+                if (cg.MainCode.HasValue && xlList.Any(m => m.SatCode == cg.MainCode.Value))
+                {
+                    mainTle = xlList.First(m => m.SatCode == cg.MainCode.Value).TwoLine;
+                }
+                else
+                {
+                    mainTle = xlList.First().TwoLine;
+                }
+
+                if (cg.Adja1Code.HasValue && xlList.Any(m => m.SatCode == cg.Adja1Code.Value))
+                {
+                    adjaTle = xlList.First(m => m.SatCode == cg.Adja1Code.Value).TwoLine;
+                }
+                else
+                {
+                    adjaTle = xlList.First().TwoLine;
+                }
+            }
+
+            txtTleMain.UseDefault().SetStringData(xlall).Text = mainTle;
+            txtTleAdja.UseDefault().SetStringData(xlall).Text = adjaTle;
+        }
+
+
+        private (bool, string) ParamValidate()
+        {
+            if (string.IsNullOrWhiteSpace(txtTleMain.Text.Trim()))
+            {
+                return (false, "主星星历不能为空!");
+            }
+            if (string.IsNullOrWhiteSpace(txtTleAdja.Text.Trim()))
+            {
+                return (false, "主星星历不能为空!");
+            }
+            if (txtTleMain.Text.Trim() == txtTleAdja.Text.Trim())
+            {
+                return (false, "主邻星历不能相同!");
+            }
+            if (txtCapTime.DateTime == DateTime.MinValue)
+            {
+                return (false, "采集时刻不能为空!");
+            }
+            var txtstat = txtStationLocation1.CheckLonLat("超短波");
+            if (!txtstat.Item1)
+            {
+                return txtstat;
+            }
+
+            var refsta = txtRefLocation1.CheckLonLat("参考站");
+            if (PosResType == EnumPosResType.X2D1 && !refsta.Item1)
+            {
+                return refsta;
+            }
+            return (true, "");
+        }
+        private void btnOK_Click(object sender, EventArgs e)
+        {
+            //var pv = ParamValidate();
+            //if (!pv.Item1)
+            //{
+            //    DxHelper.MsgBoxHelper.ShowWarning($"{pv.Item2}");
+            //    return;
+            //}
+            //try
+            //{
+
+            //    mapControl1.ClearMap();
+
+            //    var cdb = new double[] { Model.StationLon, Model.StationLat, 0 };
+            //    var refstation = new double[] { Model.RefLon, Model.RefLat, 0 };
+
+            //    var (listSat, data) = GdopHelper.Gdop2Sat1D(Model.TleMain, Model.TleAdja, Model.CapTime, cdb
+            //             , Model.DtousErr, Model.SatLocErr, PosResType == EnumPosResType.X2D1NoRef ? null : refstation);
+            //    foreach (var errLins in data)//画GDOP
+            //    {
+            //        var mapDots = errLins.MapDots.Select(p => p).Select(p => (p.Lon, p.Lat));
+            //        mapControl1.DrawGdopLineTwo(errLins.ErrDistanceKm, mapDots, 1);
+            //    }
+            //}
+            //catch (Exception ex)
+            //{
+            //    DxHelper.MsgBoxHelper.ShowError($"绘制{PosResType.GetEnumDisplayName()}GDOP失败,{ex.Message}");
+            //}
+        }
+        private void btnClose_Click(object sender, EventArgs e)
+        {
+            DxHelper.PopupHelper.HidePopup(this);
+        }
+    }
+ 
+}

+ 120 - 0
XdCxRhDW.App/UserControl/X2D1PosParam.resx

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>

+ 18 - 0
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -311,6 +311,12 @@
     <Compile Include="EditForms\TaskEditor.Designer.cs">
       <DependentUpon>TaskEditor.cs</DependentUpon>
     </Compile>
+    <Compile Include="EditForms\X1D1PosParamEditor.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="EditForms\X1D1PosParamEditor.Designer.cs">
+      <DependentUpon>X1D1PosParamEditor.cs</DependentUpon>
+    </Compile>
     <Compile Include="EditForms\X1D1DTOParamEditor.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -424,6 +430,12 @@
     <Compile Include="UserControl\X1D1GDOPParam.Designer.cs">
       <DependentUpon>X1D1GDOPParam.cs</DependentUpon>
     </Compile>
+    <Compile Include="UserControl\X2D1PosParam.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserControl\X2D1PosParam.Designer.cs">
+      <DependentUpon>X2D1PosParam.cs</DependentUpon>
+    </Compile>
     <Compile Include="UserControl\X2DFGDOPParam.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -475,6 +487,9 @@
     <EmbeddedResource Include="EditForms\TaskEditor.resx">
       <DependentUpon>TaskEditor.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="EditForms\X1D1PosParamEditor.resx">
+      <DependentUpon>X1D1PosParamEditor.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="EditForms\X1D1DTOParamEditor.resx">
       <DependentUpon>X1D1DTOParamEditor.cs</DependentUpon>
     </EmbeddedResource>
@@ -577,6 +592,9 @@
     <EmbeddedResource Include="UserControl\X1D1GDOPParam.resx">
       <DependentUpon>X1D1GDOPParam.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="UserControl\X2D1PosParam.resx">
+      <DependentUpon>X2D1PosParam.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="UserControl\X2DFGDOPParam.resx">
       <DependentUpon>X2DFGDOPParam.cs</DependentUpon>
     </EmbeddedResource>

+ 358 - 350
XdCxRhDW.Sender/Form1.cs

@@ -46,384 +46,392 @@ namespace XdCxRhDW.Sender
                         return;
                     }
                     string tskType = txtTskType.EditValue.ToString();
-                    using (var client = new HttpClient())
+                    await Task.Run(async () =>
                     {
-                        try
+                        while (true)
                         {
-                            string url = string.Format("http://{0}:{1}/Api/Pos/", ip, port);
-                            if (tskType == "X1D1CX")//一星一地测向定位
+                            if (cts1.IsCancellationRequested)
+                                break;
+                            using (var client = new HttpClient())
                             {
-                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                                int idx = 1;
-                                url += "PosX1D1Async";
-                                foreach (var line in lines)
+                                try
                                 {
-                                    if (cts1.IsCancellationRequested)
-                                        break;
-                                    if (string.IsNullOrWhiteSpace(line)) continue;
-                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                    X1D1PosDto dto = new X1D1PosDto()
+                                    string url = string.Format("http://{0}:{1}/Api/Pos/", ip, port);
+                                    if (tskType == "X1D1CX")//一星一地测向定位
                                     {
-                                        SigTime = DateTime.Now,
-                                        MainCode = 23467,
-                                        XdDto = Convert.ToDouble(items[1]) * 1e6,
-                                        MainYbDto = Convert.ToDouble(items[2]) * 1e6,
-                                        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.ini", "卫星接收天线", "Lon"),
-                                        SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat"),
-                                        CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon"),
-                                        CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat"),
-                                        CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon"),
-                                        CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat"),
-                                        RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon"),
-                                        RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat"),
-                                    };
-                                    //var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
-                                    //var response = await client.PostAsync(url, content);
-                                    var result =await HttpHelper.PostRequestAsync<PosResDto>(url, dto);
-                                    if (result.code != 200)
-                                    {
-                                        Log($"{result.msg}");
-                                        return;
+                                        var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                        int idx = 1;
+                                        url += "PosX1D1Async";
+                                        foreach (var line in lines)
+                                        {
+                                            if (cts1.IsCancellationRequested)
+                                                break;
+                                            if (string.IsNullOrWhiteSpace(line)) continue;
+                                            var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                            X1D1PosDto dto = new X1D1PosDto()
+                                            {
+                                                SigTime = DateTime.Now,
+                                                MainCode = 23467,
+                                                XdDto = Convert.ToDouble(items[1]) * 1e6,
+                                                MainYbDto = Convert.ToDouble(items[2]) * 1e6,
+                                                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.ini", "卫星接收天线", "Lon"),
+                                                SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat"),
+                                                CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon"),
+                                                CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat"),
+                                                CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon"),
+                                                CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat"),
+                                                RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon"),
+                                                RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat"),
+                                            };
+                                            //var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
+                                            //var response = await client.PostAsync(url, content);
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(url, dto);
+                                            if (result.code != 200)
+                                            {
+                                                Log($"{result.msg}");
+                                                return;
+                                            }
+                                            Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                        }
                                     }
-                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
-                                }
-                            }
-                            if (tskType == "X2D1")//两星一地定位
-                            {
-                                //url += "PosX2D1Async";
-                                //var res = X2D1();
-                                //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 == "X2D1")//两星一地定位
+                                    {
+                                        //url += "PosX2D1Async";
+                                        //var res = X2D1();
+                                        //var content = new StringContent(JsonConvert.SerializeObject(res), System.Text.Encoding.UTF8, "application/json");
+                                        //var response = await client.PostAsync(url, content);
+                                        //Log($"已向[{txtAddr1.Text}]发送两星一地定位仿真结果");
 
-                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                                int idx = 1;
-                                url += "PosX2D1Async";
-                                foreach (var line in lines)
-                                {
-                                    if (cts1.IsCancellationRequested)
-                                        break;
-                                    if (string.IsNullOrWhiteSpace(line)) continue;
-                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                    X2D1PosDto X2D1PosDto = new X2D1PosDto();
-                                    X2D1PosDto.SigTime = DateTime.Now;
-                                    X2D1PosDto.MainCode = 23467;
-                                    X2D1PosDto.AdjaCode = 39206;
-                                    X2D1PosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
-                                    X2D1PosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
-                                    X2D1PosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
-                                    X2D1PosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
-                                    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.ini", "卫星接收天线", "Lon");
-                                    X2D1PosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
-                                    X2D1PosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
-                                    X2D1PosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
-                                    X2D1PosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
-                                    X2D1PosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    //var content = new StringContent(JsonConvert.SerializeObject(X2D1PosDto), System.Text.Encoding.UTF8, "application/json");
-                                    //var response = await client.PostAsync(url, content);
-                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1PosDto);
-                                    if (result.code != 200)
+                                        var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                        int idx = 1;
+                                        url += "PosX2D1Async";
+                                        foreach (var line in lines)
+                                        {
+                                            if (cts1.IsCancellationRequested)
+                                                break;
+                                            if (string.IsNullOrWhiteSpace(line)) continue;
+                                            var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                            X2D1PosDto X2D1PosDto = new X2D1PosDto();
+                                            X2D1PosDto.SigTime = DateTime.Now;
+                                            X2D1PosDto.MainCode = 23467;
+                                            X2D1PosDto.AdjaCode = 39206;
+                                            X2D1PosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
+                                            X2D1PosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
+                                            X2D1PosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
+                                            X2D1PosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
+                                            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.ini", "卫星接收天线", "Lon");
+                                            X2D1PosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
+                                            X2D1PosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
+                                            X2D1PosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
+                                            X2D1PosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
+                                            X2D1PosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
+                                            //var content = new StringContent(JsonConvert.SerializeObject(X2D1PosDto), System.Text.Encoding.UTF8, "application/json");
+                                            //var response = await client.PostAsync(url, content);
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1PosDto);
+                                            if (result.code != 200)
+                                            {
+                                                Log($"{result.msg}");
+                                                return;
+                                            }
+                                            Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                        }
+                                    }
+                                    if (tskType == "X2D1NoPar")//两星一地无参定位
                                     {
-                                        Log($"{result.msg}");
-                                        return;
+                                        url += "PosX2D1NoParAsync";
+                                        var res = X2D1NoPar();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送两星一地无参定位仿真结果");
                                     }
-                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
-                                }
-                            }
-                            if (tskType == "X2D1NoPar")//两星一地无参定位
-                            {
-                                url += "PosX2D1NoParAsync";
-                                var res = X2D1NoPar();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送两星一地无参定位仿真结果");
-                            }
-                            if (tskType == "RH")//融合定位
-                            {
-                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                                int idx = 1;
-                                url += "PosRHAsync";
-                                foreach (var line in lines)
-                                {
-                                    if (cts1.IsCancellationRequested)
-                                        break;
-                                    if (string.IsNullOrWhiteSpace(line)) continue;
-                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                    RHPosDto RHPosDto = new RHPosDto();
-                                    RHPosDto.SigTime = DateTime.Now;
-                                    RHPosDto.MainCode = 23467;
-                                    RHPosDto.AdjaCode = 39206;
-                                    RHPosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
-                                    RHPosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
-                                    RHPosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
-                                    RHPosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
-                                    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.ini", "卫星接收天线", "Lon");
-                                    RHPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
-                                    RHPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
-                                    RHPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
-                                    RHPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon");
-                                    RHPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat");
-                                    RHPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
-                                    RHPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, RHPosDto);
-                                    if (result.code != 200)
+                                    if (tskType == "RH")//融合定位
                                     {
-                                        Log($"{result.msg}");
-                                        return;
+                                        var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                        int idx = 1;
+                                        url += "PosRHAsync";
+                                        foreach (var line in lines)
+                                        {
+                                            if (cts1.IsCancellationRequested)
+                                                break;
+                                            if (string.IsNullOrWhiteSpace(line)) continue;
+                                            var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                            RHPosDto RHPosDto = new RHPosDto();
+                                            RHPosDto.SigTime = DateTime.Now;
+                                            RHPosDto.MainCode = 23467;
+                                            RHPosDto.AdjaCode = 39206;
+                                            RHPosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
+                                            RHPosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
+                                            RHPosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
+                                            RHPosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
+                                            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.ini", "卫星接收天线", "Lon");
+                                            RHPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
+                                            RHPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
+                                            RHPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
+                                            RHPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon");
+                                            RHPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat");
+                                            RHPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
+                                            RHPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(url, RHPosDto);
+                                            if (result.code != 200)
+                                            {
+                                                Log($"{result.msg}");
+                                                return;
+                                            }
+                                            Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                        }
+                                    }
+                                    if (tskType == "X3TwoDto")//三星双时差定位
+                                    {
+                                        url += "PosX3TwoDtoAsync";
+                                        var res = X3TwoDto();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
+                                    }
+                                    if (tskType == "X3TwoDtoNoPar")//三星双时差无参定位
+                                    {
+                                        url += "PosX3TwoDtoNoParAsync";
+                                        var res = X3TwoDtoNoPar();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
+                                    }
+                                    if (tskType == "X3TwoDfo")//三星双频差定位
+                                    {
+                                        url += "PosX3TwoDfoAsync";
+                                        var res = X3TwoDfo();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送三星双频差定位仿真结果");
+                                    }
+                                    if (tskType == "X2Dfo")//双星时频差定位
+                                    {
+                                        url += "PosX2DtoDfoAsync";
+                                        var res = X2Dfo();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送双星时频差定位仿真结果");
                                     }
-                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
-                                }
-                            }
-                            if (tskType == "X3TwoDto")//三星双时差定位
-                            {
-                                url += "PosX3TwoDtoAsync";
-                                var res = X3TwoDto();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
-                            }
-                            if (tskType == "X3TwoDtoNoPar")//三星双时差无参定位
-                            {
-                                url += "PosX3TwoDtoNoParAsync";
-                                var res = X3TwoDtoNoPar();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
-                            }
-                            if (tskType == "X3TwoDfo")//三星双频差定位
-                            {
-                                url += "PosX3TwoDfoAsync";
-                                var res = X3TwoDfo();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送三星双频差定位仿真结果");
-                            }
-                            if (tskType == "X2Dfo")//双星时频差定位
-                            {
-                                url += "PosX2DtoDfoAsync";
-                                var res = X2Dfo();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送双星时频差定位仿真结果");
-                            }
 
 
 
 
 
-                            if (tskType == "X1D1CXNoXL")//一星一地测向定位无星厉
-                            {
-                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                                int idx = 1;
-                                url += "PosX1D1NoXlAsync";
-                                foreach (var line in lines)
-                                {
-                                    if (cts1.IsCancellationRequested)
-                                        break;
-                                    if (string.IsNullOrWhiteSpace(line)) continue;
-                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                    X1D1NoXlPosDto dto = new X1D1NoXlPosDto()
+                                    if (tskType == "X1D1CXNoXL")//一星一地测向定位无星厉
                                     {
-                                        SigTime = DateTime.Now,
-                                        MainCode = 23467,
-                                        XdDto = Convert.ToDouble(items[1]) * 1e6,
-                                        MainYbDto = Convert.ToDouble(items[2]) * 1e6,
-                                        CxRes = Convert.ToDouble(items[4]),
-                                        SatTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lon"),
-                                        SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat"),
-                                        CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon"),
-                                        CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat"),
-                                        CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon"),
-                                        CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat"),
-                                        RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon"),
-                                        RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat"),
-                                    };
-                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, dto);
-                                    if (result.code != 200)
+                                        var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                        int idx = 1;
+                                        url += "PosX1D1NoXlAsync";
+                                        foreach (var line in lines)
+                                        {
+                                            if (cts1.IsCancellationRequested)
+                                                break;
+                                            if (string.IsNullOrWhiteSpace(line)) continue;
+                                            var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                            X1D1NoXlPosDto dto = new X1D1NoXlPosDto()
+                                            {
+                                                SigTime = DateTime.Now,
+                                                MainCode = 23467,
+                                                XdDto = Convert.ToDouble(items[1]) * 1e6,
+                                                MainYbDto = Convert.ToDouble(items[2]) * 1e6,
+                                                CxRes = Convert.ToDouble(items[4]),
+                                                SatTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lon"),
+                                                SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat"),
+                                                CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon"),
+                                                CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat"),
+                                                CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon"),
+                                                CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat"),
+                                                RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon"),
+                                                RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat"),
+                                            };
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(url, dto);
+                                            if (result.code != 200)
+                                            {
+                                                Log($"{result.msg}");
+                                                return;
+                                            }
+                                            Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                        }
+                                    }
+                                    if (tskType == "X2D1NoXL")//两星一地定位无星厉
                                     {
-                                        Log($"{result.msg}");
-                                        return;
+                                        var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                        int idx = 1;
+                                        url += "PosX2D1NoXlAsync";
+                                        foreach (var line in lines)
+                                        {
+                                            if (cts1.IsCancellationRequested)
+                                                break;
+                                            if (string.IsNullOrWhiteSpace(line)) continue;
+                                            var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                            X2D1NoXlPosDto X2D1NoXlPosDto = new X2D1NoXlPosDto();
+                                            X2D1NoXlPosDto.SigTime = DateTime.Now;
+                                            X2D1NoXlPosDto.MainCode = 23467;
+                                            X2D1NoXlPosDto.AdjaCode = 39206;
+                                            X2D1NoXlPosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
+                                            X2D1NoXlPosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
+                                            X2D1NoXlPosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
+                                            X2D1NoXlPosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
+                                            X2D1NoXlPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lon");
+                                            X2D1NoXlPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
+                                            X2D1NoXlPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
+                                            X2D1NoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
+                                            X2D1NoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
+                                            X2D1NoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1NoXlPosDto);
+                                            if (result.code != 200)
+                                            {
+                                                Log($"{result.msg}");
+                                                return;
+                                            }
+                                            Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                            Thread.Sleep(1000);
+                                        }
                                     }
-                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
-                                }
-                            }
-                            if (tskType == "X2D1NoXL")//两星一地定位无星厉
-                            {
-                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                                int idx = 1;
-                                url += "PosX2D1NoXlAsync";
-                                foreach (var line in lines)
-                                {
-                                    if (cts1.IsCancellationRequested)
-                                        break;
-                                    if (string.IsNullOrWhiteSpace(line)) continue;
-                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                    X2D1NoXlPosDto X2D1NoXlPosDto = new X2D1NoXlPosDto();
-                                    X2D1NoXlPosDto.SigTime = DateTime.Now;
-                                    X2D1NoXlPosDto.MainCode = 23467;
-                                    X2D1NoXlPosDto.AdjaCode = 39206;
-                                    X2D1NoXlPosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
-                                    X2D1NoXlPosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
-                                    X2D1NoXlPosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
-                                    X2D1NoXlPosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
-                                    X2D1NoXlPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lon");
-                                    X2D1NoXlPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
-                                    X2D1NoXlPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
-                                    X2D1NoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
-                                    X2D1NoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
-                                    X2D1NoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1NoXlPosDto);
-                                    if (result.code != 200)
+                                    if (tskType == "X2D1NoParNoXL")//两星一地无参定位无星厉
                                     {
-                                        Log($"{result.msg}");
-                                        return;
+                                        url += "PosX2D1NoXlNoParAsync";
+                                        var res = X2D1NoParNoXL();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送两星一地无参定位仿真结果");
                                     }
-                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
-                                    Thread.Sleep(1000);
-                                }
-                            }
-                            if (tskType == "X2D1NoParNoXL")//两星一地无参定位无星厉
-                            {
-                                url += "PosX2D1NoXlNoParAsync";
-                                var res = X2D1NoParNoXL();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送两星一地无参定位仿真结果");
-                            }
-                            if (tskType == "RHNoXL")//融合定位无星厉
-                            {
-                                var lines = File.ReadAllLines("Simulation_Data2023.dat");
-                                int idx = 1;
-                                url += "PosRhNoXlAsync";
-                                foreach (var line in lines)
-                                {
-                                    if (cts1.IsCancellationRequested)
-                                        break;
-                                    if (string.IsNullOrWhiteSpace(line)) continue;
-                                    var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-                                    RHNoXlPosDto RHNoXlPosDto = new RHNoXlPosDto();
-                                    RHNoXlPosDto.SigTime = DateTime.Now;
-                                    RHNoXlPosDto.MainCode = 23467;
-                                    RHNoXlPosDto.AdjaCode = 39206;
-                                    RHNoXlPosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
-                                    RHNoXlPosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
-                                    RHNoXlPosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
-                                    RHNoXlPosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
-                                    RHNoXlPosDto.CxRes = Convert.ToDouble(items[4]);
-                                    RHNoXlPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lon");
-                                    RHNoXlPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
-                                    RHNoXlPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
-                                    RHNoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
-                                    RHNoXlPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon");
-                                    RHNoXlPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat");
-                                    RHNoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
-                                    RHNoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, RHNoXlPosDto);
-                                    if (result.code != 200)
+                                    if (tskType == "RHNoXL")//融合定位无星厉
                                     {
-                                        Log($"{result.msg}");
-                                        return;
+                                        var lines = File.ReadAllLines("Simulation_Data2023.dat");
+                                        int idx = 1;
+                                        url += "PosRhNoXlAsync";
+                                        foreach (var line in lines)
+                                        {
+                                            if (cts1.IsCancellationRequested)
+                                                break;
+                                            if (string.IsNullOrWhiteSpace(line)) continue;
+                                            var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+                                            RHNoXlPosDto RHNoXlPosDto = new RHNoXlPosDto();
+                                            RHNoXlPosDto.SigTime = DateTime.Now;
+                                            RHNoXlPosDto.MainCode = 23467;
+                                            RHNoXlPosDto.AdjaCode = 39206;
+                                            RHNoXlPosDto.SxDto = Convert.ToDouble(items[0]) * 1e6;
+                                            RHNoXlPosDto.XdDto = Convert.ToDouble(items[1]) * 1e6;
+                                            RHNoXlPosDto.MainYbDto = Convert.ToDouble(items[2]) * 1e6;
+                                            RHNoXlPosDto.AdjaYbDto = Convert.ToDouble(items[3]) * 1e6;
+                                            RHNoXlPosDto.CxRes = Convert.ToDouble(items[4]);
+                                            RHNoXlPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lon");
+                                            RHNoXlPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "卫星接收天线", "Lat");
+                                            RHNoXlPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lon");
+                                            RHNoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
+                                            RHNoXlPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lon");
+                                            RHNoXlPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat");
+                                            RHNoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
+                                            RHNoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(url, RHNoXlPosDto);
+                                            if (result.code != 200)
+                                            {
+                                                Log($"{result.msg}");
+                                                return;
+                                            }
+                                            Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
+                                        }
                                     }
-                                    Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
-                                }
-                            }
-                            if (tskType == "X3TwoDtoNoXL")//三星双时差定位无星厉
-                            {
-                                url += "PosX3TwoDtoNoXlAsync";
-                                var res = X3TwoDtoNoXL();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
-                            }
-                            if (tskType == "X3TwoDtoNoParNoXL")//三星双时差无参定位无星厉
-                            {
-                                url += "PosX3TwoDtoNoXlNoParAsync";
-                                var res = X3TwoDtoNoParNoXL();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
-                                }
-                                Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
-                            }
-                            if (tskType == "X3TwoDfoNoXL")//三星双频差定位无星厉
-                            {
-                                url += "PosX3TwoDfoNoXlAsync";
-                                var res = X3TwoDfoNoXL();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
-                                {
-                                    Log($"{result.msg}");
-                                    return;
+                                    if (tskType == "X3TwoDtoNoXL")//三星双时差定位无星厉
+                                    {
+                                        url += "PosX3TwoDtoNoXlAsync";
+                                        var res = X3TwoDtoNoXL();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
+                                    }
+                                    if (tskType == "X3TwoDtoNoParNoXL")//三星双时差无参定位无星厉
+                                    {
+                                        url += "PosX3TwoDtoNoXlNoParAsync";
+                                        var res = X3TwoDtoNoParNoXL();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送三星双时差定位仿真结果");
+                                    }
+                                    if (tskType == "X3TwoDfoNoXL")//三星双频差定位无星厉
+                                    {
+                                        url += "PosX3TwoDfoNoXlAsync";
+                                        var res = X3TwoDfoNoXL();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送三星双频差定位仿真结果");
+                                    }
+                                    if (tskType == "X2DfoNoXL")//双星时频差定位无星厉
+                                    {
+                                        url += "PosX2DtoDfoNoXlAsync";
+                                        var res = X2DfoNoXL();
+                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
+                                        if (result.code != 200)
+                                        {
+                                            Log($"{result.msg}");
+                                            return;
+                                        }
+                                        Log($"已向[{txtAddr1.Text}]发送双星时频差定位仿真结果");
+                                    }
+
                                 }
-                                Log($"已向[{txtAddr1.Text}]发送三星双频差定位仿真结果");
-                            }
-                            if (tskType == "X2DfoNoXL")//双星时频差定位无星厉
-                            {
-                                url += "PosX2DtoDfoNoXlAsync";
-                                var res = X2DfoNoXL();
-                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
-                                if (result.code != 200)
+                                catch (Exception ex)
                                 {
-                                    Log($"{result.msg}");
-                                    return;
+                                    Log($"向[{txtAddr1.Text}]发送结果失败.{ex.Message}");
                                 }
-                                Log($"已向[{txtAddr1.Text}]发送双星时频差定位仿真结果");
                             }
-
-                        }
-                        catch (Exception ex)
-                        {
-                            Log($"向[{txtAddr1.Text}]发送结果失败.{ex.Message}");
+                            await Task.Delay(1000);
                         }
-                    }
-
+                    });
                 }
                 catch (Exception ex)
                 {