文森特直接公式纬度问题

本文关键字:纬度 问题 文森特 | 更新日期: 2023-09-27 18:05:18

我正在使用Mike Gavaghan的Geodesy库来计算:

新纬度&起始位置、方位和距离的经度(Vincenty直接公式,CalculateEndingGlobalCoordinates)

然而,我看到了一些我没有预料到的结果。

当使用Direct公式,计算一个新的正东点(90度)时,我期望纬度不会改变,但是下面的代码返回意想不到的结果:

GeodeticCalculator geoCalc = new GeodeticCalculator();
        Ellipsoid reference = Ellipsoid.WGS84;
        Angle startBearing = new Angle(90);
        double metersDistance = 50000;
        GlobalCoordinates dest = geoCalc.CalculateEndingGlobalCoordinates(
            reference, 
            new GlobalCoordinates(
                new Angle(50.0d), 
                new Angle(0.0d)
                ), 
            startBearing, 
            metersDistance
           );

我期望纬度(50.0)保持不变,但它返回"49.7909857"。这可能是对的,但据我所知,不管纬度如何,如果你向东旅行,你应该保持在同一个纬度?

在纬度为0.0时,纬度确实保持不变。

这是库中的错误,还是我缺乏理解?

文森特直接公式纬度问题

纬度应该会改变!90度;只是你的初始轴承。为了保持一条直线(测地线的定义),路径必须从纬度圈弯曲(除非是赤道)。为了帮助理解这一点,想象一个接近90度的纬度;它是一个以北极为中心半径为1米的圆