我有三个lat-lon坐标组成两条线A到B到C.还有一个函数以0-360方式计算线AB或BC的android中的方位。我计算左边如果差异是+ ve假设为正确,如果 - 如果我正在采取左边......它可以作为轴承(AB)承担(BC)转向...它适用于许多情况但是在某些情况下它不起作用..不起作用的案例是
A-Lat:17.445849,Lng:78.501665 B-Lat:17.445255,Lng:78.501619 C-Lat:17.444593,Lng:78.503553
A-B的轴承是184 B-C的轴承是109
差异(A-B) - (B-C)是75,这是+ ve所以它应该是正确的但是在地图中它是左边的。所以任何人都可以给我很好的方程式来改变方向......
答案 0 :(得分:0)
oOOPS ...我的计算错了。
这里有一些电子表格,我只是测试了它..
=MOD(A1+540, 360) - MOD(B1+540, 360)
否定表示左侧。
对于其他错过指导的代码感到抱歉。
bool right = (( (a1 + 540) % 360 - (b1 + 540) % 360 ) > 0 );
不太准确,因为零改变将被视为离开..我会留下那一点。