open System let ``calculate distance`` (p1Latitude,p1Longitude) (p2Latitude,p2Longitude) = let r = 6371.0; // km let dLat = (p2Latitude - p1Latitude) * Math.PI / 180.0 let dLon = (p2Longitude - p1Longitude) * Math.PI / 180.0 let lat1 = p1Latitude * Math.PI / 180.0 let lat2 = p2Latitude * Math.PI / 180.0 let a = Math.Sin(dLat/2.0) * Math.Sin(dLat/2.0) + Math.Sin(dLon/2.0) * Math.Sin(dLon/2.0) * Math.Cos(lat1) * Math.Cos(lat2) let c = 2.0 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1.0-a)) r * c