I have list of GPS coordinates, which provide the Speed, Lat, Lng, Course (angle due north).
In my case I have determined if the user has taken a turn by storing the changes in course value.
Lets say I allow a 5 degree angle window. If the location points stay in this angle window, I increment my stable variable. If the location points goes out of 5 degrees, I assume user is changing lanes or trying to take a turn.
So, the output looks something like this for a 90 degree turn.
3, 1, 2, 1, 3
This means, the user was travelling under a 5 degree window for 3 location points and then started turning so the angle kept changing (1, 2, 1). After the turn is complete, the user is again in the same direction for 3 coordinates.
Now I have a bunch of these blocks of coordinates, which provide the info, that user has taken a turn. The next thing is calculate the lateral acceleration from these to know whether the turn was a rash one or not.
I already know that out of 10 curves we found in our location data 3 were rash/careless turns. So I can setup a threshold and compare with a larger database,
But I am not sure how to go around calculating lateral acceleration