public GllStandardGpsMessage(GpsMessage message) : base(StandardGpsMessageKind.Gll) { // Example of data fields: // "3110.2908", "N", "12123.2348", "E", "041139.000", "A", "A" Latitude = GpsValueParser.ParseLatitude(message.DataFields[0], message.DataFields[1]); Longitude = GpsValueParser.ParseLongitude(message.DataFields[2], message.DataFields[3]); UtcTimeOfDay = GpsValueParser.ParseUtcTime(message.DataFields[4]); DataValid = message.DataFields[5] == "A"; PositioningMode = GpsValueParser.ParsePositioningMode(message.DataFields[6]); }
public GgaStandardGpsMessage(GpsMessage message) : base(StandardGpsMessageKind.Gga) { // Example of data fields: // "015540.000", "3150.68378", "N", "11711.93139", "E", "1", "17", "0.6", "0051.6", "M", "0.0", "M", "", "" UtcTimeOfDay = GpsValueParser.ParseUtcTime(message.DataFields[0]); Latitude = GpsValueParser.ParseLatitude(message.DataFields[1], message.DataFields[2]); Longitude = GpsValueParser.ParseLongitude(message.DataFields[3], message.DataFields[4]); FixStatus = GpsValueParser.ParseGgaFixStatus(message.DataFields[5]); NumberOfSatellites = GpsValueParser.ParseNullableInt(message.DataFields[6]); HorizontalDilutioOfPrecision = GpsValueParser.ParseNullableDouble(message.DataFields[7]); Altitude = GpsValueParser.ParseNullableDouble(message.DataFields[8]); GeoIdSeparation = GpsValueParser.ParseNullableDouble(message.DataFields[10]); DgpsAge = GpsValueParser.ParseNullableDouble(message.DataFields[12]); DgpsStateId = GpsValueParser.ParseNullableDouble(message.DataFields[13]); }