2012-12-06 45 views
0

我將使用Haversine公式找到兩個城市之間的距離。以下是 是VC++中的代碼。使用Haversine公式計算兩個城市的距離 - 如何處理負經度

但我找不到點(18.567367,-68.363431)和(33.636719,-84.428067)之間的距離[第一個值是緯度,第二個是經度]。 它給出了類似-1。#IND。

你能告訴我如何處理這個問題嗎?

下面

是代碼:

double deg2rad(double deg) { 
    return (deg * pi/180); 
}; 

double TravelDistance(double lat1d, double lon1d, double lat2d, double lon2d) { 
    double lat1r, lon1r, lat2r, lon2r, u, v,dblDistance; 
    lat1r = deg2rad(lat1d); 
    lon1r = deg2rad(lon1d); 
    lat2r = deg2rad(lat2d); 
    lon2r = deg2rad(lon2d); 
    u = sin(lat2r - lat1r); 
    v = sin(lon2r - lon1r); 

return (2.0 * earthRadiusKm * asin(sqrt(u * u + cos(lat1r) * cos(lat2r) * v * v)))}; 

預先感謝.... !!

回答

相關問題