前言

做室内定位的人其实内心都明白:基于指纹方法的移动端定位,无论paper每年出来多少,距离真正的大规模应用的距离还有多么遥远。指纹采集,指纹更新,似乎在生产实践上就是不可能的难题。所有还在基于人工格网数据采集做室内定位,除了发paper就是在非常小的范围内靠投入极大的人力物力,来做小范围应用。因为无线信号,无论是基于WiFi,Beacon还是zigbee,通过采集指纹来定位,除了信号本身波动和环境影响,不同的信号发射源,不同的信号接收器(各种各样的手机,平板,智能手表)都严重影响定位精度。而对于不同的设备进行分别校正,生产上无异于痴人说梦。

室内位置服务

简单讲,如果定位能够做到室内店铺,房间级别定位,从用户角度来说我们可以:

  • 更好的定位导航体验
  • 针对性推送推广和折扣信息等商业场景

对商铺和管理者来讲:

  • 人流统计,旺铺分析
  • 更合理的资源分配和数据分析

而这一切都建立在需要定位的基础上,但是刚刚讲到万千设备,亿万建筑,无论怎么样的巨头都没可能雇人挨个店铺采集数据建立和更新训练数据集。

从扫码支付想到

首先,用于定位的指纹数据,就是训练数据,是一组收集的带有位置label的无线信号数据(甚至可以包括磁场数据等等),用来表征该位置的环境特征。传统的方法是训练者带着手机一个个地方去标记,去测试,工作量之大让人望而却步。而且不可能对很多不同的设备分别训练数据。

关于基于指纹方法定位是如何实现的,有兴趣的童鞋可以参考我之前写的一篇博客。虽然我下面要说的东西基本上可以不称之为指纹定位,而可以说是基于众包大数据挖掘的定位了。

近来在不同的餐厅吃饭,很多都实现了直接上桌扫码点餐,扫码付款,而基本是基于两个超级App,微信和支付宝。所以仅仅就室内定位而言,我不知道这两个超级App会做或者已经做了什么,但是我们可以预见的是巨头们的玩法真的可以多种多样!

首先,那么当用户在餐厅扫码点餐,支付的时候:

  • 超级app可以收集用户所在位置的WiFi数据,地磁数据和其他特征数据。
  • 通过扫码的信息,可以获取获取到当前用户在哪个店铺,甚至哪张桌子。店铺和桌子能够表示什么?表示地理位置,也就是指纹数据的label.
  • 这样就可以建立起来  室内环境特征--->位置 的映射数据库
  • 那么当另一个用户进来某个店铺,超级app通过对比,基本可以判断用户在室内哪个店铺,甚至房间和桌子级别(由此可以提供上述位置服务)

这些数据可以做什么:

  • 超级低廉的成本,不需要雇人去采集数据
  • 覆盖面积超大,随着移动支付的普及,只会越来越大。不仅商铺,甚至地铁的数据都可能在扫码时候采集到了!
  • 各种不同的用户,各种不同的移动设备,完全足够针对不同的设备进行优化和模型校正,这是实际中不可能完成的任务。
  • 动态更新的数据! 传统的数据收集完毕,过段时间环境变化就变化了,而巨头们的数据只会源源不断的涌进来。
  • 超大的数据量,大家都知道大数据意味着什么,更高的容错,更精准的模型可以被建立用来提供更精确的位置信息。
  • 超级App基本拥有的手机上所有的权限,所以各种不同的数据都能够被用来建立特征。

数据为本的时代,在太多的细分领域,超级app和巨头们都完全可以后发先至。

最可怕的是,甚至已经先发了,之前阿里天池大赛曾经做过一定基于 WiFi 定位的比赛,其数据来源没说,不过现在回想起来,不难理解了。

那么我们还能做什么

加入大厂咯!

从扫码支付想到的超级APP主宰一切,数据!数据!还是数据!的更多相关文章

  1. 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结

    最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...

  2. asp.net core 微信扫码支付(扫码支付,H5支付,公众号支付,app支付)之1

    2018-08-13更新生成二维码的方法 在做微信支付前,首先要了解你需要什么方式的微信支付,目前本人做过的支付包含扫码支付.H5支付.公众号支付.App支付等,本人使用的是asp.net mvc c ...

  3. 微信支付-微信公众号支付,微信H5支付,微信APP支付,微信扫码支付

    在支付前,如果使用第三方MVC框架,则使用重写模式,服务器也需要配置该项 if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$ last; ...

  4. asp.net core 微信公众号支付(扫码支付,H5支付,公众号支付,app支付)之3

    在微信公众号中访问手机网站,当需要调用支付时候无法使用H5支付,只有使用微信公众号支付,使用公众号支付用户必须关注该公众号同时该公众号必须开通公众号支付功能. 1.获取用户的OpenId ,参考之前写 ...

  5. asp.net core 微信H5支付(扫码支付,H5支付,公众号支付,app支付)之2

    上一篇说到微信扫码支付,今天来分享下微信H5支付,适用场景为手机端非微信浏览器调用微信H5支付惊醒网站支付业务处理.申请开通微信H5支付工作不多做介绍,直接上代码. 首先是微信支付业务类(WxPayS ...

  6. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

  7. 微信支付Native扫码支付模式二之CodeIgniter集成篇

    CI:3.0.5 微信支付API类库来自:https://github.com/zhangv/wechat-pay 请先看一眼官方场景及支付时序图:https://pay.weixin.qq.com/ ...

  8. 微信扫码支付 php

    仔细看了一遍官方的那幅流程图,我来简化理解一下(注意:我这里针对的是扫码支付模式一,模式二没什么说的)网站后台生成二维码,当然是跟据前台传来的参数有条件的生成买家扫描二维码,扫描过程中,微信后台系统回 ...

  9. C# 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付            今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候 ...

随机推荐

  1. 【题解】kth异或和/魔改版线性基

    [题解]魔改版线性基 魔改版线性基解决此类问题. 联系线性空间的性质,我们直接可以构造出这样的基: \[ 100000 \\ 010000 \\ 000010 \\ 000001 \] 使得每个基的最 ...

  2. CountDownLatch,CyclicBarrier,Semaphore的使用

    什么时候使用CountDownLatch CountDownLatch原理和示例 Semaphore信号量的原理和示例 CyclicBarrier的用法 CyclicBarrier 和 CountDo ...

  3. .NET ViewState对于画面的速度影响

    最近开发一个.NET网站,发现有一个画面的交互特别缓慢,查了很多原因都没查到 最后终于知道,是因为画面的ViewState用的过多,其中有一个ViewState保存的数据相对而言比较大,导致了画面的运 ...

  4. poj 1146 ID Codes (字符串处理 生成排列组合 生成当前串的下一个字典序排列 【*模板】 )

    ID Codes Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6229   Accepted: 3737 Descript ...

  5. CodeForces - 960F Pathwalks —— 主席树(n棵线段树)

    题目链接:https://vjudge.net/problem/CodeForces-960F You are given a directed graph with n nodes and m ed ...

  6. BZOJ 1232 [Usaco2008Nov]安慰奶牛cheer:最小生成树【树上dfs性质】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1232 题意: 给你一个无向图,n个点,m条边. 每条边有边权len[i][j],每个点有点 ...

  7. C字符串末尾的'\0'问题

    C语言的字符串要注意最后一位默认是'/0'的问题.这是一个易错点. strlen()计算长度时不考虑末尾的'\0' //例1 void test1() { ]; "; strcpy( str ...

  8. 《java编程思想》:设计模式(不定期更新)

    1.策略设计模式 创建一个能够根据所传递的参数对象的不同而具有不同的方法,被称为策略设计模式.这类方法包含索要执行的算法中固定不变的部分,而“策略”包含变化的部分.策略就是传递进去的参数对象.在下面的 ...

  9. eclipse 通过maven 开发storm项目

    window系统安装java 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/ind ...

  10. Ubuntu——查看内存和CPU情况

    查看内存及cpu使用情况的命令:top 也可以安装htop工具,这样更直观,安装命令如下:sudo apt-get install htop安装完后,直接输入命令:htop