永发信息网

用java写:求地球上任意两个点之间的距离,知道这两个点的经纬度

答案:3  悬赏:70  手机版
解决时间 2021-02-09 12:22
用java写:求地球上任意两个点之间的距离,知道这两个点的经纬度
最佳答案
距离可以用r*arccos[cos(y1)*cos(y2)*cos(x1x2)+sin(y1)*sin(y2)]来算
r是地球半径6370km,x是经度,y是纬度

注意角度单位的转换。Math类里的sin和cos函数的参数是以弧度为单位的角度,所以x1、x2、y1、y2要用弧度表示,但一般经纬度都是用角度表示(如X1=120 东经120度)就要化成弧度(x1*Pi/180)
而acos函数返回值正好是以弧度为单位的,刚好符合要求

如果你的代码里的lat1、lat2、lon1、lon2单位是角度,可以这么改
double radius=6371000;
double distance=radius*Math.acos((Math.cos(lat2*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.cos(lon1*Math.PI/180-lon2*Math.PI/180)+Math.sin(lat1*Math.PI/180)*Math.sin(lat2*Math.PI/180)));

我算出来是903.9千米
全部回答
如果是同一纬度的话:纬度差.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如意理发地址在什么地方,我要处理点事
手机百度糯米怎么退出当前登录的账号
开原市乐舞传媒有限公司地址在哪,我要去那里
【次数】物理学中表示次数用什么符号?比如:像
(125一30)x8的简便算法脱式计算
国际标榜地址在什么地方,我要处理点事
excel合并单元格怎么让两行交换位置
韩磊唱的歌词有;过河的卒子不后退是那首歌里
怎么从一个路由器连接另一个路由器怎么设置
名人坊造型怎么去啊,我要去那办事
烧烤学徒工的活累不累
合川市万民福桃片厂怎么去啊,有知道地址的么
培养细菌和真菌的一般步骤按先后顺序排列是C
奔跑吧兄弟第三季第五期里最后出现的那本书?
已知总体分布,怎么写样本的概率分布
推荐资讯
这种用html和css怎么做
郑州青少年宫幼儿园费用
法律硕士非法学是不是越来越难考了
鑫荣苑停车场(出入口)地址在哪,我要去那里办
牧场物语女版 我和多特结婚了 是不是其他几对
有辽阳的兄弟吗 ? 站前旅店还有吗 现在什么
制度化教育建立的典型表现特征是(  )A.学
下列有关行政机关冻结存款、汇款的表述中正确
我老公在外偷女人,还把野女人带回先家去偷情,
五指生足部保健在哪里啊,我有事要去这个地方
有三十二支球队比寨,冠军的队最少胜几场?
问一种海洋里的生物温州这边的人叫他水着这个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?