location-algorithms
2019-10-30 18:49:49 0 举报
location algorithms
作者其他创作
大纲/内容
计算基站间的最小距离,使用最小距离+2000作为移除门限,依次计算其它基站到当前基站的距离,如果超过一般的基站到当前基站的距离大于移除门限则该基站无效
是否需要二次计算
更新缓存表
调用外部服务
N
返回该点位置
返回二次计算结果
Y
是否存在标注的点
取剩余wifi点的中心位置作为本次计算结果
返回结果集
返回结果
基础点位置获取
无效wifi点移除
如果只有两个聚类且聚类的wifi点个数相同,依次判断每个聚类是否存在有cell点到聚类的距离小于阈值(1500),如果存在取当前聚类,如果没有找到,取第一个聚类
需要二次计算
计算位置
存在
平均距离小于门限
是否存在
是否有计算结果
成功
只有1个基站点
建立聚类模型
MainClass定位
取前4个基站,通过信号衰竭公式计算得到半径,使用所有基站的最小经纬度为原点建立坐标系,得到一组圆的集合,遍历集合,如果主基站的圆被包含在辅基站的圆中,重新设置信号衰竭系数再次计算半径,辅基站和主基站的圆相交为止,并将当前基站加入到可信任列表中。
newMainClass:构建一个长度为10的数组,将信任列表中的圆加入,其它基站设置不同的信号衰竭系统重新计算半径得到的圆加入。遍历数组,判断3个辅基站的圆是否两两相交,如果两两相交,计算在主基站圆内部的交点的中心位置,得到一个数组
以每个wifi点为中心点分别建立聚类模型,将与该点距离小于搜索带宽(130)的点找出,计算出聚类的中心位置及点数量,以聚类的中心位置为中心点,重新迭代,直到新的聚类的中心位置与前一次的中心位置的距离小于bandwidth*0.001(0.13)或迭代次数等于200时,停止迭代。将每个聚类按照WiFi点数据进行降序排序,将第一个聚类设置为主聚类
基站点位置获取
查询两小时内最近一次位置点
计算wifi点到每个聚类的距离,如果wifi点到有效聚类的距离最小,则保留,其它点移除
二次计算
是否需要纠偏
无效基站移除
查询全量表
移除其它点
查询缓存表
wifi点位置获取
是否绝对信任主基站且基站数>3
位置纠偏
返回前一次位置
获取有效聚类
创建计算模型
当前定位是否有结果
距离主聚类最近的wifi点的平均距离小于门限(100)
请求数据
newMainClass 定位
插入临时表
如果主基站与第一个辅基站信号差值大于4,则绝对信任主基站
计算平均距离
设置是否绝对信任主基站
收藏
0 条评论
下一页