【发布时间】:2011-01-11 10:50:22
【问题描述】:
我正在尝试将http://www.movable-type.co.uk/scripts/latlong.html 中给出的代码 sn-p 转换为 java。但我没有得到与网站相同的结果。这是我的代码,用于查找给定纬度和经度的两点之间的中点
midPoint(12.870672,77.658964,12.974831,77.60935);
public static void midPoint(double lat1,double lon1,double lat2,double lon2)
{
double dLon = Math.toRadians(lon2-lon1);
double Bx = Math.cos(lat2) * Math.cos(dLon);
double By = Math.cos(lat2) * Math.sin(dLon);
double lat3 = Math.atan2(Math.sin(lat1)+Math.sin(lat2),Math.sqrt( (Math.cos(lat1)+Bx)*(Math.cos(lat1)+Bx) + By*By) );
double lon3 = lon1 + Math.atan2(By, Math.cos(lat1) + Bx);
System.out.print(lat3 +" " + lon3 );
}
我不确定 dLon 是否正确。所以请大家帮我弄清楚。 P.S.我需要找到中点的经纬度
【问题讨论】: