# Wiki

##### Actions
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

# How to calculate the direction of movement

Article
Created: Den123 (11 May 2008)
Last edited: hamishwillee (26 Jul 2012)

To calculate the direction of movement enough to know coordinates of two consistently received landmarks.

If you use the Cartesian coordinate system and adopt the longitude on the axis "X", latitude on the axis "Y" - then it is possible to calculate the vector of movement.

The following image demonstrates how to calculate vector of the movement and the angle of the vector:

Depending on the direction, you must perform correction of meaning angle.

The following code snippet demonstrates how to calculate the angle of the movements (relative to north), knowing consistently received two landmarks.

`TReal alpha; // result // calculate vector coordinatesTReal y = LatitudeB  - LatitudeA,      x = LongitudeB - LongitudeA; // hypotenuseTReal sqrtResult = 0;Math :: Sqrt( sqrtResult, x * x + y * y );TReal angle;Math :: ASin( angle, Abs( x ) / sqrtResult );alpha = angle * 180 / KPi; // angle from North in degrees // correctionif( x > 0 ){   // I or IV quadrant    if( y < 0 )   {      // IV quadrant       alpha = 180 - alpha;					     }				   }else{   // II or III quadrant    if( y > 0 )   {      // II quadrant       alpha = -alpha;   }   else      alpha = alpha - 180;					  }`
120 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.