How to Collect and Correct GCP Data Without NTRIP or a GNSS Rover
Establishing accurate Ground Control Points (GCPs) is essential for producing geospatially correct maps, 3D models, and volumetric data. While many drone operators rely on real-time corrections via NTRIP or GNSS rover kits like the Emlid RS2 and Reach RX, I use a simple, cost-effective workflow that achieves centimeter-level accuracy using only the DJI D-RTK 2 base station.
This approach works entirely offline—no cell service, no rover required—and is ideal for operators working in remote areas or looking to avoid expensive GNSS upgrades.
✅ GCP Data Collection and Correction Workflow
1. Mark and Prepare Ground Control Points
I place aerial GCP targets at key, visible locations across the mapping area. These are durable, high-contrast markers placed evenly across the site and labeled with unique identifiers.
2. Log Static GNSS Data Using DJI D-RTK 2
The DJI D-RTK 2 base station can operate in static mode to record precise GNSS data. I treat each GCP as an individual observation point by doing the following:
- I place the base station directly over the center of the GCP target, using a plumb bob or tripod center pole for vertical alignment.
- The tripod is leveled both at the legs and by using the bubble on the base mount to avoid tilting the antenna.
- I power on the base station and allow it to run in **static GNSS logging mode** for **a minimum of 15 minutes**—though I often extend that to 20–30 minutes if I’m in a location with poor satellite visibility or partial tree cover.
- During this time, the base is collecting raw satellite observations, which are stored in `.dat` format inside the unit.
- Once logging is complete, I power off the base station, relocate it to the next GCP, and repeat the process.
This approach closely mirrors professional survey workflows, and although it’s more time-consuming than using a rover, it produces highly accurate results without needing extra gear.
3. Convert RTCM3 to RINEX Using RTKLIB
After data collection, I transfer the `.dat` log files from the base station to my computer. These logs are recorded in RTCM3 format and must be converted to RINEX for processing.
I use RTKLIB (specifically RTKCONV) to:
- Convert each log file into standard RINEX format
- Retain all satellite observation and navigation data
- Label each output file based on the GCP ID for easy reference
4. Submit to CSRS-PPP for Post-Processing
I upload each RINEX file to Natural Resources Canada’s free CSRS-PPP (Precise Point Positioning) service. The system analyzes the satellite data using precise orbit and clock corrections to calculate corrected coordinates.
- Results are typically accurate to **within 2–5 cm horizontally and vertically**
- I can export the results in various coordinate systems (e.g., WGS84, UTM)
- Final coordinates are imported into my photogrammetry or GIS software to anchor the data
💡 Why I Don’t Use a Rover (Yet)
Many drone mapping professionals use rover kits like the Emlid RS2 and RX to speed up GCP collection—but I’ve opted for a leaner, more cost-effective setup. Here’s why:
- My DJI D-RTK 2 already provides accurate static logging
- I avoid spending thousands on extra gear I don’t currently need
- The workflow is completely offline-capable—no NTRIP, no cellular service required
- It’s slower, but perfect for small teams, solo operators, or early-stage drone businesses
⚙️ Why This Workflow Works
- Static GNSS logging provides high-quality satellite observation data
- RTKLIB conversion ensures compatibility with precision correction systems
- CSRS-PPP delivers verified position data with survey-grade accuracy
- Entirely offline and ideal for rural, remote, or budget-conscious operations
Author:
Robert Lawrence, Advanced RPAS Pilot and Founder of High Attitude Drone Solutions, Inc.
Precision Mapping & Aerial Imaging for Construction, Land Development, and Industry.