diff --git a/src/NmeaParser.Shared/Nmea/Gnss/Gngst.cs b/src/NmeaParser.Shared/Nmea/Gnss/Gngst.cs
new file mode 100644
index 0000000..953e016
--- /dev/null
+++ b/src/NmeaParser.Shared/Nmea/Gnss/Gngst.cs
@@ -0,0 +1,80 @@
+using System;
+
+namespace NmeaParser.Nmea.Gnss
+{
+ ///
+ /// Position error statistics
+ ///
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Gngst")]
+ [NmeaMessageType("GNGST")]
+ public class Gngst : NmeaMessage
+ {
+ ///
+ /// Called when the message is being loaded.
+ ///
+ /// The NMEA message values.
+ protected override void OnLoadMessage(string[] message)
+ {
+ if (message == null || message.Length < 8)
+ throw new ArgumentException("Invalid GNGST", "message");
+ FixTime = StringToTimeSpan(message[0]);
+ Rms = NmeaMessage.StringToDouble(message[1]);
+ SemiMajorError = NmeaMessage.StringToDouble(message[2]);
+ SemiMinorError = NmeaMessage.StringToDouble(message[3]);
+ ErrorOrientation = NmeaMessage.StringToDouble(message[4]);
+ SigmaLatitudeError = NmeaMessage.StringToDouble(message[5]);
+ SigmaLongitudeError = NmeaMessage.StringToDouble(message[6]);
+ SigmaHeightError = NmeaMessage.StringToDouble(message[7]);
+ }
+
+ ///
+ /// UTC of position fix
+ ///
+ public TimeSpan FixTime { get; private set; }
+
+ ///
+ /// RMS value of the pseudorange residuals; includes carrier phase residuals during periods of RTK (float) and RTK (fixed) processing
+ ///
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Rms")]
+ public double Rms { get; private set; }
+
+ ///
+ /// Error ellipse semi-major axis 1 sigma error, in meters
+ ///
+ public double SemiMajorError { get; private set; }
+
+ ///
+ /// Error ellipse semi-minor axis 1 sigma error, in meters
+ ///
+ public double SemiMinorError { get; private set; }
+
+ ///
+ /// Error ellipse orientation, degrees from true north
+ ///
+ public double ErrorOrientation { get; private set; }
+
+ ///
+ /// Latitude 1 sigma error, in meters
+ ///
+ ///
+ /// The error expressed as one standard deviation.
+ ///
+ public double SigmaLatitudeError { get; private set; }
+
+ ///
+ /// Longitude 1 sigma error, in meters
+ ///
+ ///
+ /// The error expressed as one standard deviation.
+ ///
+ public double SigmaLongitudeError { get; private set; }
+
+ ///
+ /// Height 1 sigma error, in meters
+ ///
+ ///
+ /// The error expressed as one standard deviation.
+ ///
+ public double SigmaHeightError { get; private set; }
+ }
+}
diff --git a/src/NmeaParser.Shared/NmeaParser.Shared.projitems b/src/NmeaParser.Shared/NmeaParser.Shared.projitems
index 8cc777b..745fabb 100644
--- a/src/NmeaParser.Shared/NmeaParser.Shared.projitems
+++ b/src/NmeaParser.Shared/NmeaParser.Shared.projitems
@@ -13,6 +13,7 @@
+