>  기사  >  백엔드 개발  >  C# 경도와 위도가 알려진 두 점 사이의 거리 함수를 계산합니다.

C# 경도와 위도가 알려진 두 점 사이의 거리 함수를 계산합니다.

黄舟
黄舟원래의
2017-02-28 11:12:342346검색


C# 경도와 위도를 알고 있는 두 점의 거리 함수를 계산합니다

public Task<double> GetDistance(double lat1, double lon1, double lat2, double lon2)
        {
            int R = 6371;


            double rLat1 = ToRadian(lat1);
            double rLat2 = ToRadian(lat2);


            double dLat = rLat2 - rLat1;
            double dLon = ToRadian(lon2 - lon1);


            double a = Math.Pow(Math.Sin(dLat / 2), 2) +
                Math.Pow(Math.Sin(dLon / 2), 2) *
                Math.Cos(rLat1) * Math.Cos(rLat2);


            double b = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));


            return Task.FromResult((R * b));
        }

위 내용은 C# 경도와 위도를 아는 두 점의 거리 함수를 계산하는 내용입니다. 더 많은 관련 내용은 PHP 중국어 웹사이트(www.php.cn)를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.