【问题标题】:Projection of a GPS point on a segment representing a trajectoryGPS 点在表示轨迹的线段上的投影
【发布时间】:2019-11-15 17:31:20
【问题描述】:

考虑下图中的 A-B 段;每个末端都是一个由纬度和经度定义的 GPS 点(该段实际上是一个弧,因为它位于地球表面上)。

点 C 不是该段的一部分。我想计算点 P 的纬度和经度,即点 C 在 A-B 段上的投影。

有没有办法在不移动到本地笛卡尔系统(例如 Lat/Long/Alt -> North/East/Down)并返回的情况下做到这一点?我想避免它,因为这些点实际上是跨越数公里的长路线的一部分,并且本地笛卡尔系统无法覆盖全部范围。

【问题讨论】:

    标签: geometry gps coordinates projection


    【解决方案1】:

    可以使用latlong页面中的公式组合找到P点。

    首先找到δ12δ13 - 从起点到终点和第三点的角距离(距离部分)

    然后轴承θ13θ12从起点到第三点和终点(轴承段)

    获取跨轨角距离

     δxt = asin( sin(δ13) ⋅ sin(θ13−θ12) )
    

    用它来获得沿轨道角距离

      δat = acos( cos(δ13) / cos(δxt) )
    

    并计算中间点P

    a = sin(δ12 - δat) / sin δ12
    b = sin(δat) / sin δ12
    x = a ⋅ cos φ1 ⋅ cos λ1 + b ⋅ cos φ2 ⋅ cos λ2
    y = a ⋅ cos φ1 ⋅ sin λ1 + b ⋅ cos φ2 ⋅ sin λ2
    z = a ⋅ sin φ1 + b ⋅ sin φ2
    
    φi = atan2(z, √x² + y²)
    λi = atan2(y, x)
    

    【讨论】:

      猜你喜欢
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 2018-03-05
      • 1970-01-01
      • 2020-11-30
      • 2012-08-04
      • 2016-12-13
      相关资源
      最近更新 更多