我很難繞過一些三角函數。我試圖從一開始經緯度和日誌以及距離和方位推導出一個目標緯度和經度。根據方位角和距離計算緯度和長度
幸運的是,我發現了一個驚人的網站,它描述正是我所需要的功能: 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
,我沒有得到我在哪裏做的錯誤。請任何人都可以幫我找出問題所在。
Thanx提前。 :-)
這是一些不錯的小型圖書館來幫助這一點,例如http://code.google.com/p/simplelatlng/wiki/GettingStarted – 2012-04-12 07:51:30
馬克 - 非常感謝這個小小的聯結。 – Vaiden 2013-07-17 14:05:50