有谁知道如何确定“跨轨错误”?
对于那些不熟悉的人:您正在沿着一条从“A”点到“B”点的线行驶。在运输过程中,当您偏离那条线时,从您当前位置到该线的距离就是跨航迹误差。
我现在有一个简单的算法,它使用具有三个点的纬度和经度的基本几何图形 - 问题是它没有考虑“大圆”计算(即实际米每度经度因您的纬度,不等于纬度)。
换句话说——如果你知道一个“大圆”公式来确定这个,请告诉我——但这不是一个直笛卡尔几何问题。
这是来自已接受答案的链接的文本 - 如果它失效了:
\n\n这里\xe2\x80\x99是一个新的:我\xe2\x80\x99有时会被问到一个点到大圆路径的距离(有时称为交叉轨迹误差)。
\n\n公式: dxt = asin( sin(\xce\xb413) \xe2\x8b\x85 sin(\xce\xb813\xe2\x88\x92\xce\xb812) ) \xe2\x8b\x85 R
在哪里:
\n\n\xce\xb413是从起点到第三点的(角度)距离
\xce\xb813是从起点到第三点的(初始)方位
\xce\xb812是从起点到终点的(初始)方位角
R是地球\xe2\x80\x99s半径
JavaScript:
\n\nvar \xce\xb413 = d13 / R;\nvar dXt = Math.asin(Math.sin(\xce\xb413)*Math.sin(\xce\xb813-\xce\xb812)) * R;\nRun Code Online (Sandbox Code Playgroud)\n\n在这里,大圆路径由起点和终点 \xe2\x80\x93 标识,具体取决于您\xe2\x80\x99 所使用的初始数据,您可以使用上面的公式来获取相关距离和轴承。的标志dxt告诉您第三个点位于路径的哪一侧。
从起点到第三点路径上最近点的沿轨迹距离为:
\n\n公式: dat = acos( cos(\xce\xb413) / cos(\xce\xb4xt) ) \xe2\x8b\x85 R
在哪里:
\n\n\xce\xb413是从起点到第三点的(角度)距离\xce\xb4xt是(角度)跨轨距离R是地球\xe2\x80\x99s半径JavaScript:
\n\nvar dAt = Math.acos(Math.cos(\xce\xb413)/Math.cos(dXt/R)) * R; \nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
13735 次 |
| 最近记录: |