Skip to content

The use of Geotagging function

Alexey Dobrovolskiy edited this page Jan 29, 2026 · 6 revisions

Geotagging is a post-processing procedure that embeds precise geospatial coordinates (latitude, longitude (for the .SGY files only), and altitude (for the rest of data files)) into sensor data files, including those produced by magnetometers, ground-penetrating radar (GPR), and related instruments. It is useful because many sensors record measurements without reliable positioning metadata or with positions that are inaccurate due to GNSS limitations, clock drift, system latency or some software errors. By synchronizing sensor observations with high-quality navigation solutions (e.g., RTK/PPK), geotagging enables accurate spatial referencing of each measurement, which is essential for mapping, gridding, and interpretation in GeoHammer, GIS and domain-specific software. Geotagging is typically necessary when:

  • Position and sensor data are logged by separate systems
  • RTK/PPK processing is performed after acquisition
  • Timestamps do not align perfectly and require time-offset correction
  • The acquisition rate differs between the positioning stream and the sensor stream, requiring interpolation.

Main functions

  • Extracts coordinates and altitude from Position Solution Files and injects them into data files to update using timestamp-based synchronization
  • Interpolates coordinates when observations are not available at the exact acquisition time
  • Supports SEG-Y files (commonly used for GPR data)
  • Supports all GeoHammer templates

Templates

Data files Position solution files
Echo sounder NMEA log RTKLib .pos files
SENSYS MagDrone R1 and R3 data (.CSV) KlauPPK .pos files
Geometrics MagArrow data (.CSV) UgCS SkyHub position.csv logs
SEG-Y files with GPR data
Potentially any .CSV format via a custom template

Previously, UGcS-Geotagger was distributed as a standalone application; it has now been fully integrated into GeoHammer as a built-in workflow component.


In this tutorial we'll use data MagArrow Mk2 magnetometer data, that can be downloaded here.
Data was gathered using a Geometrics MagArrow Mk2 magnetometer over the SPH Engineering's test range with buried pipes and barrels.
Comprehensive analysis of this survey "UAV-based magnetometer comparison: utilities detection test" can be read here.



0. Prior any work is done to the existing files, make a backup for both position and data files, as they will be overwritten!

  1. First, we need to export MagArrow Mk2 data (.magdata) into a .CSV (raw data output) file format using Geometrics Survey Manager As we are doing all the filtering in GeoHammer, we'll leave decimation (samples/sec) filter box untouched and include records without locations as we'll use our position file for precise coordinates.
image
  1. Now that we have the more easily usable .csv file, we can start GeoHammer and open the Geotagging function.
image
  1. In the 'Position Files' window we can Drag&Drop our position .csv file (or use the Add file button).
    If there are multiple position and data files, you can set the specific folder and Geotagging function will automatically link them, for example, if you have two folders, one with position files, other with data files. In this window, you can also look at the start/end time so that you can be sure, the correct files have been chosen.
    When you have imported your data and position file, click on blue Process button at the bottom of the window.
image

When the Geotagging function has been completed, we can open the newly-acquired, GNSS precise data file in Geohammer and do the rest of processing. For comparison, we'll show an unmodified flight, where the RTK wasn`t properly working and the newly made file, with precise coordinates.

image
Note, that small upper flight part where only blue line is visible is due to the RTK system starting to work properly (hence, overlapping the red line), as the surveyer had to change drone batteries to fully complete all the intended flight task.

Clone this wiki locally