1

在过去的几周里,我有一个新项目,我需要从车载装置收集 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

你怎么看,可能有什么问题?

谢谢你的回答!

问候,加博尔

4

0 回答 0