毕业设计实现思路-算法部分

原理

已有AP的坐标信息是提前录入系统的,客户端是可以拿到这个信号的,拿到信号后与自己扫描到的周边信号信息进行运算,从而确定位置

发现一个新的定位技术叫wifiRTT,根据往返时间计算设备距离AP距离,

离线检测阶段

ISODATA 算法应用于离线定位阶段

通过账号区分用户类型

一个单独的管理员账号负责离线信号采集工作

用户账号则面向使用

在线检测阶段

自适应加权 K 近邻算法用于在线定位阶段的定位

算法计算时需要和对应的ap进行运算,所以在数据库表中进行存储时需要对应存储

当设备处于一个位置时,可以扫描到周围wifi信号,此时数据库中存储的是多个参考点的wifi指纹,对于一个参考点录入的各个wifi的RSSI,和当前位置的RSSI计算差值的平方和,这样计算出的就是当前位置和该参考点的欧氏距离,按照这种方式,计算出当前位置距离所有参考点的欧式距离,选出最小值,对应的参考点即为当前位置

参考

仿真测试

参考

坐标映射

算法到底怎么跑的,算出来个啥

坐标转换地图显示

单纯依靠wifi指纹条目,随着条目增多,计算速度大幅度降低

现在的理解是,聚类算法就是把已有AP分类形成几个大类,然后先确定所出大类,再进入大类确定细节,有点类似分块算法

分成几个大类就是 ISODATA做的事情,在此数据的基础上,应用K邻近算法确定细节

可以先考虑没有 ISODATA,现在只考虑确定细节的K邻近是如何处理指纹信息确定位置的

  1. 首先需要确定示例中

    • 定位点如何显示(定位点图标如何显示)

      需要理解2个概念,一是图层类FMLocationLayer,一个是标记类FMLocationMarker

      大致理解就是获取图层,然后创建标记,并且把标记添加到图层中

      1. 获取图层
      2. 创建标记,包括设置坐标、图像,大小
      3. 将标记添加到图层中
    • 定位点如何变动位置

      简单来说标记类是具有更新位置的方法的,设置刷新间隔时间,每次向api发送当前位置的ap信息,由服务器计算当前位置的坐标并返回app端

    • 坐标如何计算,坐标计算有两方面问题,一方面是算法的计算过程,这部分放在在线检测阶段来解决;另一方面是地图的点是如何表示的

      图片映射到fengmap,只需要确定两者部分点之间的映射关系,给定一个相对坐标即可确定在fengmap上的位置

参考

posted @ 2023-02-13 17:11  0x7F  阅读(65)  评论(0编辑  收藏  举报