Location\Distance\Haversine::getDistance PHP Method

getDistance() public method

public getDistance ( Coordinate $point1, Coordinate $point2 ) : float
$point1 Location\Coordinate
$point2 Location\Coordinate
return float
    public function getDistance(Coordinate $point1, Coordinate $point2)
    {
        if ($point1->getEllipsoid() != $point2->getEllipsoid()) {
            throw new NotMatchingEllipsoidException("The ellipsoids for both coordinates must match");
        }
        $lat1 = deg2rad($point1->getLat());
        $lat2 = deg2rad($point2->getLat());
        $lng1 = deg2rad($point1->getLng());
        $lng2 = deg2rad($point2->getLng());
        $dLat = $lat2 - $lat1;
        $dLng = $lng2 - $lng1;
        $radius = $point1->getEllipsoid()->getArithmeticMeanRadius();
        $distance = 2 * $radius * asin(sqrt(pow(sin($dLat / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($dLng / 2), 2)));
        return round($distance, 3);
    }
Haversine