Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is Apple able to provide indoor location using CoreLocation?

I found this Sample Code at Apple's Developer Site: https://developer.apple.com/library/ios/samplecode/footprint/Introduction/Intro.html

The discription says:

Use Core Location to take a Latitude/Longitude position and project it onto a flat floorplan. Demonstrates how to do the conversions between a Geographic coordinate system (Latitude/Longitude), a floorplan PDF coordinate system (x, y), and MapKit.

I have tried it and it works really well. Basically, you provide a map image for a building and specify two coordinates manually. Then, using CoreLocation, it is converting latitude/longitute into (x,y) position.

My question is - how is it possible to grab latitude/longitude while indoors? I have watched some Apple's videos and they said they vastly improved CoreLocation, but how is my iPhone getting a correct informations?

TL;DR: It works. I am just wondering how.

like image 321
Fengson Avatar asked Feb 08 '23 22:02

Fengson


1 Answers

Big companies, especially map providers such as Apple, Google, etc. gather information about all Wi-Fi access points (AP). They use so-called crowdsourcing technology in order to estimate position of AP by combining GPS coordinates with recieved signal strength (RSS) from all visible APs.

Once user requests a fix on their location, they send to server a list of all the MAC (media access control) addresses associated with wireless hot spots available within range to be checked against a database of those addresses. Then trilateration technique is used, that is fused with positional data provided by smartphone internal sensors (accelerometer, gyros, magnetometer, barometer). But this approach still suffer from lack of accuracy that is 7-20 meters so far depending from number of visible APs and quality of the sensors. Learm more here, or here.

In order to have 1-5 meters accuracy, it's required to have additional correcting information. State of the art is to use bluetooth beacons. Given their coordinates it is possible to estimate user's position. Nowadays there are plenty of companies who develop this technology e.g. Navigine, indoors, nextome.

like image 84
Alex Smirnov Avatar answered Apr 30 '23 03:04

Alex Smirnov