GNSS Tools¶
A collection of tools for GNSS, RTK, and coordinate work.
I’ve been running a personal RTK base station and a DIY rover for a few years just for fun.
While contributing to OpenStreetMap, I needed a tool for coordinate conversion—and I eventually got carried away, building a complete suite of tools for future use.
Coordinate Converter¶
Converts between common geodetic and projected coordinate reference systems used in Denmark and Europe.
Please note that the calculations might differ in the final decimal place. Different tools use different rounding method, we are using the PROJ conversions here.
Ellipsoidal → DVR90 Height¶
Your GNSS receiver usually reports ellipsoidal height — the distance above the WGS84 mathematical ellipsoid, not above sea level. Denmark's official vertical datum DVR90 (2023) follows the geoid, which approximates mean sea level.
Decimal Degrees ↔ DMS¶
55°40'34.03"N, 55 40 34.03 N, or 55 40 34.03.Distance & Bearing¶
Geodetic distance and bearing between two WGS84 points (Vincenty formula, accuracy ±0.5 mm).
NTRIP Caster Tester¶
Generates curl commands ready to run from a terminal. Browsers can't connect to most NTRIP casters directly (CORS + HTTP/0.9), so this is the practical alternative.
For RTCM stream capture, the generated command pipes the output through xxd to produce hex — paste that hex straight into the RTCM Message Analyzer below.
NTRIP 1.0 casters respond with SOURCETABLE 200 OK instead of a standard HTTP status line, which curl rejects by default. The --http0.9 flag in the generated commands handles this.
RTCM Message Analyzer¶
Paste an RTCM 3.x stream as a hex string (or base64) to see which message types it contains. Useful when diagnosing what correction data a base station or NTRIP caster is actually sending — and whether it matches what your rover expects.
Capture RTCM bytes from a serial log, str2str, Wireshark, or your GNSS receiver's debug output and paste the hex dump here.
NMEA Sentence Parser¶
Paste one or more NMEA sentences to decode them. Supports GGA, RMC, GSA, GLL, VTG, GSV.
RTK Base Station Correction¶
When your RTK base is placed at an assumed or approximate position, all rover measurements carry that same offset error.
How it works: Measure a known survey point with your rover.
Enter the base current configured assumed position, the true survey point coordinates, and your rover measurement of that survey point.
The tool calculates the position offset and outputs corrected base coordinates. Enter those into your base, and all future rover measurements should be accurate.
Apply Position Offset to Data¶
After correcting a base station, apply the exact same lat/lon offset across a whole file — GeoJSON, KML, XML, CSV, or any other text-based coordinate format — in one pass.
How it works: Paste the file, enter the offsets from the RTK correction above or somewhere else, and set the minimum decimal place count that distinguishes coordinate values from heights or other numbers. The tool scans for every matching number, groups them into latitudes and longitudes by value range, then writes the corrected output.