| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | using Ips.Library.Entity;using Ips.LocAlgorithm;using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Ips.Sps.Com.Gdops{    public class GdopAnalyseViewModel : INotifyPropertyChanged    {#pragma warning disable CS0067        public event PropertyChangedEventHandler PropertyChanged;#pragma warning restore CS0067         public DateTime SigTime { get; set; } = DateTime.Now;        public bool HasRef { get; set; }        public int AntId { get; set; }        public double AntLon { get; set; }        public double AntLat { get; set; }        public double AntAlt { get; set; }        public double[] AntLLA => new double[] { AntLon, AntLat, AntAlt };        public int RefId { get; set; }        public double RefLon { get; set; }        public double RefLat { get; set; }        public double RefAlt { get; set; }        public double[] RefLLA => new double[] { RefLon, RefLat, RefAlt };        public int MsId { get; set; }        public double MsX { get; set; }        public double MsY { get; set; }        public double MsZ { get; set; }        public double MsVx { get; set; }        public double MsVy { get; set; }        public double MsVz { get; set; }        public double[] MsEph => new double[] { MsX, MsY, MsZ, MsVx, MsVy, MsVz };        public int As1Id { get; set; }        public double AsX1 { get; set; }        public double AsY1 { get; set; }        public double AsZ1 { get; set; }        public double AsVx1 { get; set; }        public double AsVy1 { get; set; }        public double AsVz1 { get; set; }        public double[] AsEph1 => new double[] { AsX1, AsY1, AsZ1, AsVx1, AsVy1, AsVz1 };        public int As2Id { get; set; }        public double AsX2 { get; set; }        public double AsY2 { get; set; }        public double AsZ2 { get; set; }        public double AsVx2 { get; set; }        public double AsVy2 { get; set; }        public double AsVz2 { get; set; }        public double[] AsEph2 => new double[] { AsX2, AsY2, AsZ2, AsVx2, AsVy2, AsVz2 };        public GdopResult GdopResult { get; set; }        public async Task CalcGdop()        {            ExeResult<GdopResult> exeRes;            if (HasRef)            {                exeRes = await Loc32Util.GdopRef(RefLLA, MsEph, AsEph1, MsEph, AsEph2);            }            else            {                exeRes = await Loc32Util.Gdop(AntLLA, MsEph, AsEph1, MsEph, AsEph2);            }            if (exeRes.ExitCode != 0)            {                throw new Exception(exeRes.ExitMsg);            }            GdopResult = exeRes.Result;        }    }}
 |