I'm creating an iOS app which uses sensor and camera data, combined with GPS data, to determine a specific location for a user. I receive a new GPS location, along with a radius of accuracy, every 10 seconds or so. And I'm able to track how far the user walked in that time, and in which direction, so I have a 'position' within a local world, where 0,0 is arbitrary. Each GPS location is given a position when it arrives.

So lets say I'm at point 0, 10, and I get a location with 10m of accuracy. Then I walk north by 30m, and get another location with 10m of accuracy. Using the camera and sensor data, by way of my own movement I now know the true distance between these two locations, so I can move the first location 30m north to match my own movements, and the overlapping area between those 2 circles is where I must now be located. And I can then do that with the next data point and so on.

I've made a diagram to show each step of this, from left to right:

enter image description here

My goal here is to find the center point of the overlapping area, which I can use as the user's estimated location.

  • $\begingroup$ By “center” do you mean the centroid of the intersection? $\endgroup$
    – amd
    Jul 5, 2017 at 21:21
  • $\begingroup$ @amd yes, that's right $\endgroup$
    – Andrew
    Jul 5, 2017 at 21:32


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.