GPS坐标转化距离(短距离模型公式)

下面是C#计算方法:
class Program
{

  const double EARTH_RADIUS = 6378.137;

  static void Main(string[] args)
  {

    double test = GetDistance(119.460594, 32.210855, 119.460594 + 0.011657, 32.210855 + 0.0042);

    Console.ReadKey();
  }

  static double GetDistance(double AlongiDegrees, double AlatiDegrees, double BlongiDegrees, double BlatiDegrees)
  {
    double distance = -1.0d;

    double AlongiRadians = (AlongiDegrees % 360) * Math.PI / 180.0d;
    double AlatiRadians = (AlatiDegrees % 360) * Math.PI / 180.0d;
    double BlongiRadians = (BlongiDegrees % 360) * Math.PI / 180.0d;
    double BlatiRadians = (BlatiDegrees % 360) * Math.PI / 180.0d;

    double a = AlatiRadians - BlatiRadians;
    double b = AlongiRadians - BlongiRadians;

    double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2), 2) + Math.Cos(AlatiRadians) * Math.Cos(BlatiRadians) * Math.Pow(Math.Sin(b / 2), 2)));
    s = s * EARTH_RADIUS;

    distance = Math.Round(s * 10000) / 10000;

    return distance;
  }
}

原文地址:https://www.cnblogs.com/guanshan/p/guan037.html