Foxtable(狐表)用户栏目专家坐堂 → [求助] 求助算法~~~~~~~~~~~~~~~~~~~~


  共有2467人关注过本帖树形打印复制链接

主题:[求助] 求助算法~~~~~~~~~~~~~~~~~~~~

帅哥哟,离线,有人找我吗?
qq121454970
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:880 积分:9005 威望:0 精华:3 注册:2012/4/22 18:06:00
[求助] 求助算法~~~~~~~~~~~~~~~~~~~~  发帖心情 Post By:2014/9/16 18:56:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:a.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:b.jpg
图片点击可在新窗口打开查看

 

 


求助。。。。这个里程数是怎么算出来的?

[此贴子已经被作者于2014-9-16 18:55:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/16 19:40:00 [只看该作者]

 通过经纬求距离

 

Dim x1 As Double = 纬度1
Dim y1 As Double = 经度1
Dim x2 As Double = 纬度2
Dim y2 As Double = 经度2

Dim rad As Double = 6371
Dim p1X As Double = X1 / 180 * Math.PI
Dim p1Y As Double = Y2 / 180 * Math.PI
Dim p2X As Double = X2 / 180 * Math.PI
Dim p2Y As Double = Y2 / 180 * Math.PI
Dim result As Double = Math.Acos(Math.Sin(p1Y) * Math.Sin(p2Y) + Math.Cos(p1Y) * Math.Cos(p2Y) * Math.Cos(p2X - p1X)) * rad


 回到顶部
帅哥哟,离线,有人找我吗?
qq121454970
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:880 积分:9005 威望:0 精华:3 注册:2012/4/22 18:06:00
  发帖心情 Post By:2014/9/16 20:18:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:c.png
图片点击可在新窗口打开查看
哎,不太明白,答案好像不对

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/16 20:22:00 [只看该作者]

 肯定有偏差, rad的值是地球的半径,越精确越准

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/16 20:50:00 [只看该作者]

 抱歉,重新查了一下公司,要这样写!!!

 

Dim x1 As Double = 37.856862
Dim y1 As Double = 112.525760
Dim x2 As Double = 37.857587
Dim y2 As Double = 112.525683


Dim rad As Double = 6371
Dim p1X As Double = X1 / 180 * Math.PI
Dim p1Y As Double = Y2 / 180 * Math.PI
Dim p2X As Double = X2 / 180 * Math.PI
Dim p2Y As Double = Y2 / 180 * Math.PI

Dim a As Double = p1X - p2X
Dim b As Double = p1Y - p2Y
Dim s As Double = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) + Math.Cos(p1X)*Math.Cos(p2X)*Math.Pow(Math.Sin(b/2),2))) * rad
output.show(s)


 回到顶部
帅哥哟,离线,有人找我吗?
qq121454970
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:880 积分:9005 威望:0 精华:3 注册:2012/4/22 18:06:00
  发帖心情 Post By:2014/9/19 12:18:00 [只看该作者]

谢谢

 回到顶部