public void WriteTtNmea(DataAccessLayer DAL) { List<GpsAccess.NmeaBurst> bursts = DAL.GetNmeaBursts(); if (bursts != null && bursts.Count > 0) { List<string> Columns = new List<string>(); List<List<string>> data = new List<List<string>>(); #region Columns Columns.Add("Point ID"); Columns.Add("Point CN"); Columns.Add(TwoTrailsSchema.TtnmeaSchema.Used); Columns.Add(TwoTrailsSchema.TtnmeaSchema.DateTimeZulu); Columns.Add(TwoTrailsSchema.TtnmeaSchema.Longitude); Columns.Add(TwoTrailsSchema.TtnmeaSchema.Latitude); Columns.Add(TwoTrailsSchema.TtnmeaSchema.LatDir); Columns.Add(TwoTrailsSchema.TtnmeaSchema.LonDir); Columns.Add(TwoTrailsSchema.TtnmeaSchema.MagVar); Columns.Add(TwoTrailsSchema.TtnmeaSchema.MagDir); Columns.Add(TwoTrailsSchema.TtnmeaSchema.UtmZone); Columns.Add(TwoTrailsSchema.TtnmeaSchema.UtmX); Columns.Add(TwoTrailsSchema.TtnmeaSchema.UtmY); Columns.Add(TwoTrailsSchema.TtnmeaSchema.Altitude); Columns.Add(TwoTrailsSchema.TtnmeaSchema.AltUnit); Columns.Add(TwoTrailsSchema.TtnmeaSchema.FixQuality); Columns.Add("Fix"); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PDOP); Columns.Add(TwoTrailsSchema.TtnmeaSchema.HDOP); Columns.Add(TwoTrailsSchema.TtnmeaSchema.VDOP); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRNS); Columns.Add(TwoTrailsSchema.TtnmeaSchema.HDo_Position); Columns.Add(TwoTrailsSchema.TtnmeaSchema.HAE); Columns.Add(TwoTrailsSchema.TtnmeaSchema.HAE_Unit); Columns.Add(TwoTrailsSchema.TtnmeaSchema.Speed); Columns.Add(TwoTrailsSchema.TtnmeaSchema.Track_Angle); Columns.Add(TwoTrailsSchema.TtnmeaSchema.SatelliteCount); Columns.Add(TwoTrailsSchema.TtnmeaSchema.SatelliteUsed); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN1ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN1Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN1Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN1SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN2ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN2Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN2Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN2SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN3ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN3Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN3Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN3SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN4ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN4Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN4Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN4SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN5ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN5Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN5Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN5SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN6ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN6Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN6Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN6SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN7ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN7Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN7Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN7SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN8ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN8Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN8Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN8SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN9ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN9Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN9Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN9SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN10ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN10Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN10Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN10SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN11ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN11Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN11Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN11SRN); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN12ID); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN12Elev); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN12Az); Columns.Add(TwoTrailsSchema.TtnmeaSchema.PRN12SRN); #endregion #region Add Data foreach (GpsAccess.NmeaBurst burst in bursts) { List<string> burstData = new List<string>(); string pointID = "", pointCN = ""; TtPoint p = DAL.GetPoint(burst._PointCN); if (p != null) { pointID = p.PID.ToString(); pointCN = p.CN; } burstData.Add(pointID); //0 burstData.Add(pointCN); burstData.Add(burst._Used.ToString()); burstData.Add(burst._datetime.ToString("MM/dd/yyyy hh:mm:ss tt")); burstData.Add(burst._longitude.ToString()); burstData.Add(burst._latitude.ToString()); //5 burstData.Add(burst._latDir.ToString()); burstData.Add(burst._longDir.ToString()); burstData.Add(burst._magVar.ToString()); burstData.Add(burst._magVarDir.ToString()); burstData.Add(burst._utm_zone.ToString()); //10 burstData.Add(burst._X.ToString()); burstData.Add(burst._Y.ToString()); burstData.Add(burst._altitude.ToString()); burstData.Add(burst._alt_unit.ToString()); burstData.Add(FormatFixQuality(burst._fix_quality));//15 burstData.Add(FormatFix(burst._fix)); burstData.Add(burst._PDOP.ToString()); burstData.Add(burst._HDOP.ToString()); burstData.Add(burst._VDOP.ToString()); burstData.Add(burst._fixed_PRNs); //20 burstData.Add(burst._horiz_dilution_position.ToString()); burstData.Add(burst._geoid_height.ToString()); burstData.Add(burst._geoid_unit.ToString()); burstData.Add(burst._speed.ToString()); burstData.Add(burst._track_angle.ToString()); //25 burstData.Add(burst._num_of_sat.ToString()); burstData.Add(burst._num_of_used_sat.ToString()); foreach (GpsAccess.Satellite sat in burst.GetSatellites()) { burstData.Add(sat.ID); burstData.Add(sat.Elevation.ToString()); burstData.Add(sat.Azimuth.ToString()); burstData.Add(sat.SNR.ToString()); } data.Add(burstData); } #endregion WriteCsvFile("TtNmeaData", Columns, data); } }