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.
Global Navigation Satellite System (GNSS) is the standard generic term for navigation satellite systems. GNSS receivers can use various navigation satellite systems, while GPS receivers can only use the Global Positioning System (GPS) navigation satellite system. Due to the widespread use of the term GPS to refer to both types of receivers, GPS is used as the generic term in this help.
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 your 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 your 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.
Most high-accuracy GPS receivers support the NMEA sentences that AppStudio uses; however, it's recommended that you check whether your receiver supports these NMEA sentences in the receiver's user manual before you try to connect it to AppStudio.
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.
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.
To improve the accuracy of your 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 your GPS receiver, also called the rover, to get a more accurate position. Your 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 your 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. See the Differential GPS Explained article in ArcUser magazine for more information.
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.
To determine the version of firmware your GPS receiver uses, pair your receiver with your device, open your device's General > About settings, and tap the name of your paired receiver.
- 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.
- 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—Firmware version 5.44 or later.
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:
This is not a comprehensive list of all devices that work with AppStudio.
- Bad Elf GNSS Surveyor, GPS Pro, and GPS Pro+
- Eos Arrow Lite, Arrow 100, Arrow 200, and Arrow Gold
- Garmin GLO¹, Garmin GLO 2¹
- Geneq SxBlue II and SxBlue III²
- Juniper Systems Geode
- Leica GG03¹, GG04, and Zeno 20¹
- Trimble R1, R2, R8s¹, and R10¹
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.
1. Android only
2. Windows only
Configure your 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 your receiver to your device
AppStudio supports receivers integrated into devices as well as external receivers connected via Bluetooth. If your 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 your device:
- Verify that your GPS receiver is compatible with AppStudio.
- Turn on your receiver and place it near your device or computer.
Go to your device's Bluetooth settings and view the available devices. Wait for your receiver's name to appear in the list.
If your Bluetooth receiver doesn't appear in the list, make sure it isn't connected to another device.
- To disconnect your receiver from an iOSdevice, in the device's Bluetooth settings, tap the information icon next to the receiver, tap Forget This Device, and tap Forget Device.
- To disconnect your receiver from an Android device, in the device's Bluetooth settings, tap the settings icon next to the receiver, and tap Unpair or Forget.
- To disconnect a Bluetooth receiver from a Windows device, in the device's Bluetooth settings, tap the receiver's name, tap Remove device, and tap Yes.
- Tap the receiver's name to pair it with your 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 GNSS Info.
- 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.
If you are using your app in AppStudio Player, the receivers that the app has been white-listed for are as follows:
- Bad Elf (com.bad-elf.gps)
- Eos (com.eos-gnss.positioningsource)
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 a 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 ~/ArcGIS/ArcGISAppStudioPlayer/Logs.
On Android this folder is located inside the app folder: ~/Android/data/com.esri.appstudio.player/files/ArcGIS/ArcGIS AppStudioPlayer/Logs.
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.