123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- using DevExpress.Mvvm.ModuleInjection.Native;
- using DevExpress.XtraEditors;
- using DevExpress.XtraEditors.DXErrorProvider;
- using ExtensionsDev;
- using System;
- 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 XzXdDw.App.Api;
- using XzXdDw.App.EFContext;
- using XzXdDw.App.Model;
- using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
- namespace XzXdDw.App.EditForms
- {
- public partial class SinglePosParamEditor : DevExpress.XtraEditors.XtraForm
- {
- public PosRes info;
- private CgRes cgRes1;
- private CgRes cgRes2;
- private double[] PosRes;
- private Action callBack;
- public SinglePosParamEditor(PosRes info, CgRes cgRes1, CgRes cgRes2, Action callBack)
- {
- InitializeComponent();
- this.Text = "单星定位";
- this.info = info;
- if (cgRes1 == null)
- {
- cgRes1 = new CgRes();
- }
- if (cgRes2 == null)
- {
- cgRes2 = new CgRes();
- }
- this.cgRes1 = cgRes1;
- this.cgRes2 = cgRes2;
- this.callBack = callBack;
- this.StartPosition = FormStartPosition.CenterParent;
- }
- private async void X2D1PosParamEditor_Load(object sender, EventArgs e)
- {
- List<string> list = new List<string>();
- using (RHDWContext db = new RHDWContext())
- {
- var res = await db.XlInfos.OrderBy(p => p.SatName).ToListAsync();
- if (res != null)
- list.AddRange(res.Select(p => p.Sat));
- }
- this.txtDfoSx1.Text = $"{cgRes1.DfoSx}";
- this.txtDfoSx2.Text = $"{cgRes2.DfoSx}";
- this.txtUpFreq.Text = $"{info.UpFreq / 1000000}";
- this.sigTime.EditValue = cgRes1.SigTime;
- this.txtMainX.Text = $"{cgRes1.MainX}";
- this.txtMainY.Text = $"{cgRes1.MainY}";
- this.txtMainZ.Text = $"{cgRes1.MainZ}";
- this.txtMainVX.Text = $"{cgRes1.MainVX}";
- this.txtMainVY.Text = $"{cgRes1.MainVY}";
- this.txtMainVZ.Text = $"{cgRes1.MainVZ}";
- this.txtMainX1.Text = $"{cgRes1.AdjaX}";
- this.txtMainY1.Text = $"{cgRes1.AdjaY}";
- this.txtMainZ1.Text = $"{cgRes1.AdjaZ}";
- this.txtMainVX1.Text = $"{cgRes1.AdjaVX}";
- this.txtMainVY1.Text = $"{cgRes1.AdjaVY}";
- this.txtMainVZ1.Text = $"{cgRes1.AdjaVZ}";
- this.txtMainX11.Text = $"{cgRes2.AdjaX}";
- this.txtMainY11.Text = $"{cgRes2.AdjaY}";
- this.txtMainZ11.Text = $"{cgRes2.AdjaZ}";
- this.txtMainVX11.Text = $"{cgRes2.AdjaVX}";
- this.txtMainVY11.Text = $"{cgRes2.AdjaVY}";
- this.txtMainVZ11.Text = $"{cgRes2.AdjaVZ}";
- }
- private void btnUpdate_Click(object sender, EventArgs e)
- {
- try
- {
- if (this.listBox.Items.Count == 0)
- {
- XtraMessageBox.Show($"单星未定位不能更新到数据库中");
- return;
- }
- cgRes1.DfoSx = Convert.ToDouble(this.txtDfoSx1.Text);
- cgRes1.MainX = Convert.ToDouble(this.txtMainX.Text);
- cgRes1.MainY = Convert.ToDouble(this.txtMainY.Text);
- cgRes1.MainZ = Convert.ToDouble(this.txtMainZ.Text);
- cgRes1.MainVX = Convert.ToDouble(this.txtMainVX.Text);
- cgRes1.MainVY = Convert.ToDouble(this.txtMainVY.Text);
- cgRes1.MainVZ = Convert.ToDouble(this.txtMainVZ.Text);
- cgRes1.AdjaX = Convert.ToDouble(this.txtMainX1.Text);
- cgRes1.AdjaY = Convert.ToDouble(this.txtMainY1.Text);
- cgRes1.AdjaZ = Convert.ToDouble(this.txtMainZ1.Text);
- cgRes1.AdjaVX = Convert.ToDouble(this.txtMainVX1.Text);
- cgRes1.AdjaVY = Convert.ToDouble(this.txtMainVY1.Text);
- cgRes1.AdjaVZ = Convert.ToDouble(this.txtMainVZ1.Text);
- cgRes2.DfoSx = Convert.ToDouble(this.txtDfoSx2.Text);
- cgRes2.MainX = Convert.ToDouble(this.txtMainX.Text);
- cgRes2.MainY = Convert.ToDouble(this.txtMainY.Text);
- cgRes2.MainZ = Convert.ToDouble(this.txtMainZ.Text);
- cgRes2.MainVX = Convert.ToDouble(this.txtMainVX.Text);
- cgRes2.MainVY = Convert.ToDouble(this.txtMainVY.Text);
- cgRes2.MainVZ = Convert.ToDouble(this.txtMainVZ.Text);
- cgRes2.AdjaX = Convert.ToDouble(this.txtMainX11.Text);
- cgRes2.AdjaY = Convert.ToDouble(this.txtMainY11.Text);
- cgRes2.AdjaZ = Convert.ToDouble(this.txtMainZ11.Text);
- cgRes2.AdjaVX = Convert.ToDouble(this.txtMainVX11.Text);
- cgRes2.AdjaVY = Convert.ToDouble(this.txtMainVY11.Text);
- cgRes2.AdjaVZ = Convert.ToDouble(this.txtMainVZ11.Text);
- info.UpFreq = Convert.ToDouble(this.txtUpFreq.Text) * 1e6;
- info.UpdateTime = DateTime.Now;
- string posstr = this.listBox.Items[0].ToString();
- var allstrs = posstr.Split(new string[] { ":", "定位经度", "定位纬度", "镜像经度", "镜像纬度" }, StringSplitOptions.RemoveEmptyEntries);
- if (allstrs.Length == 4)
- {
- using (RHDWContext db = new RHDWContext())
- {
- info.PosLon = Convert.ToDouble(PosRes[0]);
- info.PosLat = Convert.ToDouble(PosRes[1]);
- info.MirrLon = Convert.ToDouble(PosRes[3]);
- info.MirrLat = Convert.ToDouble(PosRes[4]);
- db.CgRes.AddOrUpdate(cgRes1);//参估结果入库
- db.CgRes.AddOrUpdate(cgRes2);//参估结果入库
- db.PosRes.AddOrUpdate(info);//定位结果入库
- db.SaveChangesAsync();
- }
- callBack?.Invoke();
- XtraMessageBox.Show($"单星更新数据成功");
- }
- }
- catch (Exception ex)
- {
- XtraMessageBox.Show($"单星更新定位数据失败,失败信息:{ex.Message}");
- }
- }
- private void btnOk_Click(object sender, EventArgs e)
- {
- listBox.Items.Clear();
- try
- {
- var cgRes1 = new CgRes()
- {
- DfoSx = Convert.ToDouble(this.txtDfoSx1.Text),
- MainX = Convert.ToDouble(this.txtMainX.Text),
- MainY = Convert.ToDouble(this.txtMainY.Text),
- MainZ = Convert.ToDouble(this.txtMainZ.Text),
- MainVX = Convert.ToDouble(this.txtMainVX.Text),
- MainVY = Convert.ToDouble(this.txtMainVY.Text),
- MainVZ = Convert.ToDouble(this.txtMainVZ.Text),
- AdjaX = Convert.ToDouble(this.txtMainX1.Text),
- AdjaY = Convert.ToDouble(this.txtMainY1.Text),
- AdjaZ = Convert.ToDouble(this.txtMainZ1.Text),
- AdjaVX = Convert.ToDouble(this.txtMainVX1.Text),
- AdjaVY = Convert.ToDouble(this.txtMainVY1.Text),
- AdjaVZ = Convert.ToDouble(this.txtMainVZ1.Text),
- };
- var cgRes2 = new CgRes()
- {
- DfoSx = Convert.ToDouble(this.txtDfoSx2.Text),
- MainX = Convert.ToDouble(this.txtMainX.Text),
- MainY = Convert.ToDouble(this.txtMainY.Text),
- MainZ = Convert.ToDouble(this.txtMainZ.Text),
- MainVX = Convert.ToDouble(this.txtMainVX.Text),
- MainVY = Convert.ToDouble(this.txtMainVY.Text),
- MainVZ = Convert.ToDouble(this.txtMainVZ.Text),
- AdjaX = Convert.ToDouble(this.txtMainX11.Text),
- AdjaY = Convert.ToDouble(this.txtMainY11.Text),
- AdjaZ = Convert.ToDouble(this.txtMainZ11.Text),
- AdjaVX = Convert.ToDouble(this.txtMainVX11.Text),
- AdjaVY = Convert.ToDouble(this.txtMainVY11.Text),
- AdjaVZ = Convert.ToDouble(this.txtMainVZ11.Text),
- };
- double Upfreq = Convert.ToDouble(this.txtUpFreq.Text) * 1e6;
- PosRes = PosApi.X1_POS(cgRes1, cgRes2, Upfreq);
- listBox.Items.Add($"定位经度:{PosRes[0]:f4} 定位纬度:{PosRes[1]:f4} 镜像经度:{PosRes[3]:f4} 镜像纬度:{PosRes[4]:f4}");
- }
- catch (Exception ex)
- {
- XtraMessageBox.Show($"单星定位失败,失败信息:{ex.Message}");
- }
- }
- }
- }
|