首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >追踪地铁地图

追踪地铁地图
EN

Stack Overflow用户
提问于 2010-11-02 01:41:06
回答 4查看 873关注 0票数 1

假设我想要构建一个智能手机应用程序,告诉用户何时/在哪里从地铁站下车。我可以想到两种方法来做到这一点:

1)使用GPS和地铁路线的地图,跟踪用户的位置,并在到达目的地时通知他。2)让用户在火车开始时按下start (这可能不现实,因为用户可能简单地忘记这样做),使用从起始站到终点站的已知行进时间,并在时间到时简单地通知他。

谁能告诉我有没有其他好的方法?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-02 03:17:30

你可能不得不使用“航位推算”。基本上,航位推算是一种导航技术,它使用确定的起始位置加上准确的速度和时间来计算新的位置。请记住,速度本身就是航向和速度的组合,航向必须是真正的航向。在飞机上,指南针的航向必须与风速和风向相结合才能得到真正的航向。我不认为你必须考虑地铁上的漂移,但你必须考虑到用户移动或使用设备本身时不同的设备方向。此外,仅仅因为航向通常是一个罗盘方位并不意味着它必须是。你也许只需要使用加速计和计时器就能完成这项工作。

正确使用航位推算还需要在到达已知位置时频繁地对它们进行“重置”,以便错误不会累积得太严重。对于这个应用程序,我认为曲线和停止检测可以用作重置。你可能会对太接近真实停靠点的“服务”停靠点产生误报,但这些情况可能非常罕见,可以忽略不计。事实上,如果它不是出口停止,这可能不重要,因为您可能仍然足够准确的下一个停止警告,如果是出口停止,这将是无关紧要的,因为旅程已经结束。

总而言之:你需要确保你有一个良好的初始起点;你需要补偿设备重新定向才能获得真正的航向;你需要知道航向变化和航向时间之间的平均速度,以计算航向距离。您可以通过在已知地标上重置来提高总体精度。

编辑:我不知道这是否让你更接近答案,但是Chris Stratton提出了一个关于加速计向量求和的有趣的观点。是否有可能足够精确地跟踪设备的方向,以获得可靠的与方向无关的重力矢量?你能把它从你的向量和中去掉吗?这能沿着一个有用的方向无关的向量提供有用的加速吗?如果是这样,那么跟踪加速度的持续时间将获得该持续时间的平均速度和加速结束时的最终速度。没有加速度,速度将保持不变。把所有这些放在一起,可能会在不准确的基础上堆积不准确,达到无用的程度。

票数 2
EN

Stack Overflow用户

发布于 2010-11-02 01:50:01

如果地铁线路有蜂窝服务(出于安全考虑,有些线路将被关闭),您也许可以对网络位置做些什么。

你可以使用加速度计来检测和计算车站的停靠点-但由于前方的延误,火车会时不时地在车站之间停靠。此外,电池寿命也会缩短。编辑:意识到你无法区分加速度和减速,因为你不知道方向(除非你发现指南针传感器在那个环境下是可行的)-你只能看到三个加速计的矢量和在几秒钟内大于重力。

你可以试着用麦克风来检测火车马达和刹车的声音(有些是非常特殊的),但电池寿命和车站之间的意外停靠也存在同样的问题。更不用说为维修工作而绕过的预定车站了。

也许你应该给用户一个可滚动的站点列表来标记旅程,让他们跟踪。

票数 2
EN

Stack Overflow用户

发布于 2010-11-02 01:43:09

这两个听起来都是糟糕的解决方案。在地铁里你几乎肯定得不到GPS的踪迹。第二种方式听起来不够准确,会让这个应用程序变得无用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4071513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档