对于经纬度转换这件事,我不想去抄写或证明复杂的推导,故只把简要的方法及工具放在这里,供之后方便取用。
1、经纬度在线转换工具(十进制经纬度与度分秒互换)
http://www.ab126.com/Geography/2703.html
2、给出两点经纬度,计算两点间距离
http://www.movable-type.co.uk/scripts/latlong.html
3、已知两点经纬度,计算其距离(米)的程序代码
function measure(lat1, lon1, lat2, lon2){ // generally used geo measurement function
var R = 6378.137; // Radius of earth in KM
var dLat = lat2 * Math.PI / 180 - lat1 * Math.PI / 180;
var dLon = lon2 * Math.PI / 180 - lon1 * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
return d * 1000; // meters
}
这是JavaScript的版本,可以自己修改成其他语言的版本。
(参考自http://stackoverflow.com/questions/639695/how-to-convert-latitude-or-longitude-to-meters)