在过去的几周里,我得到了一个新项目,我需要从车载单元收集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