Beispiel #1
0
        public void FromDecimalString_Distance_CLE_MOSCOW()
        {
            var cleveland = new LatLng("41.4868145,-81.6406292");
               var moscow = new LatLng("55.7530361,37.6217305");

               Console.WriteLine(cleveland);
               Console.WriteLine(moscow);

               var dist = cleveland.HaversineEarthDistanceKm(moscow);

               Console.WriteLine(dist);
               Assert.AreEqual(7786, (int)dist);
        }
Beispiel #2
0
        public void FromDecimalString_Distance_CLE_LA()
        {
            var cleveland = new LatLng("41.4868145,-81.6406292");
               var losangeles = new LatLng("34.1610243,-117.9465513");

               Console.WriteLine(cleveland);
               Console.WriteLine(losangeles);

               var dist = cleveland.HaversineEarthDistanceKm(losangeles);

               Console.WriteLine(dist);
               Assert.AreEqual(3265, (int)dist);
        }
Beispiel #3
0
        public void FromDecimalString_Distance_CLE_MELBOURNE()
        {
            var cleveland = new LatLng("41.4868145,-81.6406292");
               var melbourne = new LatLng("-37.5210205,144.7461265");

               Console.WriteLine(cleveland);
               Console.WriteLine(melbourne);

               var dist = cleveland.HaversineEarthDistanceKm(melbourne);

               Console.WriteLine(dist);
               Assert.AreEqual(16058, (int)dist);
        }
Beispiel #4
0
        public void FromDegreeString_ToString()
        {
            var cleveland = new LatLng("41°29'13'', -81°38'26''");

               Console.WriteLine(cleveland);
               Assert.AreEqual("41°29'13'', -81°38'26''", cleveland.ToString());
        }
Beispiel #5
0
        public void FromDegreeString_Distance_CLE_MOSCOW()
        {
            var cleveland = new LatLng("41°29'13'', -81°38'26''");
               var moscow = new LatLng("55°45'11'', 37°37'18''");

               Console.WriteLine(cleveland);
               Console.WriteLine(moscow);

               var dist = cleveland.HaversineEarthDistanceKm(moscow);

               Console.WriteLine(dist);
               Assert.AreEqual(7786, (int)dist);
        }
Beispiel #6
0
        public void FromDegreeString_Distance_CLE_MELBOURNE()
        {
            var cleveland = new LatLng("41°29'13'', -81°38'26''");
               var melbourne = new LatLng("-37°31'16'', 144°44'46''");

               Console.WriteLine(cleveland);
               Console.WriteLine(melbourne);

               var dist = cleveland.HaversineEarthDistanceKm(melbourne);

               Console.WriteLine(dist);
               Assert.AreEqual(16058, (int)dist);
        }
Beispiel #7
0
        public void FromDegreeString_Distance_CLE_LA()
        {
            var cleveland = new LatLng("41°29'13'', -81°38'26''");
               var losangeles = new LatLng("34°9'40'', -117°56'48''");

               Console.WriteLine(cleveland);
               Console.WriteLine(losangeles);

               var dist = cleveland.HaversineEarthDistanceKm(losangeles);

               Console.WriteLine(dist);
               Assert.AreEqual(3265, (int)dist);
        }
Beispiel #8
0
        public double HaversineEarthDistanceKm(LatLng other)
        {
            var dLat = this.RadLat - other.RadLat;
              var dLng = this.RadLng - other.RadLng;

              var a  = Math.Pow(Math.Sin(dLat/2d), 2d) + Math.Cos(this.RadLat) * Math.Cos(other.RadLat) * Math.Pow(Math.Sin(dLng/2d), 2d);
              var c  = 2d * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1-a)); // great circle distance in radians

              return  EARTH_RADIUS_KM * c;
        }