|8/19/2014: The Garmin GPS 12, How Good is It?|
In the last posting, I described the output format of the Garmin GPS 12 and showed how to read the data with
a python script. A slight modification to the python program turns it into a data logger.
import serial fd = open("garmin_log.txt","w") ser = serial.Serial('COM4',4800,timeout=2) while 1: record = ser.readline() if record[0:6] == '$GPGGA': print record, fd.write(record)
With the GPS-12 plugged into my laptop, I put it in the backseat of my Toyota and let it log data while driving over to the E. Smith YMCA. Using the logged files, I generated the following ground track, displayed in Google Earth.
The big picture shows that the GPS-12 does know something about where it is. If we look more closely, we can see some anomalies. The picture below shows the final path of the ground track as I pulled into the YMCA parking lot and stopped.
Not too good, according to Google Earth. The path into the parking lot is several meters off. This is probably due to error in the GPS-12 fix, but it could be part of the error is due to the map transformations used by Google Earth. That got me interested in comparing the location of a known feature, in this case a fence post in my front yard, with the GPS-12 lat lon fix.
The GPS-12 data is quantized to about six feet (.001 minutes of arc), and the blue square shows the path traversed by the GPS solution reported while I held the receiver over the fence post at the corner of my drive way (red dot).