22

三角法について頭を悩ませています。開始緯度と対数、距離と方位から目的地の緯度と経度を推測しようとしています。

幸いなことに、必要な機能を正確に説明している素晴らしいサイトを見つけました : 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

私は間違いをしている場所にたどり着きません。誰でも問題を見つけるのを手伝ってください。

事前にサンクス。:-)

4

2 に答える 2