在过去的几周里,我有一个新项目,我需要从车载装置收集 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
你怎么看,可能有什么问题?
谢谢你的回答!
问候,加博尔