2017-06-28 1 views
0

J'utilise la formule haversine dans le calcul de distance entre deux points. un certain temps que le résultat était Come.some fois son NAN obtenir result.please aide ici ce mon codeNAN dans le calcul de la distance entre deux points

function distanceCalculation($point1_lat, $point1_long, $lat, $lng, $unit = 'km', $decimals = 3) 
    { 

     $degrees = rad2deg(acos((sin(deg2rad($point1_lat)) * sin(deg2rad($lat))) + (cos(deg2rad($point1_lat)) * cos(deg2rad($lat)) * cos(deg2rad($point1_long - $lng))))); 


     switch ($unit) { 
      case 'km': 
       $distance = $degrees * 111.13384; 
       break; 
      case 'mi': 
       $distance = $degrees * 69.05482; 
       break; 
      case 'nmi': 
       $distance = $degrees * 59.97662; 
     } 
     return round($distance, $decimals); 


    } 

Répondre

1
function isValid($arg = 0) 
{ 
    return (is_nan($arg) || is_infinite($arg))? 0 :$arg; 
} 

return isValid(round($distance, $decimals)); 

Utilisez cette fonction il vérifie is_nan et is_infinite.