The ArcPad Team Blog

Unofficial stuff from the team behind the World's leading mobile GIS platform

Friday, July 13, 2012

Using GPS in ArcPad - The Basics

Using a GPS to collect location information is an integral part of many ArcPad Projects. Although using a GPS receiver sounds easy enough, it is a professional and complicated piece of technology that requires an understanding of your project needs to ensure that the correct quality settings are used.

Let's start out with the basics:

What is GPS and How Does it Work?
GPS stands for Global Positioning System and refers to a space-based system of satellites providing time and location information.

A GPS receiver calculates its position by precisely timing the signals sent by GPS satellites.

Each satellite continually transmits messages that include:

1. The time the message was transmitted

2. Satellite position at time of message transmission

The receiver uses the messages it receives to determine the transit time of each message and computes the distance to each satellite. These distances along with the satellites' locations are used with the possible aid of trilateration, depending on which algorithm is used, to compute the position of the receiver. This position is then displayed, perhaps with a moving map display or latitude and longitude and elevation information may be included. Many GPS units show derived information such as direction and speed, calculated from position changes. Three satellites might seem enough to solve for position since space has three dimensions and a position near the Earth's surface can be assumed. However, even a very small clock error multiplied by the very large speed of light — the speed at which satellite signals propagate — results in a large positional error. Therefore receivers use four or more satellites to solve for both the receiver's location and time.

Recieving GPS Information in ArcPad:
ArcPad supports the following protocols for communicating with GPS recievers:
  • National Marine Electronics Association. (NMEA) 0183
  • Trimble Standard Interface Protocol (TSIP)
  • Delorme® Earthmate®
  • Rockwell PLGR Protocol
  • SiRF®
Any GPS receiver that outputs any of the above protocols should work with ArcPad, as long as the GPS receiver is correctly configured and properly connected to the device being used with ArcPad. This includes GPS connections via Bluetooth or USB as well as all-in-one mobile data collection devices.

ArcPad extension developers can also create their own protocol support, Trimble GPSCorrect is an example of this.

Choosing a GPS Receiver:
Some important questions to ask when looking at incorporating a GPS receiver into your ArcPad project are as follows:

Supported protocols:
Does the GPS receiver output a protocol that is supported by ArcPad?

Accuracy: What accuracy do you require for your GPS positions? Is autonomous GPS with 5–15 meters accuracy sufficient, or do you require differential correction to achieve higher accuracy? Does the GPS receiver have the ability to differentially correct the GPS positions when connected to a differential receiver or using the WAAS differential system? How well does your GPS receiver work under a canopy or in environments that are susceptible to multipath errors?

Differential correction: What type of real-time differential correction is available and reliable in the area where you will be working: beacon, satellite, or WAAS?

GPS receiver functionality: Can the GPS receiver be configured to set such factors as elevation mask, position interval, and SNR mask? Does the GPS receiver have its own display to configure the receiver and use the receiver in a standalone mode?

Cost: How much do you want to spend on a GPS receiver? More accurate GPS receivers cost more than less accurate receivers.

Size and configuration: Do you require a compact GPS receiver or a backpack GPS receiver? Ultra-compact GPS receivers tend to be less expensive but also less accurate than larger GPS receivers. GPS receivers are available in various configurations including Compact Flash receivers, PC Card receivers, Bluetooth receivers, specialized built-in receivers, add-on expansion packs, handheld receivers, integrated receivers and mobile devices, all-in-one antennas and GPS receivers, and backpack GPS receiver systems. Are cables an issue? Bluetooth is a good alternative for wirelessly connecting an external GPS receiver to your mobile device.

Availability and support: What GPS receivers are available in your local area, and is the local GPS vendor’s support adequate?

There is no perfect GPS receiver for use with ArcPad. You should consider all of the above factors when deciding which GPS receiver best meets your field GIS and GPS needs.

Set the GPS Preferences in ArcPad
There is no standard method for connecting a GPS receiver to ArcPad since most GPS receivers have unique configurations. However, by using this blog and the documentation for your GPS receiver and mobile device, it is fairly easy to successfully connect your GPS receiver toArcPad.

Determining what items are needed

In general, bluetooth is used to connect GPS receivers to Windows devices. Compact Flash and SD GPS receivers insert into standard slots on windows devices and built in GPS receivers require no connection. USB GPS receivers usually come with a USB cable permanently attached and connect to standard USB ports on window devices.

In some cases, you will need one or more of the following items to connect your external GPS receiver to the mobile device being used to run ArcPad:
  • A serial cable to connect to the GPS receiver
  • A serial cable to connect to the mobile device
  • A male-to-male gender changer
  • A null modem adapter
You will not need any of the above items if you are connecting your GPS receiver to your mobile device via Bluetooth or USB.

Connecting your GPS receiver
Using the information in the preceding discussion you should now be able to determine which cables, null modem adapters, and gender changers you will need to connect your GPS receiver to the device that is running ArcPad. Obviously, you will not need any cables or adapters if connecting via Bluetooth or when using an integrated GPS receiver, or a USB receiver. Assemble and connect the required items before moving to the next step of configuring your GPS receiver. Also, make sure that the batteries on your GPS receiver are fully charged!

Configuring your GPS receiver

By default, most handheld GPS receivers are configured to not output any GPS data. You need to configure your GPS receiver to output data, generally via the NMEA protocol unless your GPS receiver supports additional protocols such as TSIP. ArcPad supports a minimum of NMEA 0183 version 2.0 standard protocol, so make sure that you select at least version 2.0 of NMEA on your GPS receiver if the receiver supports multiple NMEA versions.

You also need to verify the communication parameters that your GPS receiver is configured for, specifically the baud rate, parity, data bits, and stop bits. You will need this information for the next step of setting the GPS Preferences in ArcPad.

If you are using Bluetooth, you will need to use the Bluetooth Manager on your mobile device to discover the GPS receiver, and possibly to pair your GPS receiver with your mobile device. Consult the documentation for your GPS receiver and mobile device for more information on connecting via Bluetooth.

When you connect your USB GPS receiver for the first time, ensure that you install the drivers for that device which allow NMEA messaging. It is not recommended to install the Microsoft Generic GPS driver for USB GPS receivers. Instead ensure that you go to your GPS manufacturers website and download the most appropriate driver for your device (if it was not supplied with your hardware). Some USB GPS receivers require additional software to translate proprietary formats to NMEA.

One example of this is Garmin's Spanner Software. Spanner creates a virtual serial port which allows you to send data to ArcPad. Refer to Garmin's website for compatible devices.

Before you can activate your GPS, you need to set the GPS communication parameters in ArcPad to match the parameters set on your GPS receiver. The GPS protocol and communication parameters are set in the GPS page of the GPS Preferences dialog box.

GPS Preferences in ArcPad:

Once your GPS is connected, the quickest and easiest way to receive GPS information in ArcPad is by using the 'Find GPS' Tool on the GPS Preferences dialog. When you tap on the binoculars on the GPS Tab, ArcPad will search for your connected GPS device and automatically configure your GPS preferences (If your know the Protocol, Port and Baud of your GPS - you can also configure these settings manually).

NOTE: If you attempt to enable the GPS from the Main Toolbar in ArcPad without configuring your GPS first - ArcPad will launch the "Find GPS" Tool for you!

Stay tuned for further blog posts delving deeper into the world of using GPS with ArcPad! If there are any particular subjects you would like to see covered, please let us know in the comments.