How to improve your location accuracy with Roam.ai

Florence Rodgerson
Florence Rodgerson
Content Writer
May 20, 2021

Precise location data is one of the most important aspects of location-based apps. Frequent in-accuracies can be frustrating and lead to a loss of user trust. After all, it’s difficult for a driver to pick up a passenger when their actual location is not shown correctly on the map.

Native iOS or Android GPS data can be acceptable solutions in some cases but often lead to inaccurate and noisy data, especially in areas with low internet connection.

If your app requires precision accuracy, it’s beneficial to seek out an alternative in the form of a high accuracy geolocation service.

Why is my location data inaccurate?

iOS and Android produce location data using a combination of GPS, WiFi and cell network and are, on average, accurate in the range of 30 - 70 meters. Plus, while iOS doesn’t define specific accuracy, An Android phone can only guarantee horizontal accuracy with 68% confidence.

There are a few reasons why the location data of a mobile device can be inaccurate and noisy:

  • Environmental factors: Weather conditions or tall buildings in “urban canyons”
  • A weak signal: The GPS, WiFi or cell network can be weak or un-reliable. GPS Technology and GPS location tracking has its flaws, especially on older cell phones.
  • Device state: Low battery mode and airplane mode can lead to dark patches in data and affect the phone location


How does Roam.ai achieve high accuracy?

To combat weak accuracy, Roam.ai has developed an Accuracy Engine that can guarantee an accuracy between 5 - 30 meters (or your specified accuracy above this range).

By combining different sensors, including the GPS, gyroscope, accelerometer and compass, and applying sensor fusion algorithms, we remove noise and precisely estimate the devices’ orientation and position. We also use a little bit of machine learning within the accuracy engine. As a result, users can track their location accurately and see a smooth path when looking back at their trip.

The filters will remove any data that falls outside your set accuracy, so you will never receive location updates that fall outside your desired range. That means you can always trust the SDK to deliver the precision you need for your use case to work best. This will give you peace of mind when you create a location based functionality.

This shows two images, one with the native tracking and the other with Roam's accuracy. This is depicted through a map with location updates and circles around them to show the accuracy

Some limitations still apply, for example, in cases with no GPS signal or within dense urban environments. In these cases, the Accuracy Engine will not work effectively and accuracy will default to native level.

Native versus Roam.ai location data

So, where's the proof? Below you can see the results of Roam.ai's Accuracy Engine filters, with an improvement of over 100% from native level location accuracy:

bar graph showing native location accuracy having an average accuracy of 70.3 meters
bar graph showing Roam.ai location accuracy with an average accuracy of 31.2 meters

How do I enable Roam.ai’s Accuracy Engine?

  1. To get started, integrate Roam.ai’s Location SDK.
  2. Set your desired accuracy of location updates for your use case by using the updateCurrentLocation. method. You can choose an accuracy between 5 - 100 meters with the default being 10 meters.
  3. To enable Accuracy Engine to ensure every update is within your desired accuracy range, you have to call the method:

Roam.enableAccuracyEngine().

To find out more about how to enable accurate location tracking, check out our detailed docs.

What’s next?

Could your app benefit from more accurate location tracking? Contact us today to set up a demo and try Roam’s SDK for free.

Unlock Location Technology

Product
Florence Rodgerson
Florence Rodgerson
Content Writer
May 20, 2021