How can I connect an external GPS / GNSS receiver to ZED cameras to geo-tag the video?

Last updated: October 23, 2026

ZED cameras have no built-in GPS receiver. However, the ZED SDK natively supports the fusion of camera data with an external GNSS receiver through the Global Localization module, available since ZED SDK v4.0. This is the recommended solution: manual synchronization and custom Kalman filtering are no longer required.

Global Localization module

The Global Localization module provides real-time camera tracking and localization in a global coordinate system by fusing data from three sources: stereo vision, IMU, and GNSS. The module also works in GNSS-denied environments: when satellite data is unavailable or unreliable, visual-inertial odometry takes over, and GNSS corrects the drift that visual odometry accumulates over time.

The workflow:

  1. Enable Positional Tracking on the ZED camera and publish its data to the Fusion module with startPublishing().

  2. Initialize a Fusion object, subscribe to the camera, and enable Fusion positional tracking with enable_GNSS_fusion = true.

  3. Feed the GNSS receiver data (latitude, longitude, altitude, covariance, timestamp) to the Fusion module with ingestGNSSData().

  4. Retrieve the fused global position with getGeoPose(), or the fused local pose with getPosition().

Every ZED frame is tagged with its epoch timestamp, so the SDK synchronizes camera and GNSS data by timestamp, and you can tag each video frame with its corresponding geo-position.

Full documentation, with C++ and Python code walkthroughs:

Code samples

The Global Localization samples on GitHub include:

  • a Live sample, which fuses the ZED camera with an external GNSS receiver and displays the geo-position on a real-world map;

  • a Recording sample, which saves synchronized data to an SVO file and a JSON file;

  • a Playback sample, which replays the recorded data offline.

ROS 2

The ZED ROS 2 Wrapper natively supports GNSS fusion: you only need to provide a NavSatFix topic from your GNSS receiver. See Geo Tracking with ROS 2.

Hardware with integrated GNSS support