2017-06-28 9 views
0

Ich verwende haversine Formel in der Abstandsberechnung zwischen zwei Punkten. einiger Zeit, die zur Folge haben war Come.some mal seine immer NAN result.please Hilfe hier, um diese meinen CodeNAN bei der Berechnung der Entfernung zwischen zwei Punkten

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); 


    } 

Antwort

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

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

Mit dieser Funktion können sie is_nan und is_infinite prüft.

Verwandte Themen