“I am continually amazed by how little code is required to use atomic clocks in
satellites 11,000 miles above my head.” -- Jon Person, author of GPS.NET
What is it that GPS applications need to be good enough to use for in-car
navigation? Also, how does the process of interpreting GPS data actually work?
In this two-part series, I will cover both topics and give you the skills you
need to write a commercial-grade GPS application.
Introduction
In part one of this article, I described how to
write an interpreter for raw GPS NMEA data. The article included source code in
VB.NET which harnessed the power of GPS satellites to determine the current
location, synchronize the computer clock to atomic time, and point to a satellite
on a cloudy day. The interpreter also works with hand-held devices and supports
international developers. Yet, the interpreter was really not suitable for
commercial use because it did not monitor precision. Without precision, an
application could end up making unintelligent business decisions such as
accidentally telling a driver to turn left into an alley, or worse. In this
second part, I’ll cover precision in detail and talk about what it takes to make
GPS applications smart enough for in-car navigation and reliable enough for
commercial use.

Next Page: Causes of Precision Error
When processing GPS data, one particular NMEA sentence has almost everything a developer needs.