Monday, 30 December 2013

Android : Effective and very accurate way to find the distance nearest distance in between two provided latitudes and longitudes


Android : Effective and very accurate way to find the distance nearest distance in between two provided latitudes and longitudes

We people while developing a Google Map API based application often come accross the problem to find the distance in between two provided latitude and longitude.
Here is a very effective algorithm to fin out the normal and very accurate distance in between them:

public static double distFrom(double lat1,double lng1,double lat2,double lng2) {
   double earthRadius = 3958.75;
   double dLat = Math.toRadians(lat2-lat1);
   double dLng = Math.toRadians(lng2-lng1);
   double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
              Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
              Math.sin(dLng/2) * Math.sin(dLng/2);
   double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
   double dist = earthRadius * c;
   return dist;

   }


I have used this in my application and this is very accurate friends.

Thank you !!


No comments:

Post a Comment