/// <summary> /// Glonass 实时星历信息转换。 /// </summary> /// <param name="msg"></param> /// <returns></returns> public GlonassNavRecord GlonassNavRecord(Message1020 msg) { GlonassNavRecord para = new GlonassNavRecord(); para.Prn = new SatelliteNumber((int)msg.SatelliteID, SatelliteType.R); #region XYZ相关信息 para.XYZ = new Geo.Coordinates.XYZ(msg.Xn, msg.Yn, msg.Zn); para.XyzVelocity = new Geo.Coordinates.XYZ(msg.XnfFirstDerivative, msg.YnfFirstDerivative, msg.XnfFirstDerivative); para.XyzAcceleration = new Geo.Coordinates.XYZ(msg.XnSecondDerivative, msg.YnSecondDerivative, msg.ZnSecondDerivative); #endregion para.Health = msg.MsbOfBnWord; para.FrequencyNumber = msg.SatelliteFrequencyChannelNumber; para.ClockBias = msg.TaoN; para.RelativeFrequencyBias = msg.GamaN; double secondsOfDay; if (msg.Tkh >= 3) { secondsOfDay = (msg.Tkh - 3) * 3600 + msg.Tkm * 60 + msg.Tks; } else { secondsOfDay = (msg.Tkh - 3 + 24) * 3600 + msg.Tkm * 60 + msg.Tks; } para.Time = new Time(Setting.ReceivingTimeOfNtripData.DateTime, secondsOfDay); para.MessageTime = msg.Tb; para.AgeOfOper = new double(); return(para); }
protected void OnGlonassNavRecordReceived(GlonassNavRecord obj) { if (obj == null) { return; } if (GlonassNavRecordReceived != null) { GlonassNavRecordReceived(obj); } }
void RtcmDataParser_GlonassNavRecordReceived(GlonassNavRecord obj) { //RtGnssDataWriter.WriteGlonassNavRecord(obj); }
protected virtual void dataProvider_GlonassNavRecordReceived(GlonassNavRecord obj) { }
public void WriteGlonassNavRecord(GlonassNavRecord obj) { GlonassNavFileWriter.CheckAndAppendEphemerisParam(obj); GlonassNavFileWriter.SaveToFile(); }
protected override void dataProvider_GlonassNavRecordReceived(GlonassNavRecord obj) { this.WriteGlonassNavRecord(obj); }