2017-06-28 33 views
0

2点間の距離計算にhaversineの式を使用しています。 いくつかの時間は、その結果がCome.some時間はそのNANはここに、この私のコードNANから2点間の距離を計算する

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


    } 

答えて

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

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

使用それはis_nanとis_infiniteをチェックし、この機能を助け をresult.pleaseなっていました。

関連する問題