Here you can find the source of distanceMeter(double prevLat, double prevLon, double currentLat, double currentLon)
private static double distanceMeter(double prevLat, double prevLon, double currentLat, double currentLon)
//package com.java2s; /*/*from 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; /** * 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; } }