That would be extrapolation. And that is actually the exact reason why the 
GPS lags on exits if they are off-route because it has extrapolated your 
position based on your route till the next actual GPS location update 
arrives. I have seen this behaviour with my Garmin device too when I decide 
not to follow the route.

On Friday, August 3, 2012 11:46:45 AM UTC-4, Nobu Games wrote:

> I'd go for interpolation and take the current average speed and the 
> "structure" of the streets into account. That of course only works when you 
> have something like a graph / vector representation of the streets and know 
> how they are connected and what orientation they have.
>
> It is also pretty common that even Google Navigation is off, especially on 
> highways with exits. Sometimes the navigation draws the car following the 
> highway even though you are already leaving on an exit.
>
>
> On Wednesday, August 1, 2012 9:18:33 AM UTC-5, bushido wrote: 
>>
>> Hi all, 
>>
>> I'm writing an application for android for which I need good position 
>> accuracy, I use a Galaxy Nexus as test device. 
>>
>> My test application subscribes to location updates and draws a car 
>> symbol in a map, the map is centered to the location of the car & 
>> rotates according to the bearing of the location (exactly like google 
>> maps on android does). I noticed that when up to speed, the positions 
>> don't match with reality, they lag behind considerably. 
>> When I cross a street at 90km/h for example, it will take a few 
>> seconds before the car on the map is also crossing that street. It 
>> isn't an error in the map data, because when I'm standing still, the 
>> car gets drawn on the correct location. Google maps for android shows 
>> exactly the same behavior. 
>>
>> The position of the car in Google Navigate on the other hand matches 
>> reality rather closely. I've noticed that the position updates are a 
>> lot smoother as well. (10Hz rather than the 1Hz updates which you get 
>> from GPS) 
>>
>> My question is: how do they do it? What I can think of is: 
>> - using the phone's sensors (gyro & accelero) together with a kalman 
>> filter or similar. But I can't see how you could make that work for 
>> every phone, since not all phones have these sensors. 
>> - interpolating, but in that case I would expect overshooting when 
>> there is a sudden stop or a sharp corner 
>>
>> Thanks in advance. 
>> Bushido 
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to