24.2. Live GPS tracking

QGIS can help you do field mapping with a GPS receiver. Such a live tracking operation is done using the GPS Toolbar. Some device configuration may be needed before connecting QGIS and the GPS receiver.

24.2.1. GPS toolbar

The GPS Toolbar provides the main tools to control a live tracking session. It can be activated from View ► Toolbars ► GPS. It follows the state of the project, GPS, and current GPS track, and enables actions only when they make sense. Once a device is detected by QGIS, you will be able to interact with it:

  • gpsConnect Connect to GPS

  • gpsDisconnect Disconnect from GPS

  • recenter Recenter map on GPS location: the map will immediately recenter on the current GPS position regardless of the automatic recentering parameter.

  • gpsDestinationLayer Set destination layer for GPS digitized features: By default, QGIS will Follow active layer for feature digitizing, meaning that GPS digitizing tools will adapt to the layer selected in Layers panel and created features will be stored in it accordingly. While this may be useful in some contexts, it also implies careful interaction with other layers to avoid storing inadvertently features in undesired layers. This option allows you to explicitly indicate a layer for the data storage during the live tracking session, and you could switch depending on your needs. Exposed tools will adapt as well to the selected layer type.

    The GPS destination layer is made automatically editable when a feature is being created, and the user is notified accordingly.

  • actions for feature creation:

    • addTrackPoint Add vertex to GPS track using GPS current location

    • capturePoint Create a new point feature at current GPS location

    • captureLine Create a new line feature using the current GPS track

    • capturePolygon Create a new polygon feature using the current GPS track

    • reset Reset track

  • metadata Show GPS information: opens the GPS Information panel

  • a display box for quick access to some GPS information components you may need:

    • unchecked Show location

    • unchecked Show altitude (Geoid)

    • unchecked Show altitude (WGS 84 ellipsoid)

    • unchecked Show ground speed

    • unchecked Show bearing

    • unchecked Show total track length

    • unchecked Show distance from start of track

  • The options Settings button opens a drop-down menu with common settings which are expected to be modified mid-session:

    • unchecked Show location marker

    • unchecked Show bearing line

    • unchecked Rotate map to match GPS direction

    • Options to control map recentering:

      • radioButtonOff Always recenter map when the GPS position is offset from the map canvas center by a certain distance (as a ratio of the map canvas extent)

      • radioButtonOn Recenter map when leaving extent

      • radioButtonOff Never recenter

    • unchecked Automatically add track vertices whenever new locations are received from the GPS device.

    • unchecked Automatically save added features: features created from GPS locations are immediately committed to their target layers (skipping the usual layer edit buffer)

    • Time stamp destination to adjust the field for time fix storage

    • unchecked Log to GeoPackage/SpatiaLite…: When activated, the user will be prompted to select an existing GeoPackage/SpatiaLite file or enter a new file name. A gps_points and gps_tracks table will be created in the file with a predefined structure.

      All incoming GPS messages will be logged to the gps_points layer, along with speed, bearing, altitude and accuracy information from the GPS.

      When the GPS is disconnected (or QGIS closed), the entire recorded GPS track will be added to the gps_tracks table (along with some calculated information like track length, start and end times).

    • unchecked Log NMEA sentences…: enables logging all raw NMEA strings from the device to a text file

    • options GPS settings… to access the GPS global options dialog


Live status bar information on position

When a GPS device is connected and the user moves the cursor over the map canvas, a live status bar message displays the distance and bearing from the cursor to the GPS position. Project distance and bearing settings are respected in this display. On a touch screen device, use a tap-and-hold event to trigger the live status bar message.

24.2.2. GPS Information Panel

For full monitoring of a live GPS tracking in QGIS, you may need to enable the GPS Information Panel (View ► Panels ► or press Ctrl+0).

In the top right corner of the GPS Information Panel, you press Connect to initiate connection between QGIS and a plugged-in GPS receiver, or Disconnect them.

In the top left of the panel, following buttons are accessible:

  • metadata Position: live details on the GPS position and sensors

  • gpsTrackBarChart Signal: signal strength of satellite connections

  • options Settings: drop-down menu to live tracking options you may need to modify during a session Position and additional attributes

In the metadata Position tab, if the GPS is receiving signals from satellites, you will see your position in latitude, longitude and altitude together with additional attributes.


Fig. 24.4 GPS tracking position and additional attributes

  • Latitude

  • Longitude

  • Altitude (Geoid): Altitude/elevation above or below the mean sea level

  • Altitude (WGS 84 ellipsoid): Altitude/elevation above or below the WGS-84 Earth ellipsoid

  • Geoidal separation: Difference between the WGS-84 Earth ellipsoid and mean sea level (geoid), - means mean sea level is below ellipsoid

  • Time of fix

  • Speed: Ground speed

  • Direction: Bearing measured in degrees clockwise from true north to the direction of travel

  • HDOP: Horizontal dilution of precision

  • VDOP: Vertical dilution of precision

  • PDOP: Dilution of precision

  • H accuracy: Horizontal accuracy in meters

  • V accuracy: Vertical accuracy in meters

  • 3D accuracy: 3D Root Mean Square (RMS) in meters

  • Mode: GPS receiver configuration 2D/3D mode, can be automatic or manual

  • Dimensions: Position fix dimension, can be 2D, 3D or No fix

  • Quality: Positioning quality indicator

  • Status: Position fix status, can be Valid or Invalid

  • Satellites: Count of satellites used in obtaining the fix

  • Total track length: Total distance of current GPS track

  • Distance from start of track: Direct distance from first vertex in current GPS track to latest vertex Signal

With gpsTrackBarChart Signal tab, you can see the signal strength of the satellites you are receiving signals from.


GPS tracking signal strength

24.2.3. Connect to a Bluetooth GPS for live tracking

With QGIS you can connect a Bluetooth GPS for field data collection. To perform this task you need a GPS Bluetooth device and a Bluetooth receiver on your computer.

At first you must let your GPS device be recognized and paired to the computer. Turn on the GPS, go to the Bluetooth icon on your notification area and search for a New Device.

On the right side of the Device selection mask make sure that all devices are selected so your GPS unit will probably appear among those available. In the next step a serial connection service should be available, select it and click on Configure button.

Remember the number of the COM port assigned to the GPS connection as resulting by the Bluetooth properties.

After the GPS has been recognized, make the pairing for the connection. Usually the authorization code is 0000.

Now open GPS information panel and switch to options GPS options screen. Select the COM port assigned to the GPS connection and click the Connect. After a while a cursor indicating your position should appear.

If QGIS can’t receive GPS data, then you should restart your GPS device, wait 5-10 seconds then try to connect again. Usually this solution work. If you receive again a connection error make sure you don’t have another Bluetooth receiver near you, paired with the same GPS unit.

24.2.4. Examples of GPS devices connection in QGIS Using GPSMAP 60cs

MS Windows

Easiest way to make it work is to use a middleware (freeware, not open) called GPSGate.

Launch the program, make it scan for GPS devices (works for both USB and BT ones) and then in QGIS:

  1. In Settings ► Options ► GPS, detect the plugged-in device. You can use the radioButtonOn Autodetect mode.

  2. Press Connect in the GPS Information panel

Ubuntu/Mint GNU/Linux

As for Windows the easiest way is to use a server in the middle, in this case GPSD, so

  1. Install the program

    sudo apt install gpsd
  2. Then load the garmin_gps kernel module

    sudo modprobe garmin_gps
  3. And then connect the unit and check with dmesg the actual device being used by the unit, for example /dev/ttyUSB0.

  4. Now you can launch gpsd

    gpsd /dev/ttyUSB0
  5. And finally connect with the QGIS live tracking tool. Using BTGP-38KM datalogger (only Bluetooth)

Using GPSD (under Linux) or GPSGate (under Windows) is effortless. Using BlueMax GPS-4044 datalogger (both BT and USB)

MS Windows

The live tracking works for both USB and BT modes, by using GPSGate or even without it, just use the radioButtonOn Autodetect mode, or point the tool to the right port.

Ubuntu/Mint GNU/Linux


The live tracking works both with GPSD

gpsd /dev/ttyACM3

or without it, by connecting the QGIS live tracking tool directly to the device (for example /dev/ttyACM3).

For Bluetooth

The live tracking works both with GPSD

gpsd /dev/rfcomm0

or without it, by connecting the QGIS live tracking tool directly to the device (for example /dev/rfcomm0).