Java Distance Calculate getDistance(double lat1, double lng1, double lat2, double lng2)

Here you can find the source of getDistance(double lat1, double lng1, double lat2, double lng2)

Description

get Distance

License

Apache License

Declaration

public static double getDistance(double lat1, double lng1, double lat2,
            double lng2) 

Method Source Code

//package com.java2s;
//License from project: Apache License 

import java.text.DecimalFormat;

public class Main {
    private static final double EARTH_RADIUS = 6378.137;

    public static double getDistance(double lat1, double lng1, double lat2,
            double lng2) {
        double radLat1 = rad(lat1);
        double radLat2 = rad(lat2);
        double a = radLat1 - radLat2;
        double b = rad(lng1) - rad(lng2);
        double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)
                + Math.cos(radLat1) * Math.cos(radLat2)
                * Math.pow(Math.sin(b / 2), 2)));
        s = s * EARTH_RADIUS;//  w w w.  ja  va 2  s .co m
        DecimalFormat df = new DecimalFormat("#.000");
        return Double.valueOf(df.format(s));
    }

    private static double rad(double d) {
        return d * Math.PI / 180.0;
    }
}

Related

  1. distSymbol(int dist)
  2. distToRectNode(double[] point, double[] nodeCenter, double nodeRadius)
  3. distUndermod(double a, double b, double mod)
  4. distVector(double[] vector1, double[] vector2)
  5. distVincentyRAD(double lat1, double lon1, double lat2, double lon2)
  6. sqrDistance(float x1, float y1, float x2, float y2)
  7. squaredDistance(float[] p, int a, int b)
  8. squaredEuclideanDistance(double[] x, double[] y)
  9. squareDist31TileMetric(int x1, int y1, int x2, int y2)