大家好,欢迎来到IT知识分享网。
概述
球面距离公式
是计算球面上两点间距离的公式。设所求点A ,纬度角β1 ,经度角α1 ;点B ,纬度角β2 ,经度角α2。则距离S=R·arc cos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2],其中R为球体半径。
详见 百度百科
:https://baike.baidu.com/item/%E7%90%83%E9%9D%A2%E8%B7%9D%E7%A6%BB%E5%85%AC%E5%BC%8F/?fr=aladdin
数学模型
:
计算公式
:
L=R·arc cos[cos(wA)cos(wB)cos(jB-jA) + sin(wA)sin(wB)]
补充:
- 弧长=弧度*R ————-弧度=角度 x (π/180)
- 因为180°=π(π是弧度单位) 两边同÷180 得1°=π/180弧度
使用
球面距离
在开发中一般用在,地理位置的位移量
计算中。
本文将根据 风控系统中,用户登录的位移量评估
简单介绍此算法的使用。
一般的,我们再日志中,可以获取客户端的登录
IP
,根据IP
将可以得到地理位置经纬度
,根据前一次登录的经纬度
与下一次的登录的经纬度
做对比,如果,在这两个时间的间隔时间内
,发生了超乎寻常的平均位移量
,将判断为有风险。
代码实现
public boolean doEval(long evaluateTime, GeoPoint currentGeoPoint,long lastLoginTime,GeoPoint lastLoginGeoPoint){
//判断如果没有上一次登陆的地理位置,则不进行评估 if(lastLoginGeoPoint==null){
return false;
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151803.html