[行业虱子与科普]说说智能手机中的导航应用

入得谷来,祸福自求。
Post Reply
Elysees
Posts: 6813
Joined: 2003-12-05 13:10

[行业虱子与科普]说说智能手机中的导航应用

Post by Elysees » 2014-06-08 23:43

去年我一个做少年科普杂志的朋友找我写了篇关于smartphone导航的小短文,发也发了一阵了,顺便贴在这儿。
就很明确的解释为什么我一听人家管导航(navigation)叫gps,就觉得哪里不对劲。
我本来的题目就叫智能手机中的导航应用,编辑帮我加了个比较少年化的标题,把行文也改的比较适合少年口味了。
原理都写得很浅,因为要求是高中生以下能看懂。不过,嗯,我很久不码这么严肃的字了——其实当时还犯了个非常严重的错误,暴汗,后来还劳烦他们下期更正了一把——敝帚自珍的决定贴了存一下。
严格来说其实gps更精确的是四星定位,不过仅限地球表面的话,海拔已知,三星也足够了。
当时写这篇的时候,Waze还没有被google买掉,后来Google买了Waze,听闻Waze用户群有个巨大的跌落,我们同事之间互相讨论,大概的想法是,人们有时候愿意跟些小众的公司分享自己的位置,但并不见得愿意把这些信息分享给Google这样的行业巨头——毕竟,它拿到的其他信息已经太多太多了。
我很早以前,刚开始工作的时候,manager送了我本书, spying with maps,在gps植入smartphone进入千家万户并且被千家万户应用起来以后,这简直是个不能深想的题目。
lets怎么样都能找到——说说智能手机的导航应用
文/

“豌豆”新买了一个智能手机,高高兴兴带出去吃了顿饭,回来后却到处找不到手机。她怀疑自己把手机忘在餐厅里了,想回去找,可餐厅挺远,又怕白跑一趟。于是她用自己的账户登陆“在线寻自己手机”的服务,地图上显示她的手机的位置还在家里,于是她让系统播放了声音,凭着声音,果然在家中的沙发缝里找到了手机。
“浣熊君”出差到了一个陌生的城市,他嗜好吃辣,想找一个好的川菜馆吃饭。因为完全不熟悉周边,他便拿了手机,看看四周的餐馆推荐,几下找过来,果然寻到几个线上颇有好评的川餐馆,一一列着餐馆离他的距离,他选了个评论星级高又在步行范围内的走过去,按照别人的意见点了菜,吃起来真的很满意。
“猫不热”的朋友搬了新家,邀请她去新家里参加聚餐。阿猫方向感不好,自己找路经常找不到。幸好手机上有导航服务,于是阿猫打开导航,输入朋友的新家地址,语音一路指点她左拐右绕,按时顺利抵达朋友的家。
豌豆,浣熊君和猫不热,三个人运用的手机功能,听起来虽然不同,却有一个共同必要的参数,那就是手机本身的位置;而浣熊君和猫不热要求的服务是现如今智能手机的热门功能:LBS,基于位置的服务(Locantional Based Service)。
这些服务的实现,必不可少的是确切定位手机的具体位置。这就先要说到现今智能手机中安装的GPS。

GPS的定位原理

GPS,全称是Global Positioning System,全球定位系统,是1973年美国军方开发用以定位的。而到如今,GPS已经大批量进入民用,智能手机中的GPS,几乎可以算是目前民用GPS最广泛的用途。
了解GPS定位,先要了解卫星。
环绕地球的天空轨道上,有24颗用于定位的卫星。这些位于高空的卫星围绕地球不断运转,并且持续不断的向地面发射信号。它们发出的信号包含两个内容:一是信号发出的发出时间,二是信号发出时期卫星的具体位置。
而位于地面的GPS接收器的位置,就靠这些卫星来进行确认。
要确认GPS接收器在地球上的位置,该GPS接收器必须收到至少三个卫星发出来的位置信号,这是初始的寻找卫星的过程。
卫星信号要被GPS接收器顺利接收到,就需要GPS接收器的上空尽量空旷无遮挡。正因为如此,楼房中,高楼群里,或者繁密的树林里,(按:这里其实还少写了一个主要因素,在有严重信号干扰的地方)GPS接收器几乎无法完成初始定位过程。
而在地面的GPS接收器接收到卫星发出的信号后,进行解析,便可以通过收到与发出信号的时间差,计算出这个GPS接收器与该卫星的距离;结合信号中的卫星位置,便可以计算出该GPS接收器在地球表面可能的覆盖位置 。这个可能的覆盖位置,是一个以该卫星为球心,接收器与卫星距离为半径在空间画球形以后,该球形与地球表面交出来的一个圆形。
将这个过程在被接收到信号的三套卫星信号上进行三次,空间中三个球形,与地球表面交出来的三个圆形,会确认出一个交点。这个交点,就是该GPS接收器在地球表面的位置。
这个确认GPS接收器位置的过程,便是所谓的三维中的三边测量术(3D Trilateration)。
下图简略表示了这种三维三边测量术的运算方式。

LBS服务的完成

现今所有能提供LBS服务的智能手机,都安装了GPS接收器。 GPS接收器确认出来的位置,一般是以经纬度表达。仔细想想,如果有人问朋友你住在哪里,回答的人我说我在东经117度北纬39度,一定会被人认为很奇怪吧。每一个日常生活中的人,说到自己的位置,大概的用词,应该都是,某某街某某号,或者某个建筑物的旁边等等。
同样的,LBS服务中,服务商也会提供具体生活中的参照物来确定帮助用户确认手机位置。
所以上面豌豆、浣熊君和猫不热三个人运用他们的智能手机所完成的服务,必须的参数除了手机的经纬度绝对位置,还需要的一幅尽可能完善的地图来帮助他们确认手机的相对位置。
提供LBS服务的供应商会把地图数据预先制作完成,存在服务器上。对于豌豆的指令,服务只需要把她的手机的具体位置,叠加显示在一幅地图上,她便可以通过所显示的手机位置所在的街道,来判断她的手机究竟是遗落在餐馆,还是家中。
而浣熊君的指令,则多加一个步骤。服务器取得手机位置以后,在地图上搜索手机位置一定距离内的指定兴趣点(Point of Interest ,POI),例如浣熊君寻找的川菜馆,然后为他返回具体的结果。至于随着每个川菜馆返回的大众点评,则是众多用户参与的结果。
三个人中间,猫不热的要求最为复杂,她提交了两个点,以其中一点为起点另一点为终点进行求路。在她请求的服务中,手机位置(即他的个人位置)是起点,朋友的新家,则是终点。两个点提交到服务器以后,服务器根据地图上两点之间的道路,通过算法为她提供两点之间的路径。她在行走过程中,通过手机不断提交自己的具体位置,而服务器则通过她的动态位置来判断她是否正确走在建议的路径上,并且持续给出或直行或左右转的命令;甚至可以在她走错路以后,重新根据她的现有位置作为起点,进行实时求路,提供新的路径作为选择,帮助她顺利抵达朋友的家。
以上三种LBS服务,只是目前各种多样化的基于位置的服务中的几种,无论豌豆,浣熊君,或是猫不热,他们得到的服务,都基于他们个人手机的位置,服务也仅仅针对他们个人而言。
但智能手机GPS提供出来的手机位置,用途还远远不止如此。

位置分享与更多

在这个分享的时代,分享位置相关的信息,是无数分享中重要的一项,甚至可以说,是最实用的一项。智能手机提运用了手机GPS提供的具体位置,除了提供给手机用户与位置相关的服务,更可以把与位置相关的信息分享给大众。
一个最显著的运用,是实时交通信息的分享,比如著名的导航App Waze。
Waze除了给用户提供导航信息;最重要的,是鼓励用户参与分享与自己位置相关的信息:该处是否有塞车?是否有路况变更?是否有车祸?是否有道路建设?等等等等。用户只需点几个键,就可由智能手机(在获得用户许可的情况下)自动提交所在地的具体路。Waze则实时把这些信息发布到地图上。作为可能经过该地的其他用户,不必亲临其地就可以知道是否需要绕道,或者减速,或者注意行驶。
这样的分享,既有趣,又造福大众。而对于Waze这个开放商来说,通过整理用户社区中提供的信息,可以把这些实时的交通路况售卖给需要交通信息的服务商,通过广播或电视分享给并没有智能手机的用户。
除了实用,有趣的位置分享当然也有。
类似于微博里的“我在这里”,微信中的寻找附近的朋友等等功能,是广大乐于分享的人群中不可或缺的一环。手机(在用户允许的情况下)自动提交的地理位置,为分享的过程提供了很多便利。用户喜欢做的,就是简单说说我干了什么,我看到什么,拍个照片;而输入地理位置这样繁杂的活儿,还是交给聪明的GPS吧。
我自横刀向天笑,笑完我就去睡觉。

Jun
Posts: 27816
Joined: 2003-12-15 11:43

Re: [行业虱子与科普]说说智能手机中的导航应用

Post by Jun » 2014-06-09 6:55

GPS 是定位,手机在什么经纬度,对吧?导航 navigation 是计算从这里到那里怎么走?
此喵已死,有事烧纸

Knowing
Posts: 34487
Joined: 2003-11-22 20:37

Re: [行业虱子与科普]说说智能手机中的导航应用

Post by Knowing » 2014-06-09 14:43

好看。
我面试过一个做google 地图search 的人,你知道在地图里搜东西,打出lo 时候底下会出十个还不是二十个建议london bridge, london, uk。但是lo 开头的point of interest 很多很多啊,怎么决定display 那些呢?这个就是跟现在位置有关,还跟以前所有用户搜索的频率相关。算法挺好玩的。。。我当时想要写一下,结果没空写,后来就忘了。
有事找我请发站内消息

Elysees
Posts: 6813
Joined: 2003-12-05 13:10

Re: [行业虱子与科普]说说智能手机中的导航应用

Post by Elysees » 2014-06-09 15:24

Jun wrote:GPS 是定位,手机在什么经纬度,对吧?导航 navigation 是计算从这里到那里怎么走?
是的,没错没错!但是很多人都管自己手机上的导航app直接叫gps,好像现在所有人也都习惯了。
Knowing wrote:好看。
我面试过一个做google 地图search 的人,你知道在地图里搜东西,打出lo 时候底下会出十个还不是二十个建议london bridge, london, uk。但是lo 开头的point of interest 很多很多啊,怎么决定display 那些呢?这个就是跟现在位置有关,还跟以前所有用户搜索的频率相关。算法挺好玩的。。。我当时想要写一下,结果没空写,后来就忘了。
求求您写吧,您已经不止一次把这个google人拎出来说,然后讲两句逗我们一下,又不开个详细贴,心痒啊啊啊啊。
我们公司的auto fill好像也有个算法,可能第一是该用户最近搜索过的,后面怎么排序我就不知道了。
其实search也是门学问啊,贵人有时候也回来讲大数据啊切割关键字什么的,这简直还需要个linguist。
我自横刀向天笑,笑完我就去睡觉。

Knowing
Posts: 34487
Joined: 2003-11-22 20:37

Re: [行业虱子与科普]说说智能手机中的导航应用

Post by Knowing » 2014-06-09 16:10

就是选一堆指数然后算相关性,还有二维的相关矩阵,算出来最高的autofill. 但是我已经不记得用那些指数算了。
有事找我请发站内消息

Post Reply