为什么 GPS 在威尼斯会出错
两侧是高楼、有顶的廊道、运河:信号反射之后才到达,手机以为自己在别处。威尼斯的小巷又窄又挨得近,稍有偏差就会把你送到平行的小巷。
Calletta 做了什么
- 它认得小巷。使用威尼斯真实的步行路径网络(来自 OpenStreetMap):定位点只能出现在人能走的地方。
- 同时尝试多个位置。滤波器同时保留许多关于你在哪里的假设(“粒子滤波”),让与信号、步数和指南针一致的假设存活下来。信号消失几秒钟时,这些假设会继续跟你一起走。
- 数你的步数。用手机的加速度计判断你什么时候走、走了多远。
- 学习你的步幅。每个人的步幅不同:Calletta 在你走路、信号良好时学习你的步幅,并记住。
- 用指南针,但不盲信。如果指南针与你行走的方向一致就使用,路口选小巷时也用;如果手机放在包里、指南针乱报,就关掉它。
- 知道自己在哪类场景。能识别你在船上(就跟随信号)、在广场(可以自由行走)或在小巷网络之外。
- 从不卡住。即使信号很弱,定位点也继续跟着你移动。
- 地图与小巷对齐。当它确定你走的是哪条小巷,就沿小巷的方向摆正地图,因为靠近墙壁时手机指南针会出错。
这对你意味着什么
- 地图上的箭头和圆圈停在你所在的小巷。
- “边走边听”在正确的地点附近开始,而不是平行小巷上的那个。
- 日记记录的是真实路线,而不是折线。
你的位置属于你
位置仅在手机上用于给你引路,未经你同意不会发送到我们的服务器。为了调校滤波器,我们会请求明确的同意:你可以拒绝,也可以删除已发送的记录。