Garmin GDB Reader/Writer

FME reads from and writes to the Garmin GDB format: a binary format that contains waypoints, tracks, and routes generated by a Garmin® GPS device.

Garmin GDB is used by Garmin MapSource software versions 6.0 and above. Garmin’s MPS file format was used prior to version 6.0.

Dependencies  To use FME to translate to or from this format, you may need to install GPSBabel. GPSBabel is a free tool for converting between various GPS formats. Download GPSBabel from http://www.gpsbabel.org.

Garmin GDB Product and System Requirements

Format

Platform

Operating System

Reader/Writer

FME Desktop License

FME Server

FME Cloud

Windows 64-bit

Linux

Mac

Reader

Available in FME Professional Edition and higher

Yes

No

Yes

Yes

Yes

Writer

Available in FME Professional Edition and higher

Yes

No

Yes

Yes

Yes

Reader Overview

FME considers a single Garmin GDB file to be a dataset. All features in each dataset use the LL84 coordinate system.

Unicode attribute reading is supported.

Writer Overview

The dataset is the destination filename. The feature type of each dataset is the filename.

The Garmin GDB writer will only write data in decimal degrees (WGS84 datum). All features passed to the writer will be reprojected to LL84 (EPSG:4326) if this functionality is licensed. Features with no coordinate system are assumed to be in LL84.

The Garmin GDB writer uses a fixed schema.

For the Garmin GDB format, GPSBabel will always create an equivalent waypoint for every route point or route vertex written.

The order of route points and track points is important. Ensure that route points are sorted by route_fid and route_point_id, and track points are sorted by track_fid, track_seg_id, and track_seg_point_id. Unsorted points may yield unexpected results.

Garmin GDB does not support multi-segment tracks. Multiple segments will be joined into a single segment.

Note: Unicode attribute writing is not supported. Accented characters are replaced with unaccented equivalents. Other Unicode characters are replaced with “$”.