Foxtable(狐表)用户栏目专家坐堂 → [求助]数值计算问题


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

主题:[求助]数值计算问题

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
[求助]数值计算问题  发帖心情 Post By:2014/6/12 17:55:00 [只看该作者]

已知A,B两点的经纬度,A为(第一列,第二列),B为(第三列,第四列)。算两点在地球上的距离。

 

 

公式是这个:


R*arccos(cos(lat1*pi()/180 )*cos(lat2*pi()/180)*cos(lng1*pi()/180 -lng2*pi()/180)+
sin(lat1*pi()/180 )*sin(lat2*pi()/180))
其中,R=6370996.81;//地球半径,pi()为圆周率π,(lng1,lat1),(lng2,lat2)分别是百度地图的两个经纬度,带入数值计算即可

 

 

 

= 6370996.81*arccos(cos([第二列]*3.1415926/180 )*cos([第四列]*3.1415926/180)*cos([第一列]*3.1415926/180 -[第二列]*3.1415926/180)+
sin([第三列]*3.1415926/180 )*sin([第四列]*3.1415926/180))

 

为什么得不出数据呢?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/12 17:59:00 [只看该作者]

狐表没有arccos 这个函数吧

你分段计算看看,是哪一段有问题

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/12 18:04:00 [只看该作者]

请问大神,那怎么实现我这个公式的计算呢?能帮忙写一个吗?图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/12 18:08: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
msgbox(result)


 回到顶部