我很难理解一些三角学问题。我试图从起点纬度和经度以及距离和方位角推导出目标纬度和经度。
幸运的是,我发现了一个很棒的网站,它描述了我所需要的确切函数:http://www.movable-type.co.uk/scripts/latlong.html,“给定起点、距离和方位角求目标点”。 我在我的Java程序中尝试了它,但它对我不起作用。我按照该网站的说明部署了代码,以下是我的代码:
double dist = 150/6371;
double brng = Math.toRadians(90);
double lat1 = Math.toRadians(26.88288045572338);
double lon1 = Math.toRadians(75.78369140625);
double lat2 = Math.asin( Math.sin(lat1)*Math.cos(dist) + Math.cos(lat1)*Math.sin(dist)*Math.cos(brng) );
double a = Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1), Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));
System.out.println("a = " + a);
double lon2 = lon1 + a;
lon2 = (lon2+ 3*Math.PI) % (2*Math.PI) - Math.PI;
System.out.println("Latitude = "+Math.toDegrees(lat2)+"\nLongitude = "+Math.toDegrees(lon2));
但是它显示的输出是:
a = 0.0
Latitude = 26.882880455723377
Longitude = 75.78369140625
我不知道哪里出错了。请问有人能帮我找出问题吗?
先行致谢。:-)