Garmin Waypoints

Problem

How do you manipulate GPS waypoints, track logs, and routes on the Garmin iQue series?

 

 

Bad News

There is nothing in the released API from Garmin that allows access to track logs or routes on the device.

 

Good News

Although there is nothing in the released API from Garmin that covers waypoints, the format is fairly obvious once you look at it. A Garmin engineer confirmed the following info for me after I worked it out on my own.

Waypoints are stored as Address Book entries. A waypoint is an address entry with a specially formatted Custom4 field. It looks something like this: GARMIN 217E4BBB A4444445 B4007 A40AF9122

The 4 hex numbers following the word GARMIN are, respectively, the latitude, longitude, icon symbol number, and elevation. Icon and elevation are optional. You could have either, both, or neither.

Latitude and longitude are expressed as semicircles, using the WGS-84 datum. 2^31 semicircles is 180 degrees. Thus Garmin manages to use the full dynamic range of a 32 bit field to express the 360 degree range of longitude that could be encountered. Garmin's iQue SDK and their I/O Specification both describe semicircles in more detail.

The icon string is a hex "B" followed by four hex digits; the hex digits are the same as the numbers listed on pages 32-35 of the Garmin GPS I/O Specification . That spec also says that not all waypoint numbers are supported on all devices, and indeed it seems that only the 45 icons displayed on the Quemap icon selection form are available. If an icon other than those 45 is selected, only the default square dot appears.

Elevation strings always start with a hex "A", and are followed by 8 hex digits. The 8 hex digits are the floating point representation (IEEE-754 single precision) of the elevation, in meters. Elevation with respect to what? I don't know yet. There's no sign that the iQue 3600 uses the waypoint's elevation for anything useful, so the question may not matter. Although the iQue 3600's on-device waypoint editing screen does not allow you to enter negative numbers for elevation, it will display negative numbers if you use some other software (e.g. IQ Booster, or a third-party address book app) to set the field appropriately. Note that while the display is in feet, the internal storage is in meters.

If the address book entry contains first/last names, they are used as the waypoint label in the Garmin QMap display. If no name is present, the Company field is used.

The easiest way to add waypoints programmatically is with the PDI Manager and Exchange Manager.

-- HalMueller - 01 Oct 2003

Today: Sep 10, 2010