资源简介
经纬度计算两点距离的简单算法,含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
- 上一篇:学籍管理信息系统vbsql
- 下一篇:VB读取TXT文本文件与写入TXT文本文件
评论
共有 条评论