The GPS Toolkit

Learn how GPS works and get a sharper fix on your position with this freely licensed library.

Improved Ephemerides

The GPS position solution can be improved by using a better
satellite ephemeris. The US National Geospatial-Intelligence Agency (NGA)
generates and makes publicly available a number of precise ephemerides,
which are more accurate satellite orbits. Satellite orbits described by
the broadcast navigation message have an error on the order of meters, and
the precise ephemeris has decimeter accuracy. The International GPS
Service (IGS) is a global civil cooperative effort that also provides free
precise ephemeris products. Global networks of tracking stations produce
the observations that make generation of the precise ephemerides possible.

GPS Data Sources

GPS observation data from many tracking stations are available
freely on the Internet. Many such stations contribute their data to the
IGS. In addition, many networks of stations also post their data to
the Internet, such as the Australian Regional GPS Network (ARGN)
and global cooperatives including NASA's Crust Dynamics Data Information
System (CDIS).

GPS File Formats

Typically, GPS observations are recorded
in a standardized format developed by and for researchers. Fundamental
to this format is the idea that the data should be independent of the
type of receiver that collected it. For this reason, the format is called
receiver independent exchange, or RINEX. Another format associated with
GPS is SP-3, which records the precise ephemeris. The GPSTk supports
both RINEX and SP-3 formats.

GPS Receivers and Open Source

GPS receivers have become less expensive and more capable over the
years, in particular handheld and mobile GPS receivers. The receivers
have many features in common. All of the receivers output a position
solution every few seconds. All receivers store a list of positions,
called waypoints. Many can display maps that can be uploaded. Many
can communicate with a PC or handheld to store information or provide
position estimates to plotting software.

Typically, communication with a PC and other system follows a standard
provided by the National Marine Electronics Association, called
NMEA-0183. NMEA-0183 defines an ASCII-based format for communication of
position solutions, waypoints and a variety of receiver diagnostics. Here
is an example of a line of NMEA data, or sentence:

$GPGLL,5133.81,N,00042.25,W*75

The data here is a latitude, longitude fix at 51° 33.81 min North,
0° 42.25 min West. The last part is a checksum.

As a public standard, the NMEA-0183 format has given the user of GPS
freedom of choice. NMEA-0183 is the format most typically used by open-source applications that use receiver-generated positions.

Closed standards also are common. SiRF is a proprietary protocol
licensed to receiver manufacturers. Many receiver manufacturers implement
their own binary protocols. Although some of these protocols have been
opened to the public, some have been reverse engineered. GPSBabel is an
open-source project to communicate with consumer-grade receivers. The
Sharc Project is a similar project to provide communication with survey-grade receivers.

A number of interesting open-source applications are available that
utilize consumer-grade receivers. With one, you can use open-source applications to
navigate in your car. The GPS Drive Project helps you do that, using a
graphical map. GPS Drive also can be linked to the Festival application to
get driving directions in the form of speech output. Internet sites such
as WiGLE.net have lists of the geographic coordinates of open wireless
LANs; you can use your GPS unit to find these.

Traditionally, DGPS is accomplished with two or more receivers that
communicate position information with radio waves. You can do DGPS over
IP now, using open-source applications. The open-source project called
gpsd essentially broadcasts NMEA-0183 sentences over TCP/IP. The gps3d
Project, which allows you to visualize your position and the configuration
of GPS in 3-D, also can utilize a gps3d server.

All of these applications are based on standard positioning. To move your
positioning capability to the next level, you have to work directly with
the observations made by the receiver. Only a few open-source or
freely available programs exist that give the user this freedom. OpenSourceGPS
is a project to create a GPS receiver based on the Zarlink chipset.
teqc from UNAVCO performs quality assurance and processes
raw data from receivers to generate RINEX, but it is closed source. In
contrast, the purpose of the GPSTk is to give the user the ability to
manipulate not only GPS observations but also to improve the
processing algorithms.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.