带有

时间:2016-01-14 17:01:49

标签: php gps compass-geolocation bearing

在过去的几周里,我得到了一个新项目,我需要从车载单元收集GPS数据并将其放在地图上。实际上一切正常,但我对罗盘轴承有一些问题。在某些情况下,它会转动-180度,但过了一会儿就能正常工作。 我使用以下代码:

//difference in longitudinal coordinates
   $dLon = deg2rad($lon2) - deg2rad($lon1);

   //difference in the phi of latitudinal coordinates
   $dPhi = log(tan(deg2rad($lat2) / 2 + pi() / 4) / tan(deg2rad($lat1) / 2 + pi() / 4));

   //we need to recalculate $dLon if it is greater than pi
   if(abs($dLon) > pi()) {
      if($dLon > 0) {
         $dLon = (2 * pi() - $dLon) * -1;
      }
      else {
         $dLon = 2 * pi() + $dLon;
      }
   }
   //return the angle, normalized
   return (rad2deg(atan2($dLon, $dPhi)) + 360) % 360;

在某些时候我认为我的坐标不准确,但这不是问题。

GPS坐标。格式如下:1234.4567; 8910.1112

你怎么想,可能出错?

谢谢你的喔!

关心,Gábor

0 个答案:

没有答案