Java Distance Calculate calculateDistance(Double prevLat, Double prevLon, Double currentLat, Double currentLon)

Here you can find the source of calculateDistance(Double prevLat, Double prevLon, Double currentLat, Double currentLon)

Description

Calculated the distance between 2 points and returns the distance in meters

License

Open Source License

Parameter

Parameter Description
prevLat a parameter
prevLon a parameter
currentLat a parameter
currentLon a parameter

Return

distance

Declaration

public static Double calculateDistance(Double prevLat, Double prevLon, Double currentLat, Double currentLon) 

Method Source Code

//package com.java2s;
/*/* w  w w  . j a  v a 2 s.  c  o  m*/
?Developed with the contribution of the European Commission - Directorate General for Maritime Affairs and Fisheries
? European Union, 2015-2016.
    
This file is part of the Integrated Fisheries Data Management (IFDM) Suite. The IFDM Suite is free software: you can
redistribute it and/or modify it under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or any later version. The IFDM Suite is distributed in
the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a
copy of the GNU General Public License along with the IFDM Suite. If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    private static int EARTH_RADIUS_METER = 6371000;

    /**
     *
     * Calculated the distance between 2 points and returns the distance in
     * meters
     *
     * @param prevLat
     * @param prevLon
     * @param currentLat
     * @param currentLon
     * @return distance
     */
    public static Double calculateDistance(Double prevLat, Double prevLon, Double currentLat, Double currentLon) {
        return distanceMeter(prevLat, prevLon, currentLat, currentLon);
    }

    /**
     * Calculate the distance between two points (Latitude, Longitude)
     */
    private static double distanceMeter(double prevLat, double prevLon, double currentLat, double currentLon) {
        double lat1Rad = Math.toRadians(prevLat);
        double lat2Rad = Math.toRadians(currentLat);
        double deltaLonRad = Math.toRadians(currentLon - prevLon);

        return Math.acos(Math.sin(lat1Rad) * Math.sin(lat2Rad)
                + Math.cos(lat1Rad) * Math.cos(lat2Rad) * Math.cos(deltaLonRad)) * EARTH_RADIUS_METER;
    }
}

Related

  1. calcDistanceHubery(double lat1, double lng1, double lat2, double lng2, int type)
  2. calcDistanceIfAccel(double startVelocity, double accel, double targetVelocity, double duration)
  3. calcDistanceToStop(double startingVelocity, double maxDeceleration)
  4. calculateDistance(double lat1, double lng1, double lat2, double lng2)
  5. calculateDistance(Double lng1, Double lat1, Double lng2, Double lat2)
  6. calculateDistance(double rssi, double txPower)
  7. calculateDistance(final double x1, final double y1, final double x2, final double y2)
  8. calculateDistance(float[] vec1, float[] vec2)
  9. calculateDistance(int from, int to)