Search code examples
androidiosgpsgeolocation

Why are GPS data inaccurate in urban areas?


When I went to New York city for a business trip, I was testing my Android application that has GPS settings on it to see how accurate it was. The results that I got, was completely inaccurate. If I was in one building on the side of the street, the GPS would show that my device is on the opposite end of the street, in another building. I've tested on my iPhone just to make sure that it wasn't my application causing this, and to my surprise, it wasn't. Both devices showed me at the wrong location.

Is there a reason for this? The only reason I could think of is that the GPS satellite signals get messed up around tall buildings.

Is there a possible way to fix it? I'm guessing there is because of so many GPS applications for urban travel. How did they go about fixing it? I am genuinely curious.

Thank you so much.


Solution

  • New York is one of the cities with so called "Urban Canyons". They have high buildings shielding the view to the sky, such that few satellites are visible, often not enough remain in view.

    Second these building reflect the GPS signal which slightly delay the receiving, fooling the GPS chip, which then gives a wrong position.

    if you compare applications make sure they all run in the same phone, and they record the locations at the same time.

    How did they go about fixing it?

    There is no fix for the urban canyon problem, besides using a better device.

    Update: Some GPS receivers, today, even used in smart phones, are "combined receivers". They combine the US GPS System with (e.g) the Russian GLONASS, giving roughly the double number of visible satellites. This approach significantly improves the accuracy within cities.