Danh hiệu: Kê Vương
Gia nhập: 23-01-2011(UTC) Bài viết: 2,113 Đến từ: HCM Thanks: 4 times Được cảm ơn: 300 lần trong 220 bài viết
|
Mã: public static double DistanceTo(double lat1, double lon1, double lat2, double lon2, char unit = 'K') { double rlat1 = Math.PI*lat1/180; double rlat2 = Math.PI*lat2/180; double theta = lon1 - lon2; double rtheta = Math.PI*theta/180; double dist = Math.Sin(rlat1)*Math.Sin(rlat2) + Math.Cos(rlat1)* Math.Cos(rlat2)*Math.Cos(rtheta); dist = Math.Acos(dist); dist = dist*180/Math.PI; dist = dist*60*1.1515;
switch (unit) { case 'K': //Kilometers -> default return dist*1.609344; case 'N': //Nautical Miles return dist*0.8684; case 'M': //Miles return dist; }
return dist; }
|
2 người cảm ơn GiacKhongDaiSu cho bài viết.
|
|