Built-in phone GPS puts you within a few meters of the truth. For asset inventories, utility staking, or as-built capture, a few meters is a different feature. This guide covers two workflows: real-time kinematic corrections inside ArcGIS Field Maps, and a QGIS RTK GPS workflow running through QField. Both draw on the same NTRIP correction source; what differs is where corrections are applied and which platform limits apply.
High-accuracy ArcGIS Field Maps data collection and centimeter-level positioning in QField rest on the same three-part chain: a multi-band GNSS receiver computes the position, an NTRIP client streams RTCM corrections to it over the internet, and the mapping app is told to trust that receiver instead of the phone's internal chip. Break any link and you fall back to meter-level positions that still look plausible.
- Have five NTRIP values ready: server, port, mountpoint, username, password.
- In Field Maps, corrections are set in the receiver's companion app; the receiver is then a location provider over Bluetooth.
- QField 4.2 (June 2026) added a built-in NTRIP client, making the Lefebure mock location detour optional on Android.
- iOS is the constrained platform: no mock location, no TCP location provider in Esri's app.
- Correction age decides the fix. Past roughly 10 seconds, the engine stops resolving and you stay on FLOAT.
- Log nothing until the status reads FIX. FLOAT is decimeter work at best.
What RTK Positioning in a Mobile GIS App Actually Is
Three components have to line up, and each one fails differently. The GNSS receiver computes the position. The NTRIP client pulls RTCM corrections from a caster and feeds them to that receiver. The mapping app selects the receiver as its location source instead of the phone's internal chip. Field Maps and QField differ mainly in where the second component lives.
What You Need for RTK GPS in the Field
A multi-band GNSS receiver that accepts RTCM corrections, a mobile device with data, and an NTRIP subscription covering your job site. Then collect your credentials:
| Field | What it is | Typical value |
|---|---|---|
| Server / caster | Correction service hostname, regional | rtk.rtkdata.com, eu.rtkdata.com or aus.rtkdata.com, whichever your My Account page shows |
| Port | Caster TCP port | 2101 |
| Mountpoint | Stream you subscribe to | AUTO (in capitals) |
| Username | RTK credential, not website login | from My Account |
| Password | Pairs with the username | from My Account |
Use the regional caster your account is provisioned for. Pointing a European rover at a North American endpoint adds latency you will feel in the fix time. Our primer on what NTRIP is and how RTCM corrections reach a rover explains the protocol first, and the NTRIP connection flow shows what happens between client and caster. Receivers crews pair with these apps include Emlid Reach RS3 and RX, Trimble R-series, Bad Elf Flex, EOS Arrow, and ArduSimple; see our guide on how to choose a GNSS receiver.
Setting Up RTK in ArcGIS Field Maps
Esri's app has no NTRIP client of its own. The documentation is explicit (retrieved August 2026): if you use RTK positioning, "you must provide access information for the correction source being used" through your GPS device's companion app. Field Maps consumes an already-corrected position and records the metadata.
Connect Your GNSS Receiver via Bluetooth
Field Maps supports built-in receivers and external receivers connected over Bluetooth. Pair at operating-system level, then open the profile menu, go to the location section, choose Provider, and add the device.
Antenna height is entered during this step and is a frequent source of vertical error. Emlid's integration notes (retrieved August 2026) warn that the antenna offset is not added automatically in Field Maps: your value must include both the pole height and the receiver's own offset, 134 mm on a Reach RS3. Get it wrong and every elevation is off by the same constant.
Enter Your NTRIP Correction Source
This happens in the receiver's companion app. Emlid Flow, Eos Tools Pro, Trimble Mobile Manager, and Geode Connect expose the same five fields. Start the stream there, confirm a fixed solution, then switch to Field Maps and select the receiver as current provider. If the operating system kills that app, corrections stop and collection continues at degraded accuracy.
Set Accuracy Thresholds and GPS Metadata Fields
Set a required accuracy so positions worse than your tolerance are refused rather than quietly stored. Esri also offers a 95 percent confidence option, which converts the receiver's RMS values from the roughly 63 to 68 percent default to a 95 percent interval.
Metadata makes the survey defensible. When the layer carries the right fields, Field Maps records horizontal and vertical accuracy in RMS meters, HDOP and VDOP, satellite count, correction source, fix time, and fix type. Review fix type afterwards: 0 is not valid, 1 standalone GPS, 2 differential, 4 RTK fixed, 5 RTK float. Filtering on fix type 4 is the fastest audit of a day's work, and it makes precision field data collection auditable instead of anecdotal.
Datum Transformation and Coordinate Systems
Your receiver reports positions in the correction service's reference frame; your web map has its own coordinate system. When they differ, a datum transformation is applied, and every transformation adds error, so Esri advises picking coordinate systems that minimize the hops.
Height needs the same discipline. RTK delivers ellipsoidal height, while most engineering deliverables expect orthometric height above a geoid model, and the gap runs to tens of meters. Agree on the vertical reference before capture, not during QA. Crews doing utility asset mapping with RTK settle this once per client.
Setting Up RTK in QGIS and QField
Prepare the project on the desktop, package it with QFieldSync, and take it to the tablet. The correction side has three routes, and most forum confusion comes from mixing them up.
Since version 4.2, released 9 June 2026, the app has a built-in NTRIP client. Connect an RTK-capable receiver over Bluetooth, BLE, or TCP from the positioning settings panel, enter your caster credentials, and refresh to list available mountpoints. A status dot above the map shows the correction link: blue for flowing, orange for stalled, gray for off. Take this route on current versions; the two below still matter for legacy installations and receivers that manage their own connection.
Android: Mock Location via Lefebure NTRIP Client
The classic Android approach uses Lefebure NTRIP Client as a bridge. It talks to the receiver, pulls corrections from the caster, and publishes the corrected position to every app. Two switches must be set, and missing either is the most reported failure: enable developer options and nominate Lefebure as the mock location app, then enable its mock location provider. In the field app's positioning settings, keep the internal antenna source selected, because the position arrives through the system.
Two constraints matter. Lefebure needs Bluetooth Serial Port Profile, so BLE-only hardware will not pair with it. And network RTK services need your approximate position, so "send NMEA GGA to server" must be on or you will sit on FLOAT indefinitely. Our QField RTK setup guide walks through the screens with RTKdata credentials.
Android and iOS: Receiver With a Built-In NTRIP Client
If the receiver runs its own NTRIP client over an internal SIM, Wi-Fi, or a tethered phone, it handles the caster connection and streams a corrected NMEA solution to the app. No mock location, no bridge app, no developer options. It behaves identically on both platforms, which is why enterprise fleets standardize on receivers with onboard connectivity.
Load Your QGIS Project in QField and Verify Fix
Open the packaged project, enable positioning, and read the information panel before touching a form. Confirm the position source is the receiver you expect, that accuracy is in centimeters not meters, and that the status is fixed. Set the pole height here too: measured altitude is corrected by that value.
iOS vs Android: RTK Support Differences
Mock location is an Android operating-system feature. It does not exist on iOS, so the Lefebure route is Android-only. Second, Esri's app offers no TCP location provider on iOS: SparkFun's RTK manual (retrieved August 2026) states that Esri removed TCP support from Field Maps for iOS, and points iOS users to SW Maps, QuickCapture, or Survey123 instead. Field Maps on iOS expects an MFi-certified receiver over Bluetooth. Third, QField's documentation lists Bluetooth, TCP, and UDP for iOS, with serial port Android and desktop only. BLE in 4.2 made direct Bluetooth connections to receivers on iOS possible. On iOS, put the NTRIP client in the receiver or use the built-in one. On Android, every route is open.
Check coverage before you commit
Correction quality depends on your distance to the nearest reference station. Verify fix times with your receiver and your job geometry before rollout.
Understanding Fix Status: SINGLE, FLOAT, and FIX
SINGLE, sometimes labeled autonomous, means no corrections are applied. Accuracy sits in the meter range and waiting does not improve it. FLOAT means corrections are arriving and the receiver is estimating carrier-phase ambiguities but has not resolved them to integers, so expect decimeter-level results. An RTK fix means the ambiguities are resolved and you are at centimeter level.
Under open sky with a working correction stream, SINGLE to FLOAT to FIX normally takes seconds. Under canopy or on a marginal cellular link it can stall on FLOAT indefinitely, which is a signal to move rather than wait. Record nothing unless the status reads FIX, and set the accuracy threshold so the app enforces it. Our explainer on how centimeter accuracy actually works covers the mathematics behind ambiguity resolution.
What Correction Age Does to Your Fix
The status dot tells you whether corrections are flowing. It does not tell you whether they arrive fast enough to be useful, and that is the number that decides most stuck-on-FLOAT sessions. Here is what we observe across the RTKdata network.
- Correction age under about 5 seconds is what normal fixed operation needs. Past roughly 10 seconds the RTK engine stops resolving ambiguities and drops back to float, no matter how good your sky view is.
- 10 to 30 seconds from connection to fix is the typical range once the stream is live and the receiver has sky view.
- Baseline distance follows coverage density: under 5 to 15 km in metros and dense network areas, 10 to 30 km in rural regions, above 30 km in remote areas. Longer baselines mean longer convergence and more float time.
The practical consequence: when you are stuck on FLOAT, check correction age before you blame the sky. A stalled or high-latency cellular link produces exactly the same symptom as tree canopy, and only one of the two is fixed by walking somewhere else. Our write-up on how distance impacts NTRIP RTK accuracy covers the baseline side in depth.
Common RTK Connection Issues and How to Fix Them
| Symptom | Likely cause | Action |
|---|---|---|
| TIMEOUT connecting to the caster | Wrong port, mountpoint case, or credentials | Confirm port 2101, mountpoint in capitals, RTK credentials not portal login |
| Bluetooth device not listed | BLE-only receiver, or another app holds the link | Match the profile the client needs, close competing apps |
| Mock location has no effect | Not nominated in developer options, or app suspended | Re-select it, disable battery optimization, keep it foregrounded |
| Status stays on FLOAT | GGA not sent, or correction age above 10 seconds | Enable NMEA GGA output, check correction age and cellular link, then check baseline and sky view |
| Heights consistently off | Antenna height missing or offset not included | Re-enter pole height plus phase-center offset |
If the fault survives that table, our RTK troubleshooting guide isolates receiver, network, and app layers in order.
Frequently Asked Questions
Does ArcGIS Field Maps have a built-in NTRIP client?
No. Esri's documentation directs you to configure the correction source in your GPS device's companion app. Field Maps consumes the corrected position and stores the metadata.
Can I get centimeter accuracy in Esri's app on an iPhone?
Yes, with an MFi-certified Bluetooth receiver whose corrections are configured in its own companion app. What you cannot do on iOS is connect a receiver over TCP.
Does QField still need Lefebure for RTK corrections?
Not on current versions. QField 4.2 shipped a built-in NTRIP client in June 2026. Lefebure still helps on older installations and when feeding several apps from one stream.
Why does my mock location never reach the map?
Usually one of three things: the bridge app was not nominated under developer options, its mock provider switch is off, or the system suspended it in the background.
How long should it take to get an RTK fix?
On the RTKdata network, 10 to 30 seconds from connection is typical once the stream is live and the receiver has sky view. If you are still on FLOAT after a minute, check correction age before anything else: past roughly 10 seconds the engine cannot resolve ambiguities.
How accurate is a phone without corrections?
GPS.gov puts a GPS-enabled smartphone at roughly 4.9 m under open sky, and worse near buildings and trees. RTK takes the same job to the centimeter range.
Konstantin Nidens is CEO and Co-Founder of RTKdata, a global NTRIP correction service streaming centimeter-level GNSS positioning from more than 20,000 reference stations across 140+ countries to 10,000+ paying customers. He works daily with survey, drone, and robotics teams on receiver compatibility and correction delivery. LinkedIn