The accuracy required when collecting a location depends on the type of project you are working on.
For some projects, such as a map tour, points in the vicinity of a landmark may provide enough information. For other projects, such as asset management, the location collected must be within a few centimeters of the actual location.
When collecting a location using a device's location service, position information can be determined from various sources, such as GPS, cellular, Wi-Fi, or Bluetooth networks. The accuracy of these sources varies, and the device's location service is not always reliable. To perform data collection that requires better accuracy and reliable quality control, using a professional-grade or high-accuracy GPS receiver is usually the best option.
A high-accuracy GPS receiver precisely calculates geographic locations using information from GPS satellites. The accuracy of these receivers ranges from submeter to centimeter, depending on their ability to track and process satellite signals. GPS satellite signals are transmitted on different frequencies. The more frequencies the GPS receiver uses—and, consequently, the more signals it receives—the more accurate it is; this is also true for GNSS: the more systems the receiver uses (and the more signals it receives), the more accurate it is. Numerous navigation satellite systems are available. Typically, however, the more accurate a GPS receiver is, the more expensive it is and the more difficult it is to carry in the field.
Choose a receiver
AppStudio can use the GPS that's built into a device, or you can add an external GPS receiver to obtain high-accuracy data. There are many GPS receivers available; however, not all of them work directly with AppStudio. To use a GPS receiver with AppStudio, the receiver must support the output of NMEA sentences.
To improve the accuracy of positions, consider using a GPS receiver that supports differential corrections. If you are using an iOS device, you must also use one of the GPS receivers supported on iOS. While Esri doesn't publish a list of supported GPS receivers for Android or Windows, a list of receivers used in testing on Android and Windows is provided.
NMEA support
NMEA 0183 is the data specification standard that AppStudio uses to communicate with GPS receivers. NMEA messages contain lines of data called sentences. AppStudio derives GPS information such as latitude, longitude, height, and fix type by reading specific sentences in NMEA messages.
AppStudio supports NMEA 4.00 and 4.10. It can read the following NMEA sentences:
- GGA: Time, position, and fix-related data
- GSA: GNSS DOP and active satellites
- GSV: GNSS satellites in view
- RMC: Recommended minimum specific GNSS data
- VTG: Course over ground and ground speed
- GST: GNSS pseudorange error statistics
If AppStudio receives GST sentences that contain accuracy information for a particular coordinate, it uses them to determine accuracy. By default, the horizontal and vertical accuracy numbers are specified in root mean square (RMS). The level of confidence using RMS is 63 percent to 68 percent for horizontal accuracy, and 68 percent for vertical accuracy.
Estimated accuracy
If AppStudio doesn't receive a GST sentence from a GPS receiver but does receive a GSA sentence, AppStudio estimates accuracy using horizontal dilution of precision (HDOP) and vertical dilution of precision (VDOP). The estimated horizontal accuracy is calculated by multiplying HDOP by 4.7, and the estimated vertical accuracy is calculated by multiplying VDOP by 4.7.
Differential corrections
To improve the accuracy of positions, consider using a GPS receiver that supports differential corrections. Differential correction technology further improves accuracy by using reference stations, which are also known as base stations. A reference station is another GPS receiver that is established on a known location. The reference station estimates its location based on satellite signals and compares this estimated position to the known position. The difference between these positions is applied to the estimated GPS position calculated by the GPS receiver, also called the rover, to get a more accurate position. The receiver must be located within a certain distance of the reference station for differential corrections to occur. Differential corrections can be applied in real time in the field or when postprocessing data in the office.
Differential corrections can be provided by public or commercial sources. One of the most widely used and publicly accessible real-time correction sources is the Satellite-based Augmentation System (SBAS), which is also commonly referred to as the Wide Area Augmentation System (WAAS) in the United States. It is free to use SBAS, but the GPS receiver must support it. Using commercial correction services typically requires a subscription and may also require purchasing a particular type of GPS receiver that can receive these correction signals. For more information, see Differential GPS Explained.
GPS receivers supported on iOS
To directly connect a Bluetooth receiver with an iOS device, the receiver must be part of the MFi Program as well as support the output of NMEA sentences. The following receivers can be used directly with AppStudio Player on supported iOS devices.
-
Bad Elf GNSS Surveyor and GPS Pro+, GPS Pro, and GPS for Lightning Connector
GNSS Surveyor and GPS Pro+ require firmware version 2.1.40 or later. GPS Pro requires firmware version 2.0.90 or later. GPS for Lightning Connector requires firmware version 1.0.24 or later.
-
Eos Arrow Lite, Arrow 100, Arrow 200, and Arrow Gold—Firmware version 2.0.251 or later.
-
Garmin GLO and GLO 2
GLO requires firmware version 3.00 or later and GLO 2 requires firmware version 2.1 or later.
Accuracy values delivered by the Garmin GLO do not update at the same rate as location information. Accuracy on this receiver is calculated from PDOP and HDOP values and these are outputted only once on start-up of the receiver.
-
Geneq SxBlue II and SxBlue III—Firmware version 2.0.251 or later.
-
Juniper Systems Geode
-
Leica Zeno GG04 plus—Processor board firmware version 1.0.20 or later.
-
Trimble R1, R2, R10 Model 2, R12, R12i, and Catalyst DA2
You must use Trimble Mobile Manager to configure your receiver. Do not use the Trimble GNSS Status app.
GPS receivers tested on Android and Windows
AppStudio works with any receiver supported on Android or Windows that outputs NMEA 0183 sentences. While Esri doesn't certify any device, the following is a list of devices that have been used:
-
Bad Elf GNSS Surveyor, GPS Pro, and GPS Pro+
-
Eos Arrow Lite, Arrow 100, Arrow 200, and Arrow Gold
-
Garmin GLO¹, Garmin GLO 2¹
Accuracy values delivered by the Garmin GLO do not update at the same rate as location information. Accuracy on this receiver is calculated from PDOP and HDOP values and these are outputted only once on start-up of the receiver.
-
Geneq SxBlue II and SxBlue III²
-
Juniper Systems Geode
-
Leica GG03¹, GG04, and Zeno 20¹
-
Trimble R1, R2, R8s¹, R10¹, R12¹, R12i¹ and Catalyst DA2¹
On Windows, Trimble GNSS Status is required to receive corrected positions with a Trimble R1 or R2. On Android, Trimble Mobile Manager is required to configure a receiver.
For the Trimble R1 receiver on Windows, AppStudio can't access differential GPS fixes with RTX. However, AppStudio can identify the location with autonomous GPS fixes, as well as SBAS corrected and local base station corrected locations via NTRIP.
For the Trimble R2 receiver on Windows, AppStudio can't access locations with RTX or local base station corrected locations via NTRIP. AppStudio can only access autonomous GPS fixes and SBAS corrected locations.
Issues have occurred when pairing the Trimble R10 with Samsung Galaxy S5 and S7 devices.
¹ Android only
² Windows only
Configure a receiver
Not all receivers that support the output of NMEA sentences are configured to do so out of the box. Refer to the device's user manual for instructions on how to configure it to output NMEA sentences.
Connect a receiver to a device
AppStudio supports receivers integrated into devices as well as external receivers connected via Bluetooth. If the receiver is integrated into the device, proceed to the next section. If you are using an external receiver, follow these steps to connect it to a device:
-
Verify that the GPS receiver is compatible with AppStudio.
The receiver must support the output of NMEA sentences and be configured to do so. See Choose a receiver and Configure a receiver. These instructions must be completed before connecting the receiver to AppStudio.
-
Turn on the receiver and place it near a device or computer.
Go to the Bluetooth settings and view the available devices. Wait for the receiver's name to appear in the list.
-
Tap the receiver's name to pair it with the device.
Add support for a GPS receiver to your app
To integrate the use of a high-accuracy receiver with your app, you must first discover the receiver using DeviceDiscoveryAgent. Then you can use DeviceListModel to display the discovered receivers. Once the receiver is connected to your app, you can use PositionSource to display the location on a map, or use Position to show location accuracy data such as coordinate, dilution of precision, and time stamp. Use SatelliteInfoSource to report the satellites in view and in use, nmeaSource and ListView to return the NMEA data received. For information on each of these components, see the API reference guide sections of ArcGIS.AppFramework.Devices and ArcGIS.AppFramework.Positioning.
The GNSS Info sample supplied with AppStudio demonstrates all of these features. To use this sample, do the following:
-
Start ArcGIS AppStudio.
-
Click New App.
-
Click Samples and scroll to the GNSS Info sample.
- Alternatively click Search All and type
GNS
.S Info
- Alternatively click Search All and type
-
Select the GNSS Info sample.
-
Enter a title.
-
Click Create.
To run the newly created app, double-click the app thumbnail in the gallery. To edit the app, select it in the gallery and click Edit on the side panel to launch the source code in Qt Creator.
If you choose to create installation files for your app, you need to enable the High Accuracy Location and Bluetooth capabilities in the app settings. Also enable Background Location if you want your app to continue recording location information when the app is in background.
If you are publishing your app to the Apple store, you need to provide a list of third-party external accessories (in this case, GNSS receivers) that have white-listed your app. This list can be provided in ArcGIS AppStudio on the iOS tab of the Settings window. Enter the strings for devices that support your app in the External Accessory Protocol Strings field. To have your app white-listed by an external accessory vendor, you must email the vendor and supply the following information about your app:
- App name
- Bundle ID
- App version number
- Name of developer
- Planned release date
- Category of app
- Description of app
- Developer email address
In turn, they will send you the string that you need to enter in your app settings.
Record a NMEA log file for playback
When you go out into the field, you can capture a NMEA log that you can then replay when you are back in the office. This is great for doing demonstrations to colleagues whilst indoors, or for working with tech support to troubleshoot unexpected GNSS behavior.
To save an NMEA file in the GNSS Discover sample in AppStudio Player, you first must ensure that you are connected to an external receiver. Once connected, you're ready to record.
- Go to the GNSS location status page.
- Switch to the Debug tab.
- Click the record button.
Whilst you are recording, you can carry on using the other features of the app. When you are finished moving around, come back to the Debug tab and stop recording.
Recorded NMEA log files are saved to the folder ArcGI
.
You can capture NMEA logs in this same way in AppStudio Player with the GNSS Discover sample, Survey123, or QuickCapture. Logs captured in any of the apps can be used in any other of these apps.