将地球上的项目位置定位到更高的高度,并带有局部方位角和海拔

时间:2019-02-05 03:20:21

标签: geometry coordinate-systems spherical-coordinate

我在地球(1,1,)上有一个位置,我想用已知的方位角和标高投影到一定高度的直线。这样就获得了投影球体(2,2,+)上的新坐标。

如何使用所有其他可用信息计算2和2?

1 个答案:

答案 0 :(得分:0)

高度变化不会影响方位角(作为路径到球体上的投影),因此您可以使用Destination point given distance and bearing from start point部分from here从起始坐标和方位获取最终坐标:

Formula:    
φ2 = asin( sin φ1 ⋅ cos δ + cos φ1 ⋅ sin δ ⋅ cos θ )
λ2 = λ1 + atan2( sin θ ⋅ sin δ ⋅ cos φ1, cos δ − sin φ1 ⋅ sin φ2 )
  where φ is latitude, λ is longitude, θ is the bearing (clockwise from north), 
  δ is the angular distance d/R; d being the distance travelled, R the earth’s radius

JavaScript:    (all angles     in radians)
var φ2 = Math.asin( Math.sin(φ1)*Math.cos(d/R) +
                    Math.cos(φ1)*Math.sin(d/R)*Math.cos(brng) );
var λ2 = λ1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(φ1),
                         Math.cos(d/R)-Math.sin(φ1)*Math.sin(φ2));

The longitude can be normalised to −180…+180 using (lon+540)%360-180