|


Distance Between Two Points on the EarthDate: 6/21/96 at 12:5:28 From: Jonathan Coopersmith Subject: Distance Between Two Points on the Earth Dear Dr. Math, I have found your article on calculating the distance between two points given latitude and longitude, but I can't seem to come up with the right answer. I don't think I'm using your equations correctly. My latitude and longitude are in the form 40.266934, -74.204930 respectively, with negatives for South and West. Given two points in this form, how do I calculate the distance between them? Your help is greatly appreciated! Thank you very much, jon@lyrrus.com
Date: 6/21/96 at 16:43:45
From: Doctor Anthony
Subject: Re: Distance Between Two Points on the Earth
I will repeat the calculation here as I am not sure if it is one of my
posts to which you are referring.
The calculation is done using the scalar product of two vectors to
find the angle between those vectors. Let the vectors be OA and OB
where A and B are the two points on the surface of the earth and O is
the centre of the earth.
The scalar product gives OA*OB*cos(AOB) = R^2*cos(AOB) where
R = radius of the earth. Having found angle AOB, the distance between
the points is R*(AOB) with AOB in radians.
To find the scalar product we need the coordinates of the two points.
Set up a three dimensional coordinate system with the x-axis in the
longitudinal plane of OA and the xy plane containing the equator, the
z-axis along the earth's axis. With this system, the coordinates of A
will be
Rcos(latA), 0, Rsin(latA)
and the coords of B will be
Rcos(latB)cos(lonB-lonA),Rcos(latB)sin(lonB-lonA),Rsin(latB)
The scalar product is given by
xA*xB + yA*yB + zA*zB =
R^2cos(latA)cos(latB)cos(lonB-lonA)+ R^2sin(latA)sin(latB)
Dividing out R^2 will give cos(AOB)
cos(AOB) = cos(latA)cos(latB)cos(lonB-lonA)+sin(latA)sin(latB)
This gives AOB, and the great circle distance between A and
B will be
R*(AOB) with AOB in radians.
I will do an example, finding the distance between point A at
56 degrees west 33 degrees south, and point B at 12 degrees east and
40 degrees north. [Note, I shall be taking east and south as
negative.]
cos(AOB)= cos(-33)cos(40)cos(-12-56) + sin(-33)sin(40)
= cos(33)cos(40)cos(68) - sin(33)sin(40)
= -0.109417873
So AOB = 96.28175959 degrees
= 1.680433715 radians
Finally to get the great circle distance between A and B we need the
value of R, the radius of the earth. This is about 6371 km or 3959
miles.
In miles the distance between A and B is 6652.84 miles.
-Doctor Anthony, The Math Forum
Check out our web site! http://mathforum.org/dr.math/
|
Search the Dr. Math Library: |
[Privacy Policy] [Terms of Use]


Ask Dr. MathTM
© 1994-2008 The Math Forum
http://mathforum.org/dr.math/