# Distance and Azimuth Calculation

1. ### marlan_msr

2
I hope you could help me on this.
Is there anyone can tell how to calculate azimuth and distance of two points on earth, the points is in two-dimensional cartesian format, using spherical trigonometri for more accurate calculation. If you have reference or you have sample of answered exercise how to calculate it, please let me know. Thx.

2. ### mathmike

211
are you refering to aeronautical navigation?

3. ### marlan_msr

2
no, what I mean is how to calculate distance and azimuth/bearing if you have a pair of site coodinates (in two-dimensional cartesian format) using spherical trigonometri (spherical triangels, not just a planar triangels) ?

4. ### mathmike

211
you can use

x = p sin @ cos #

y = p sin @ sin #

z = p cos @

where p is the distance from the center of the sphere

@ is the angle made from the positive x-axis to the pprojection of the point onto the x y plane

and # is the angle from the positive z - axis to the point

5. ### Piet Pols

3
All this is calculated by the sinus and cosine rule. In any spherical triangle call the corners A, B and C and the opposite sides a, b and c. Then the sinus rule is: sin(A)/sin(a)=sin(B)/sin(b)=sin(C)/sin(c) or in words: the ratio between the sinus of an angle and the sinus of its opposite side is equal for all three pairs.
The cosine rule: cos(a)=cos(b)cos(c)+sin(b)sin(c)cosA which may be applied for the other sides as well of course.
So in calculating distance and azimuth (or bearing/course) let distance be d, the latitude of place A is a and of place B is b and the angle between the meridians at the pole is the difference in longitude, which I'll call P, then applying the cosine rule gives you:
cos(d)=cos(90-a)cos(90-b)+sin(90-a)sin(90-b)cos(P) or
cos(d)=sin(a)sin(b)+cos(a)cos(b)cos(P)
Then calculate azimuth by the sinus rule:
sin(A)=sin(P)sin(90-b)/sin(d) from A to B or sin(B)=sin(P)sin(90-a)/sin(d) from B to A.
or sin(A)=sin(P)cod(b)/sin(d) and sin(B)=sin(P)cos(a)/sin(d) resp.
Please remember to "make sense" of your output, because for example invsin(0,5) gives you 030, 150, 210 and 330.
In celestial navigation there are equivalent calculations. Please let me know if you want to learn more about that.

Last edited: Sep 18, 2006
6. ### flowjon

1
Inverse

The easiest way to get a distance and an azimuth between two known points is an inverse calculation. Subtract the x coordinate of the destination point from the x coord. of the starting point. Perform the same operation for the y coordinates. Call these values Dx and Dy respectively. Now, take the square root of Dx squared plus DY squared this will give you the distance between the two points. If you take the Arctan of Dx/Dy you will get the azimuth. Note, If Dx and Dy are positive your azimuth is good as is. If Dx is positive and DY is negative add 180 degress to your azimuth. If both Dx and Dy are negative add 180 degrees to your azimuth. If Dx is negative and Dy is Positive add 360 degrees to your azimuth.

Last edited: Dec 12, 2007
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook