BikeInCity.Utils.GeoMath.Harvesine C# (CSharp) Метод

Harvesine() публичный статический Метод

public static Harvesine ( double lat1, double lng1, double lat2, double lng2 ) : int
lat1 double
lng1 double
lat2 double
lng2 double
Результат int
        public static int Harvesine(double lat1, double lng1, double lat2, double lng2)
        {
            double dlng = lng2 - lng1;
              double dlat = lat2 - lat1;

              var a = Math.Pow(Math.Sin(dlat / 2), 2) + Math.Cos(lat1) * Math.Cos(lat2) * Math.Pow(Math.Sin(dlng / 2), 2);
              var c = 2 * Math.Asin(Math.Min(1, Math.Sqrt(a)));

              var d = R * c;

              //harvesine formula

              /* Law of cosines
              var d = Math.Acos(Math.Sin(lat1) * Math.Sin(lat2) +
                            Math.Cos(lat1) * Math.Cos(lat2) *
                            Math.Cos(lng1 - lng2)) * R;
              */
              return (int)d;
        }