NavList:
A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
Re: Formula for dis. between two points on the Globe
From: Mark Sienkiewicz
Date: 1996 Oct 28, 23:14 EST
From: Mark Sienkiewicz
Date: 1996 Oct 28, 23:14 EST
One of the problems I have following the math on this mailing list (and in navigation in general) is that people often treat the equations as if the numbers are all unitless values. Nearly all measurements of the real world have units associated with them, and if you ignore the units you run a real risk of not fully understanding the math you are using. I run into this all the time, and I used to think I was the only one having problems with it. I thought everybody either used the formulas without understanding, or maybe you are all just assuming that everybody just knows the part you aren't saying. I find that I was wrong: I'm not the only one who is having problems. For example, >>dist = 6366.7*Arccos(sin(lata)*sin(latb)+cos(lata)*cos(latb)*cos(lonb-lona)) > ?????? > ?????? >The equation above is incorrrect. > >-------- >The above equation should read for the Great Circle Distance between Points >A and B >located as; > A at location (Lat_A, Lon_A) and B at (Lat_B, Lon_B) > >Distance A to B = 60*ArcCos[Sin(Lat_A)*Sin(Lat_B) + Cos(Lat_A)*Cos(Lat_B) * >Cos(Lon_A -Lon_B)] > >The result is in nautical miles. These are both the same formula, but written in different units. Some math follows here, but it isn't very complex. [note 1] You probably have latitude and longitude in degrees, though radians make an equally valid measure. Sin() and Cos() are functions that accept arguments of degrees or radians. Because they are ratios of the lengths of two sides of a triangle, the functions yield unitless numbers. ArcCos accepts a unitless number and yields a result in some measure of angles. You probably use degrees, but radians are very common if you use a computer or calculator. [note 2] In the second equation, the value 60 is really 60 nautical miles / degree so the equation is 60 nautical miles / degree * ArcCos [ ... ] degrees factor out the implicit constant of " 1 degree / degree " and you are left with 60 nautical miles * ArcCos [ ... ] This equation yields a result in nautical miles. In the first equation, the number 6366.7 is another conversion factor. In fact, if you read the original post where it was given, you see >dist = 6366.7*Arccos(sin(lata)*sin(latb)+cos(lata)*cos(latb)*cos(lonb-lona)) > >Dist is in NM, 6366.7 is (180/pi)*60*1.852. If your arccos function returns >degrees rather than radians, adjust accordingly. Here the author has explicitly defined ArcCos as yielding a result in radians. Use the identity 2 * pi radians = 360 degrees to get the conversion factor ( 360 / 2 * pi ) degrees / radian This makes it (360 / 2 * pi ) degrees / radian * ArcCos [ ... ] radians Now we have our formula in degrees. Apply the conversion factor 60 nautical miles / degree to get the equation ( 60 nm / degree ) * (360 / 2 * pi ) degrees / radian * ArcCos [ ... ] radians and again, we have a formula which yields nautical miles. I am not sure what the 1.852 is in the original post, but something suggests to me that it is 1.852 kilometers / nautical mile Let's assume I'm right, and write out just the various conversion factors: ( 60 nm / degree ) * (360 / 2 * pi ) degrees / radian * 1.852 kilometers / nm Compute it out and you get 6366.70702 kilometers / radian. This means the formula was misrepresented by difference of 1 letter in the original message: >Dist is in NM, 6366.7 is (180/pi)*60*1.852. If your arccos function returns ^^ should have said KM. A natural enough mistake; probably a typo So now I see that both equations were the same. One yields a distance in nautical miles and the other a distance in kilometers. If the constants in the original equations were written with their units, it would have been obvious. Mark S. [note 1] I hope you are able to read through it all. I often read my mail when I get home from work and I just don't want to see a lot of equations. :) [note 2] If you calculator has an ArcCos that shows the answer in degrees, it probably computed it in radians and then converted it. It just happens that all kinds of math relating to angles gets a lot simpler if you use radians instead of degrees. The radian is the "natural unit".