数极客首页

产品功能解读:「附近的人」是按什么规则计算的

「附近的人」这样的产品功能,你一定不陌生吧?

微信就有「附近的人」的功能,依托于位置信息,展示平台上与你距离较近的用户,这个功能在各种平台上曾经盛极一时,依托「附近的人」的功能,也产生了一些灰色的产业链。

产品功能解读:「附近的人」是按什么规则计算的

但今天要讨论的不是如何利用「附近的人」来撩汉约P,而是站在产品的角度,分析「附近的人」是如何实现的。

如何实现?可能就是获取了个人位置信息,将平台上的所有用户的位置信息按位置排序,然后逐一计算距离…

起初我也觉得这事就这么简单。但果真如此,就不值得学习探讨了。附近的人的实现策略,并不是一句话就能说清楚的。

首先,我们来回顾一些地理知识。

1、地球是圆的,分南北极,以地轴为中心自转。

产品功能解读:「附近的人」是按什么规则计算的

2、纵切线是经线,常用「经度」来衡量;横切线是纬线,常用「纬度」来衡量;

产品功能解读:「附近的人」是按什么规则计算的

3、纬线赤道往北极方向称为「北纬」,往南极方向称为「南纬」;经线地轴往左方向是「西经」,往右方向是「西经」;经线和纬线相交的点叫「坐标」,如下图中的红点:

产品功能解读:「附近的人」是按什么规则计算的

也就是说,我们每个人目前所在的位置,都在某一条经线和纬线的相交点上,都有一个「坐标」,我们也常说「位置」。

那手机应用是如何获取我们的位置的呢(手机如何定位,知道我们在哪里)?

目前常用的定位技术有GPS定位、基站定位、WiFi辅助定位、AGPS定位、Glonass定位、北斗定位等。具体这些技术是什么原理这里不细讲了,通过这些技术,我们的位置会换算成一个「坐标」,使用坐标点(XX.XXXXX,Y.XXXXX)来描述,我们也常说这是「经纬度」。

假如我们都获取到了平台上的用户位置所在的坐标点,就可以计算你和TA的距离,就知道TA是不是你附近的人了。

如何计算你和TA的距离呢?

坐标值保留小数 5 位,大概就可以精确到 1 米左右,比如A用户和B用户坐标点A(20.38635,93.85210)与B(20.638635,93.85212)Y轴相差93.85212-93.85210 = 0.00002,相差在 2 米左右;

在纬度相等的情况下:

*经度每隔0. 00001 度,距离相差约 1 米;

*每隔0. 0001 度,距离相差约 10 米;

*每隔0. 001 度,距离相差约 100 米;

… 以此类推

 *在经度相等的情况下:

*纬度每隔0. 00001 度,距离相差约1. 1 米;

*每隔0. 0001 度,距离相差约 11 米;

*每隔0. 001 度,距离相差约 111 米;

… 以此类推

但并不是所有用户都在同一条经线或者纬线上直接算直线距离,如果用户量较大的情况下,要这样使用二维坐标(x,y)来计算距离是不现实的,其次,真实记录用户所在的经纬度,且在多个地方使用经纬度来计算位置,有一定的隐私问题。

如果我们想要更快地得知你所在的位置附近,都有哪些人,必须寻找快一点的方式,比如数据库在数据量较大且需要排序时,会经常用到索引来提高计算效率。

t

给大家推荐我国新一代大数据用户行为分析与数据智能平台:数极客(https://www.shujike.com),是支持无埋点、前端埋点、后端埋点、API导入四种混合数据采集方式,整合分析用户行为数据和业务数据,可以自动监测网站、APP、小程序等多种渠道推广效果分析,是增长黑客们必备的互联网数据分析软件。数极客支持实时多维分析、漏斗分析、留存分析、路径分析等十大数据分析方法以及APP数据分析网站统计网站分析小程序数据统计用户画像等应用场景,业内首创了六种提升转化率的数据分析模型,是用户行为分析领域首款应用定量分析与定性分析方法的数据分析产品

发表评论

评论已关闭。

相关文章