24.1. Introducing GNSS/GPS Data

24.1.1. What is GPS?

GPS, the Global Positioning System, is a satellite-based system that allows anyone with a GPS receiver to find their exact position anywhere in the world. GPS is used as an aid in navigation, for example in airplanes, in boats and by hikers. The GPS receiver uses the signals from the satellites to calculate its latitude, longitude and (sometimes) elevation. Most receivers also have the capability to store:

  • locations (known as waypoints)

  • sequences of locations that make up a planned route

  • and a track log of the receiver’s movement over time.

Waypoints, routes and tracks are the three basic feature types in GPS data. QGIS displays waypoints in point layers, while routes and tracks are displayed in linestring layers.

Note

QGIS supports also GNSS receivers. But we keep using the term GPS in this documentation.

24.1.2. Transferring or loading GPS data

24.1.2.1. Loading a GPX file

There are dozens of different file formats for storing GPS data. The format that QGIS uses is called GPX (GPS eXchange format), which is a standard interchange format that can contain any number of waypoints, routes and tracks in the same file.

To load a GPX file:

  1. Open the GPS tab in the Data Source Manager dialog, i.e.:

    • Click the dataSourceManager Open Data Source Manager button on the toolbar (or press Ctrl+L) and enable the target tab

    • Or select Layer ► Add Layer ► addGpsLayer Add GPX Layer…

  2. Use the Browse button next to the GPX dataset option to select the GPX file

  3. Use the check boxes to select the Feature types you want to load from the file. Each feature type (Waypoints, Tracks or Routes) will be loaded in a separate layer.

../../../_images/gps_datasource.png

Fig. 24.1 Loading GPS Data dialog

24.1.2.2. Loading to or from a device

There are lots of different types of GPS devices and formats. Since QGIS uses GPX files, you need a way to convert other GPS file formats to GPX. QGIS can do that using the free program GPSBabel. GPSBabel can help you convert waypoints, tracks, and routes between popular GPS receivers such as Garmin or Magellan and mapping programs like Google Earth or Basecamp. Literally hundreds of GPS receivers and programs are supported. It can also transfer GPS data between your computer and a GPS device.

Under Settings ► options Options ► gps GPS ► gps GPSBabel, QGIS allows you to define your own device type and set parameters of conversion that could later be used by the Processing GPS algorithms.

../../../_images/options_gpsbabel.png

Fig. 24.2 GPS Babel settings

  1. First you have to define the Path to GPSBabel binaries.

  2. Then you may want to add your device. You can update devices list using symbologyAdd Add new device or symbologyRemove Remove device button.

  3. For each device:

    • you provide a Device name

    • you configure different Commands QGIS will use while interacting with it, such as:

      • Waypoint download from the device

      • Waypoint upload to the device

      • Route download from the device

      • Route upload to the device

      • Track download from the device

      • Track upload to the device

      While the commands are usually GPSBabel commands, you can also use any other command line program that can create a GPX file. QGIS will replace the keywords %type, %in, and %out when it runs the command.

      As an example, if you create a device type with the download command gpsbabel %type -i garmin -o gpx %in %out and then use it to download waypoints from port /dev/ttyS0 to the file output.gpx, QGIS will replace the keywords and run the command gpsbabel -w -i garmin -o gpx /dev/ttyS0 output.gpx.

      Read the GPSBabel manual for the command line options that may be specific to your use case.

Once you have created a new device type, it will appear in the device lists for the GPS download and upload algorithms.

Note

GPS units allow you to store data in different coordinate systems. When downloading a GPX file (from your GPS unit or a web site) and then loading it in QGIS, be sure that the data stored in the GPX file uses WGS 84 (latitude/longitude). QGIS expects this, and it is the official GPX specification. See GPX 1.1 Schema Documentation.