Distancia entre dos coordenadas geograficas
El uso de sistemas de geolocalización cada vez está más cerca de todos nosotros, tanto los que consumimos programas como los que las desarrollamos tenemos a nuestra disposición una cantidad de herramientas para hacer esto posible y darle funcionalidad "descrestante" a nuestros aplicativos.
Al utilizar estos servicios vemos necesario implementar ciertas características y funcionalidades que son desconocidas para nosotros y una de ellas es el cálculo entre dos coordenadas.

Por lo anterior quiero compartir con ustedes el siguiente código que realiza el calculo y retorna el valor en Kilómetros, valor que sin necesidad de ser expertos en matemáticas podremos convertir en cualquier unidad de medida como metros y hasta centímetros.
public const double RadioTierra = 6371; public static double ObtenerDistancia(double lat1, double lng1, double lat2, double lng2) { double distance = 0; double Lat = (lat2 - lat1) * (Math.PI / 180); double Lon = (lng2 - lng1) * (Math.PI / 180); double a = Math.Sin(Lat / 2) * Math.Sin(Lat / 2) + Math.Cos(lat1 * (Math.PI / 180)) * Math.Cos(lat2 * (Math.PI / 180)) * Math.Sin(Lon / 2) * Math.Sin(Lon / 2); double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a)); distance = RadioTierra * c; return distance; }
Este está construido en C# y como lo dije antes, retornará el valor en Kilómetros.