資源簡介
經(jīng)緯度計算兩點距離的簡單算法,含VC、VB、Excel不同版本、
代碼片段和文件信息
#include?
#include?
#include?
#define?PI 3.1415926535897932
#define?EARTH_RADIUS (6378.14?*?1000)
double?G_Distance(double?lng1?double?lat1?double?lng2?double?lat2)
{
double?r_lat1?r_lat2;
double?a?b?result;
r_lat1?=?lat1?*?PI?/?180;
r_lat2?=?lat2?*?PI?/?180;
a?=?r_lat2?-?r_lat1;
b?=?(lng1?-?lng2)?*?PI?/?180;
//=2*ASIN(SQRT(SQR(SIN(G25/2))+COS(E25)*COS(F25)*SQR(SIN(H25/2))))*$B$22*1000
result?=?2?*?asin(sqrt(pow(sin(a?/?2)2)?+?cos(r_lat1)?*?cos(r_lat2)?*?pow(sin(b?/?2)2)))?*?EARTH_RADIUS;
return?result;
}
void?main(?void?)
{
double?x1?=?120?y1?=?38?x2?=?121?y2?=?39;
printf(“\nDistance:?(%f%f)?-?(%f%f)?=?%fm“?
x1?y1?x2?y2?G_Distance(x1?y1?x2?y2));
printf(“\nPress?any?key?to?exit...“);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????541??2009-10-19?15:29??Distance.dsw
?????文件??????33792??2009-10-19?15:29??Distance.ncb
?????文件??????48640??2009-10-19?15:29??Distance.opt
?????文件???????1190??2009-10-19?15:15??Distance.plg
?????文件??????13824??2009-10-19?15:32??Distance.xls
?????文件???????1038??2009-10-19?14:54??Distance.bas
?????文件????????813??2009-10-19?15:15??Distance.cpp
?????文件???????3425??2009-10-19?15:13??Distance.dsp
-----------?---------??----------?-----??----
???????????????103263????????????????????8
評論
共有 條評論