**[**Back to MATH SWAG index**]** **[**Back to Main SWAG index**]** **[**Original**]**

*{
Any navigators out there? I need formulas or source code to calculate
the distance between two points given the latitude and longitude
of each point. I'm trying to write some support software for my
Sony Pyxis GPS (global positioning system). }
***Procedure **Dist( **Var **xlat1,xlon1,xlat2,xlon2,xdist,ydist,distance : Real);
*{
Returns the distance ( in km ) between two points on a tangent plane
on the earth.
}
***Const
**Km = 111.19;
C1 = 0.017453292;
**Var
**Xmlat,
cosm,
Adist : Real;
**Begin ***{ Dist }
{ Calculate cos of mean latitude }
*Xmlat := (xlat1+xlat2)/2;
cosm := cos(xmlat*C1);
*{ Calculate Y (N-S) distance }
*ydist := (xlat2-xlat1)*km;
*{ Calculate X (E-W) distance }
*xdist := (xlon2-xlon1)*km*cosm;
*{ Calculate total distance }
*adist := xdist*xdist + ydist*ydist;
**If **adist >= 0 **then
**distance := sqrt(adist)
**Else
**distance := 0;
**End**; *{ Dist }
*This **is **one I use **in **some wind calculations **for **an aircraft fitted **with
**GPS **and **LORAN-C.
Note that all Latitude **And **Longitudes are **in **Degrees **with **minutes **and
**seconds converted **to **decimal degrees.

**[**Back to MATH SWAG index**]** **[**Back to Main SWAG index**]** **[**Original**]**