Strange altitudes reported by surveyor

The surveyor reported this sentence (which I modified for privacy on the lat longs. The rest is raw output.). As you can see this is a 3,2,97*65. Meaning a 3D fix with an RTK fix, and 96% battery. with a 0.014 horizontal accuracy to boot.

$GNTXT,01,01,05,201907.75,271025,0.014,28,43.000000000,-71.000000000,-0.52,3,2,97*65

The problem is this reported altitude of “-0.52”. That is completely wrong and should be something more like 27.4 meters. The rumor is that this number is either reporting an altitude relative to a geod height, or perhaps relative to an ellipsoid height. Somewhere here I should add +28 meters (given by a mean altitude in the area) , thus resulting in 27.48. There may have to be some post-processing involving egm96 files?

What do you think the -0.52 means here?

Hi @PulsePerSec ,

That GNTXT message is a custom message containing the “current conditions”. The altitude is actually the height (Height above ellipsoid) field from the NAV-PVT message, converted from mm to m. That’s different to the hMSL (Height above mean sea level).

The standard GPGGA / GNGGA message contains the “Altitude above mean sea level” and the “Geoid separation: difference between ellipsoid and mean sea level”. Knowing those two, you can calculate the “Height above ellipsoid” manually.

I hope this helps,
Paul

1 Like

Hello Paul,

Thank you for the quick reply. Would you happen to know a simple way to display the hMSL while connected to a surveyor via serial COM and a TTY terminal?

@PulsePerSec , The GGA message will give you the Orthometric Height based on the decimated Geoid stored inside the F9P used in the SparkFun Surveyor. The GGA message also tells you the Geoid Seperation it used to calculate the Orthometric height, incase you want to apply your own (more accurate) Geoid Model.

So in your case, find the actual GGA message, and read Field #9 directly. Orthometric height is essentially height above mean sea level, but is more accurately defined.

Example:
$GNGGA,172814.0,3723.46587704,N,12202.26957864,W,2,6,1.2,18.893,M,-25.669,M,2.0 0031*4F

GGA message fields
Field	Meaning
0	Message ID $GNGGA
1	UTC of position fix
2	Latitude
3	Direction of latitude:
N: North
S: South

4	Longitude
5	Direction of longitude:
E: East
W: West

6	GPS Quality indicator:
0: Fix not valid
1: GPS fix
2: Differential GPS fix (DGNSS), SBAS,
3: Not applicable
4: RTK Fixed, 
5: RTK Float, 
6: INS Dead reckoning

7	Number of SVs in use, range from 00 through to 24+
8	HDOP
9	Orthometric height (MSL reference)
10	M: unit of measure for orthometric height is meters
11	Geoid separation
12	M: geoid separation measured in meters
13	Age of differential GPS data record, Type 1 or Type 9. Null field when DGPS is not used.
14	Reference station ID
15	The checksum data, always begins with *

Or connect SW Maps and look at the GNSS Status page. It’s just reading the GGA message for you.

1 Like

Hello rftop,

It seems I can use the data I have collected to calculate hMSL in post-processing , per your directions. I won’t need to collect these again in the field. Thanks.

1 Like