| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- using DevExpress.Xpo;
- using DevExpress.XtraEditors;
- using Ips.Library.Entity;
- using Ips.Sps.Ants;
- using Ips.Sps.Com.Gdops;
- using Ips.Sps.Emts;
- using Ips.Sps.Ephs;
- using Ips.Sps.Sats;
- using Ips.Sps.TskResults.Peses;
- using Ips.Sps.TskResults.Poses;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace Ips.Sps.Tools
- {
- public partial class GdopAnalyseForm : DevExpress.XtraEditors.XtraForm
- {
- public GdopAnalyseForm()
- {
- InitializeComponent();
- _session = new Session();
- InitGdopCtrl();
- }
- public GdopAnalyseForm(long? posId) : this()
- {
- if (posId.HasValue)
- {
- _posId = posId.Value;
- var vm = CreateViewModel();
- gdopCtrl.SetViewModel(vm);
- }
- }
- GdopAnalyseCtrl gdopCtrl;
- GdopParamSetCtrl paramSetCtrl => gdopCtrl.ParamsCtrl;
- Session _session;
- long _posId;
- private void GdopAnalyseForm_Load(object sender, EventArgs e)
- {
- }
- private void InitGdopCtrl()
- {
- gdopCtrl = new GdopAnalyseCtrl();
- gdopCtrl.Dock = DockStyle.Fill;
- this.Controls.Add(gdopCtrl);
- paramSetCtrl.AntList = _session.Query<Ant>()
- .Select(m => new AntInfo(m.Oid, m.Name, m.Lon, m.Lat, m.Alt)).ToList();
- paramSetCtrl.RefSiteList = _session.Query<Emt>().Where(m => m.EmtType == EmtType.FixSation && m.Enable)
- .Select(m => new RefSiteInfo(m.Oid, m.Name, m.Lon, m.Lat, m.Alt)).ToList();
- paramSetCtrl.SatList = _session.Query<Sat>().Where(m => m.Enable).OrderBy(m => m.Lon)
- .Select(m => new SatInfo(m.SatNum, m.Name, m.Lon)).ToList();
- paramSetCtrl.QueryEph += ParamSetCtrl_QueryEph;
- }
- private GdopAnalyseViewModel CreateViewModel()
- {
- if (_posId == 0) return null;
- var pos = _session.GetObjectByKey<Pos>(_posId);
- if (pos == null) return null;
- var posRels = _session.Query<PosRel>().Where(m => m.PosId == _posId).ToList();
- var pesIds = posRels.Select(m => m.PesId).Distinct().ToList();
- var pesList = _session.Query<Pes>().Where(m => pesIds.Contains(m.Id)).ToList();
- var tarPesList = pesList.Where(m => m.Category != SignalCategory.RefSig).ToList();
- var refPesList = pesList.Where(m => m.Category == SignalCategory.RefSig).ToList();
- Pes pes1 = tarPesList.Count > 0 ? tarPesList[0] : null;
- Pes pes2 = tarPesList.Count > 1 ? tarPesList[1] : null;
- var pesRef = refPesList.FirstOrDefault();
- GdopAnalyseViewModel _vm = new GdopAnalyseViewModel();
- _vm.SigTime = pos.SigTime;
- _vm.HasRef = pos.HasRef;
- if (pes1 != null)
- {
- _vm.AntId = pes1.MainAntId;
- _vm.AntLon = pes1.MainAntLon;
- _vm.AntLat = pes1.MainAntLat;
- _vm.AntAlt = pes1.MainAntAlt;
- }
- if (pesRef != null)
- {
- _vm.RefId = pesRef.EmtId;
- _vm.RefLon = pesRef.SigLon;
- _vm.RefLat = pesRef.SigLat;
- _vm.RefAlt = pesRef.SigAlt;
- }
- if (pes1 != null)
- {
- _vm.MsId = pes1.MainSatNum;
- _vm.MsX = pes1.MainEphX;
- _vm.MsY = pes1.MainEphY;
- _vm.MsZ = pes1.MainEphZ;
- _vm.MsVx = pes1.MainEphVx;
- _vm.MsVy = pes1.MainEphVy;
- _vm.MsVz = pes1.MainEphVz;
- _vm.As1Id = pes1.AdjaSatNum;
- _vm.AsX1 = pes1.AdjaEphX;
- _vm.AsY1 = pes1.AdjaEphY;
- _vm.AsZ1 = pes1.AdjaEphZ;
- _vm.AsVx1 = pes1.AdjaEphVx;
- _vm.AsVy1 = pes1.AdjaEphVy;
- _vm.AsVz1 = pes1.AdjaEphVz;
- }
- if (pes2 != null)
- {
- _vm.As2Id = pes2.AdjaSatNum;
- _vm.AsX2 = pes2.AdjaEphX;
- _vm.AsY2 = pes2.AdjaEphY;
- _vm.AsZ2 = pes2.AdjaEphZ;
- _vm.AsVx2 = pes2.AdjaEphVx;
- _vm.AsVy2 = pes2.AdjaEphVy;
- _vm.AsVz2 = pes2.AdjaEphVz;
- }
- return _vm;
- }
- private void ParamSetCtrl_QueryEph(object sender, Com.Ephs.QueryEphEventArgs e)
- {
- e.Result = EphManager.Default.GetEph(e.SatNum, e.EphTime);
- }
- }
- }
|