GPSBabel Documentation


Table of Contents

Introduction to GPSBabel
The Problem: Too many incompatible GPS file formats
The Solution
1. Getting or Building GPSBabel
Downloading - the easy way.
Building from source.
2. Usage
Invocation
Suboptions
Advanced Usage
Route and Track Modes
Working with predefined options
Realtime tracking
Batch mode (command files)
List of Options
3. The Formats
? Character Separated Values (xcsv)
All database fields on one tab-separated line (tabsep)
Columbus/Visiontac V900 files (.csv) (v900)
Comma separated values (csv)
Custom "Everything" Style (custom)
Data Logger iBlue747 csv (iblue747)
Data Logger iBlue757 csv (iblue757)
Embedded Exif-GPS data (.jpg) (exif)
ESRI shapefile (shape)
FAI/IGC Flight Recorder Data Format (igc)
Flexible and Interoperable Data Transfer (FIT) Activity file (garmin_fit)
Garmin 301 Custom position and heartrate (garmin301)
Garmin G1000 datalog input filter file (garmin_g1000)
Garmin MapSource - gdb (gdb)
Garmin MapSource - txt (tab delimited) (garmin_txt)
Garmin POI database (garmin_poi)
Garmin Points of Interest (.gpi) (garmin_gpi)
Garmin serial/USB protocol (garmin)
Garmin Training Center (.tcx/.crs/.hst/.xml) (gtrnctr)
Geocaching.com .loc (geo)
GeoJson (geojson)
GlobalSat DG-100/BT-335 Download (dg-100)
GlobalSat DG-200 Download (dg-200)
GlobalSat GH625XT GPS training watch (globalsat)
Google Earth (Keyhole) Markup Language (kml)
Google Takeout Location History (googletakeout)
GPS Tracking Key Pro text (land_air_sea)
GPS TrackMaker (gtm)
GPSBabel arc filter file (arc)
GpsDrive Format (gpsdrive)
GpsDrive Format for Tracks (gpsdrivetrack)
GPX XML (gpx)
Holux M-241 (MTK based) Binary File Format (m241-bin)
Holux M-241 (MTK based) download (m241)
HTML Output (html)
Humminbird tracks (.ht) (humminbird_ht)
Humminbird waypoints and routes (.hwr) (humminbird)
Lowrance USR (lowranceusr)
MiniHomer, a skyTraq Venus 6 based logger (download tracks, waypoints and get/set POI) (miniHomer)
Mobile Garmin XT Track files (garmin_xt)
MTK Logger (iBlue 747,...) Binary File Format (mtk-bin)
MTK Logger (iBlue 747,Qstarz BT-1000,...) download (mtk)
National Geographic Topo .tpg (waypoints) (tpg)
National Geographic Topo 2.x .tpo (tpo2)
National Geographic Topo 3.x/4.x .tpo (tpo3)
NMEA 0183 sentences (nmea)
OpenStreetMap data files (osm)
OziExplorer (ozi)
Qstarz BL-1000 (qstarz_bl-1000)
SkyTraq Venus based loggers (download) (skytraq)
SkyTraq Venus based loggers Binary File Format (skytraq-bin)
SubRip subtitles for video mapping (.srt) (subrip)
Tab delimited fields useful for OpenOffice (openoffice)
Textual Output (text)
Universal csv with field structure in first line (unicsv)
Vcard Output (for iPod) (vcard)
4. Data Filters
Add points before and after bends in routes (bend)
Include Only Points Inside Polygon (polygon)
Include Only Points Within Distance of Arc (arc)
Include Only Points Within Radius (radius)
Interpolate between trackpoints (interpolate)
Manipulate altitudes (height)
Manipulate track lists (track)
Rearrange waypoints, routes and/or tracks by resorting (sort)
Remove all waypoints, tracks, or routes (nuketypes)
Remove Duplicates (duplicate)
Remove Points Within Distance (position)
Remove unreliable points with high hdop or vdop (discard)
Resample Track (resample)
Reverse stops within routes (reverse)
Save and restore waypoint lists (stack)
Simplify routes (simplify)
Swap latitude and longitude of all loaded points (swap)
Transform waypoints into a route, tracks into routes, ... (transform)
Validate internal data structures (validate)
A. Supported Datums
B. Garmin Icons
C. GPSBabel XCSV Style Files
Introduction to GPSBabel Styles
Style file overview
Internal Constants
Global Properties of the File
GPSBabel Behavior Directives
Defining the Layout of the File
Defining Fields Within the File
Examples
Miscellaneous Notes
Glossary

List of Examples

2.1. Command showing Linux download from Magellan serial and writing to .loc file
2.2. Command showing Windows download from Magellan serial and writing to .loc file
2.3. Merging multiple files into one
2.4. Merging multiple files of differing types.
2.5. Writing the same data in multiple output formats.
2.6. Read realtime positioning from Garmin USB, write to Keyhole Markup
2.7. Read realtime positioning from Wintec WBT-201 via Bluetooth on Mac, write to Keyhole Markup
3.1. Conversion of a v900 csv log file to a gpx format
3.2. Conversion of a v900 csv log file to a gpx 1.1 format
3.3. Example 'csv' file
3.4. Example for gdb bitcategory option to put all waypoints in categories 1 and 16.
3.5. Using gdb option roadbook to create simple html roadbook
3.6. Command showing garmin_txt output with all options
3.7. Command showing garmin_gpi output example
3.8. Read GPX file, create GPI to alert when you're 1/2 mile from a speed camera.
3.9. Example with unspecified language and a garmin points of interest dual language file.
3.10. Example for specifying language with a garmin points of interest dual language file.
3.11. Example for garmin bitcategory option to put all waypoints in categories 1 and 16.
3.12. Command showing DG-100 download and erase on Linux
3.13. Command showing DG-100 erase_only option on Linux
3.14. Command showing DG-200 download and erase on Linux
3.15. Command showing DG-200 erase_only option on Linux
3.16. Command showing list of tracks on device
3.17. Command track can be used to fetch a single track, default is all tracks
3.18. Command showing list of tracks on device
3.19. Command track can be used to fetch a single track, default is all tracks
3.20. Convert entire location history to a single GPX file
3.21. Convert a single years' location history to GPX
3.22. Convert a single months' location history to GPX
3.23. Lowrance GPX Export Data
3.24. Command showing miniHomer download of tracks and erasing the logger on Linux
3.25. Command showing miniHomer erasing the logger without download on Linux
3.26. Command showing miniHomer setting Car and Home POI
3.27. Command showing how to read data from an erased device
3.28. Set the target location of the miniHomer Home POI
3.29. Set the target location of the miniHomer Car POI
3.30. Set the target location of the miniHomer Boat POI
3.31. Set the target location of the miniHomer Heart POI
3.32. Set the target location of the miniHomer Bar POI
3.33. Convert MTK binary trackpoints to GPX
3.34. Command showing MTK download track and waypoints and erase on Linux
3.35. Command showing skytraq download of tracks and erasing the logger on Linux
3.36. Command showing skytraq erasing the logger without download on Linux
3.37. Command showing skytraq download tracks via bluetooth on Linux
3.38. Set the target location of the Skytraq location finder
3.39. Set the logging parameters for Skytraq device
3.40. Command showing how to read data from an erased device
3.41. Example for splitoutput option to text format
3.42. CSV input for UK data with XY coordinates
3.43. CSV input for UK data with alphanumeric coordinates
3.44. Example for unicsv format option to write names of input formats.
3.45. Example for unicsv filename option to write filenames of input formats.
3.46. Example for unicsv fields option to describe input file.
4.1. Using the polygon filter
4.2. Using the polygon and arc filters to find points in or nearly in a polygon
4.3. Using the arc filter
4.4. Using the radius filter to find points close to a given point
4.5. Using the interpolate filter
4.6. This option subtracts the WGS84 geoid height from every altitude. For GPS receivers like the iBlue747 the result is the height above mean see level.
4.7. This options adds a constant value to every altitude.
4.8. Time-shifting a track with the track filter
4.9. Time-shifting a track with the track filter to correct WNRO
4.10. Time-shifting a track with the track filter with combined units
4.11. Merging tracks with the track filter
4.12. Extracting a period of time with the track filter
4.13. Replace time values of a track
4.14. Add time values to a track
4.15. Merging tracks with missing timestamps with the track filter
4.16. Filtering data types with nuketypes
4.17. Using the duplicate filter to suppress points with the same name and location
4.18. Using the duplicate filter to implement an "ignore list."
4.19. Using the duplicate filter to correct the locations of "puzzle" geocaches
4.20. Using the position filter to suppress close points
4.21. Using the discard filter for HDOP and VDOP.
4.22. Using the discard filter to require at least three satellites.
4.23. Discarding specific point by regular expression
4.24. Interpolation with the resampling filter
4.25. Decimation with the resampling filter
4.26. Averaging with the resampling filter
4.27. Converting a track to a sequence of waypoints
4.28. Converting a pile of waypoints to a GPX route
4.29. Converting a pile of waypoints to a GPX track
4.30. Convert a GPX track to a GPX route, deleting the original track, using 2 digits for the generated numbers.
4.31. Convert a GPX track to a GPX route, deleting the original track, naming the generated points like the original track name.
4.32. Convert a GPX track to GPX waypoints, tossing the original track