闲扯淡:
应直属领导要求,室内定位需要一个刚需:“用户停车后不再需要手动标记自己的停车位置,而是APP自动为用户标记自己停车的位置”。
这还真是刚需,试想用户开车打开APP,停车后一般情况下都不会有标记停车位置的习惯(用户遗忘,或者个人习惯),用户习惯也不是一般APP能改变的(BAT除外啊!)。
着手研究吧!iOS计步器是通过coreMotion.framework框架得到的,这里的计步器就是苹果手机自带的健康里面的数据,通过研究计步器还有个自带的用户行走状态:车辆、行人、跑、自行车、停止、未知;感觉就像雪中送炭、雨中送伞一样;这种感觉太美好(理想状态)。
实现方案:
-> 理想实现方式:
1. 通过分析用户计步器状态变化,如果发生”车行->行走”,则打标记;
2. 通过标记找到用户当前位置来标记车位;
3. APP根据GPS信息自动标记车辆位置。
想着挺简单的是吧!理想很美好现实很骨感!!! > <!
-> 现实测试计步器:
#测试计步器
通过测试研究计步器的计步功能和速率,步伐等数据,发现如下特点:
1. 用户在驾驶机动车时候计步器基本处于静止状态(你拿着手机在车上乱晃荡除外);
2. 当用户下车行走时候计步器处于计步状态。
#测试计步器行走状态
通过测试计步器行走状态发现如下特点:
1. 车行状态不好切入,切入时间不定,不太准确;
2. 车行状态转换人行状态需要缓冲4-5s的时间,估计走了有个8-9m的距离;
3. 车行状态一旦切入基本不会因为用户停车后再启动车而需要很长时间切入,即使用户停车后再启动车辆行驶也会及时切入;
4. 在汽车上时候一般会出现停车的动作,找停车位时候会出现车行状态和停止状态的来回切换;
5. 但是计步器是挺准确的,当在车上的时候计步器是基本不会计步的,当下车后计步器会重新计步出现步数的变化。
总结:
因此只依靠行驶状态辨别停车位置是不准确的,可以结合计步器的特点:当在车上时候计步器基本不会有大的运动状态改变,当下车后计步器开始计步。这个特性还是比较准确的!
只有通过计步器状态+计步器特性 才能更准确的自动标记用户车辆停车位置!
现实和理想还是有很大差距的!