var sum = 0
var target = [5,10]//记得要排序
var targetIndex = 0
var i = 0
var item = ""
for(i = 0 i < arr.length i++) {
item = arr[i]
sum += item.length
if (sum > target[targetIndex]) {
console.log(item)
targetIndex ++
if (targetIndex === target.length){
console.log("查询结束")
break
}
}
}
目前室内定位常用的较高精度的定位方法,从原理上主要分为七种:邻近探测法、质心定位法、多边定位法、三角定位法、极点法、指纹定位法和航位推算法。一、邻近探测法
通过一些有范围限制的物理信号的接收,从而判断移动设备是否出现在某一个发射点附近。该方法虽然只能提供大概的定位信息,但其布设成本低、易于搭建,适合于一些对定位精度要求不高的应用,例如自动识别系统用于公司的员工签到。
二、质心定位法
根据移动设备可接收信号范围内所有已知的信标(beacon)位置,计算其质心坐标作为移动设备的坐标。该方法易于理解,计算量小,定位精度取决于信标的布设密度。
三、多边定位法
通过测量待测目标到已知参考点之间的距离,从而确定待测目标的位置。精度高、应用广。
四、三角定位法
基于无线信号的三角测量定位算法是室内定位算法中非常常见的一种,三角测量定位算法类似GPS卫星定位。实际定位过程中使用的是RSSI信号值衰减模型。原理是在无线信号强度在空间中传播随着距离衰减,而无线信号强度(RSSI值)对于定位标签上的接收器来说是可测的,那么依据测试到的信号强度,再根据信号衰减模型就可以反推出距离了。获取待测目标相对2个已知参考点的角度后结合两参考点间的距离信息可以确定唯一的三角形,即可确定待测目标的位置。基于三角测量定位算法的定位方案是被动式蓝牙定位方案和主被动一体式蓝牙定位方案。
五、极点法
通过测量相对某一已知参考点的距离和角度从而确定待测点的位置。该方法仅需已知一个参考点的位置坐标,因此使用非常方便,已经在大地测量中得到广泛应用。
六、指纹定位法
在定位空间中建立指纹数据库,通过将实际信息与数据库中的参数进行对比来实现定位。指纹定位的优势是几乎不需要参考测量点,定位精度相对较高;但缺点是前期离线建立指纹库的工作量巨大,同时很难自适应于环境变化较大的场景。
七、航位推算法
是在已知上一位置的基础上,通过计算或已知的运动速度和时间计算得到当前的位置。数据稳定,无依赖,但该方法存在累积误差,定位精度随着时间增加而恶化。
1.每一个无线AP都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内是不会移动的2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址
3.设备将这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备
4.位置服务商要不断更新、补充自己的数据库,以保证数据的准确性,毕竟无线AP不像基站塔那样基本100%不会移动
这样的位置服务商现在来说只有Skyhook和Google两家.他们收集位置数据的方式也是相似的
1.主动采集
Google的街景拍摄车还有一个重要的功能就是采集沿途的无线信号,并打上通过GPS定位出的坐标回传至服务器
2.用户提交
Android手机用户在开启“使用无线网络定位”时会提示是否允许Google的定位服务手机匿名地点数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)