数据是通过GPS接收到的,
经度 纬度
117.039638 35.231677
117.038888 35.233074
117.038282 35.234351
117.037776 35.235622
117.037368 35.236937求教根据两点经纬度得到距离的 delphi 算法?误差不要太大, 非常感谢...
经度 纬度
117.039638 35.231677
117.038888 35.233074
117.038282 35.234351
117.037776 35.235622
117.037368 35.236937求教根据两点经纬度得到距离的 delphi 算法?误差不要太大, 非常感谢...
参考这里,工具/算法/代码都有,虽然没有Delphi的代码,学习后自己写吧。
uses math;
const double EARTH_RADIUS := 6378.137;
function rad(d:double):double;
begein
Result := d * PI / 180.0;
end;
function GetDistance(lat1,lng1,lat2,lng2:double) :double
var
radLat1,radLat2,a,b,s:double;
begin
radLat1 := rad(lat1);
radLat2 := rad(lat2);
a := radLat1 - radLat2;
b := rad(lng1) - rad(lng2); s := 2 * Asin(Sqrt(Pow(Sin(a/2),2) +
Cos(radLat1)*Cos(radLat2)*Pow(Sin(b/2),2)));
s := s * EARTH_RADIUS;
s := Round(s * 10000) / 10000;
Result := s;
end;