
编者注: 本文来自微信公众号“ caoz的梦呓”(ID: caozsay),作者caozsay,经许可释放了36种rypto. 原始标题: “从手机定位谈技术”.
我认为有些事情是常识,但后来我发现它们不是常识. 当我想与所有人共享时,在主人拨通它之后,我意外地发现我的理解存在偏差. 有鉴于此,写一篇文章.
起源是GPS的工作原理,我一直认为这是常识. 但是今天我将扩展这个主题.
手机定位通常有三种方法.
方法1: 根据您当前正在联系的WIFI热点,如果WIFI热点是公共可用的热点,则有地址信息. 然后,您的位置可以锁定在该位置的一定半径内.
使用WIFI定位时,只能在一定半径内确认您的位置,并且无法准确识别您的位置和速度.
方法2: 根据移动基站的位置,您的手机信号通过移动基站进行交互. 移动基站的地理位置是明确的. 当您的手机可以获取多个基站的信号,而不同基站的信号具有不同的强度和弱衰减时,则可以根据这几个基站的位置和信号衰减大致获得. 如果您位于具有特定速度的车辆内,则当前位置范围以及大概的运动速度.
方法3: 最准确的是通过卫星定位. 您会看到,尽管WIFI,基站和卫星近在咫尺;但是定位精度越来越高.
因此,卫星定位实际上包括不同的选择. 过去,GPS曾经统治着世界. 每个人都提到卫星定位是GPS,但实际上有许多不同的卫星定位系统. GPS仍然是世界上最大的GPS. 另外,欧洲的伽利略系统,中国的北斗系统等等.
事实上,许多家用智能手机和卫星导航芯片已经支持北斗系统. 用户看到的标记可能仍然是GPS,但是定位服务实际上可能来自其他系统.

然后,手机将根据信号强度自动选择合适的定位和导航系统. 通常,用户不需要选择要使用的卫星系统. 因此,您不需要问我如何切换到北斗系统,只要认为合适就可以使用手机.
我认为这是常识,但是很都有误会.
首先,卫星不知道您在哪里,也不在乎. 其次,您的手机不会向卫星发送信号,并且定位和导航卫星不负责与移动终端进行交互.
从技术上讲,移动电话向卫星发送信号是否困难,并且似乎并不困难. 有一个卫星通信电话,但是它面临两个问题. 首先,所需的功率将相对较大,并且偶尔会进行通信即使移动电话是实时定位的,如果需要交互信息也无法支持电池. 其次,卫星没有如此强大的应答系统. 世界各地的许多移动电话每秒都要求定位. 请求的这种频率不会吓到人们. 一组服务器?有可能吗?
当然,您说过,马斯克不会参与全球卫星网络,该死的好,但是至少目前的技术成本太高了,这是不现实的.
然后是第三个位置,不必那么麻烦.
实际上,导航卫星的工作非常简单. 它正在广播,广播您自己的位置和时间. 每个所谓的GPS芯片(通常称为GPS芯片,现在已经集成了多个卫星系统)都将接收这些信号,然后对其进行处理.
如何处理?如果您知道发送信号的时间,接收信号的时间以及传播速度(即光速),就知道您与卫星之间的距离,对吗?当您的手机可以获取多个卫星信号(例如三个或更多)时,因为您知道卫星的当前位置数据,则可以使用数学公式来计算位置.
但是,由于光速太高并且需要极高的时间精度,因此这里存在一个严重的问题. 卫星上有一个原子钟,可以提供极其精确的时间,但手机上却没有. 此时,您需要将时间用作变量,因此需要四颗以上的卫星才能准确定位位置.
借助科学和技术的力量,卫星定位现在非常精确,可以精确到米,这使得驾驶和导航成为可能. 实际上,军事信号还没有被解密,它可以具有更好的准确性.

实际上,这里存在一个隐藏的问题,因为时间精度极高,因此卫星相对于地球高速移动. 根据相对论,我们知道不同速度下的时间是不同的. 如此精确,根据要求,这种不一致也可能是致命的,因此可以使用相对论公式来纠正此错误.
所以真正的原理是,卫星广播自己的时间(原子钟时间,精确到n个小数位以上),即当前位置. 手机上的定位芯片获取多颗卫星的信息,然后通过相对论公式校正时间误差,然后根据四颗以上卫星的信息计算出其位置. 这就是我说的那样流行和低成本的定位芯片,实际上技术含量还是很高的.
然后这里有一个冷门知识. 卫星还负责为您提供准确的时间,因此您会看到许多智能手机没有调整时间的选项,因为根本不需要. 只要有卫星信号,时间就必须准确. 然后根据您的地理位置确定您的时区并给您当地时间.
许多产品服务提供商都需要您的位置,例如微信,微博等公众评论,当然,更不用说地图导航了. 确定您的位置以提供周围的服务或推荐您周围的联系人是非常标准的Internet应用程序. 实际上,在移动互联网出现之前,这种服务还不是主流,通常仅在同一城市推荐. 当时,定位主要依靠IP地址,这也是我过去使用的技术面试问题.
实际上,移动电话终端用户可以选择是否将其位置信息发送给服务提供商. 如果他们不发送地理位置,则服务提供商还将使用您的Internet访问IP来确定您的大概位置. 当然,这很难准确地定位到特定位置,通常仅是城市.
但是这里存在一个问题,即,移动终端不必向服务提供商报告真实信息. 有很多第三方工具可以伪造您的位置信息. 您可以告诉服务提供商您在南极洲或在北欧的一个小岛上.
这在灰色行业也带来了很多问题.
例如,如果您刷了一张,之前就有一辆超级鬼车,假装在你附近.
例如,关于大炮骗局,您周围的美女要求您开房子,后来又扩展到更多的营销领域. 您周围的美女开始销售茶,酒,股票,或者将您吸引到菠菜网站,或者让您带她玩游戏等等.
许多毫无戒心的人认为他们确实在身边,但实际上他们使用工具来篡改其地址并一路清除.

新加坡政府过去对此一直感到头疼. 骗子在新加坡骗了许多寂寞的叔叔,以骗人的钱. 您仍然可以在大街上看到政府的公共服务广告,以提醒这一骗局.
今天,我在新加坡建屋局住宅区的一条特殊街道上拍了这样的公益广告.
您说服务提供者无法确认其位置的真实性. 没有很多方法. 基本思想是根据历史轨迹进行判断. 您不一定总是在一小时前到湖南,而在一小时后才出现在新加坡. 对. 当然,您可以使用IP地址+地理信息联合判断,但是IP地址可能不受信任,因为您可以使用代理服务器访问Internet.
还有一个远程移动互联网终端,功能更加强大. 您的SIM卡和终端位于新加坡. 人们在大陆上. 您可以远程控制此终端以通过网络进行任何操作. 此外,它目前是黑人行业的最爱.
当我在“知识星球”上分享此主题时,有人问了这个问题. 许多地图软件会显示拥堵并给出行驶时间的测量结果. 如何实现的?
实际上,它并不复杂,它基于用户对数据摘要的持续报告.
例如,目前使用百度地图在此路段上有10辆车,那么百度地图将知道这10辆车的平均速度,并且能够知道该路段的当前拥堵状况.
甚至有可能根据随后车辆报告的行驶轨迹来区分某些车道条件,例如主要道路和辅助道路的速度. (例如,辅助道路可以转弯,有一条等待红灯的记录,主道路沿主道路直行. )
如果您有足够的历史数据,您还可以做出一些预测. 例如,您必须在5:30开始. 根据当前的道路状况,可能仅需40分钟即可到达目的地,但根据历史数据,您可能会知道一些地段即将进入傍晚高峰,因此实际上可能需要60分钟才能到达目的地. 坦白地说,我认为许多地图制造商应该无法预测这一点.

几天前,一条小消息证实了这种实现逻辑. 一个无聊的人向Google Maps打开了数十部Android手机,将其放在一个小推车上,然后将其推向空旷的道路. 慢慢走,很快您会看到Google地图显示这条路很拥挤.
我真的不想教别人学习不好的东西. 如果国内地图制造商使用此技巧来进行恶意竞争和令人反感的对手,那么我们旅行时就很难获得可靠的数据.
地理位置信息成为标准信息后,将生成基于地理位置的搜索请求.
例如,离我最近的餐馆是哪里?谁是最接近我的活跃用户?一些虚拟增强现实游戏也强调了这一点.
编写这样的代码可能并不困难,但是高并发呢?
因此,传统的索引很难满足这种高度并发查询的需求.
我特别提醒刚接触该行业的程序员,类似的问题应该经常问自己如何实现高度并发的查询请求. 考虑一下您是否有办法,然后搜索其他人做了什么. 许多程序员每天都感到困惑,他们不知道该如何进步. 实际上gps系统工作原理,您必须自己问许多类似的问题,并且您必须自己找到答案. 当然,如果您在面试中发现自己不会这样做,则还需要花一些时间思考和解决它. 您不一定每次都这样做.
当移动互联网首次启动时,这个问题实际上是很麻烦的. 后来,一些产品提供了地理空间索引. 您至少应该知道什么是这样的解决方案以及如何使用它. 对自己有更高的要求,请查看该产品特定实现的源代码和底层逻辑,如何计算搜索成本,搜索成本和数据规模如何对应并彻底理解.
我不会开始这个问题. 技术人员可以将其视为一个问题.
卫星定位服务已经可以实现极低的成本,因此应用场景非常广泛,例如防盗,跟踪,电子围栏等.
感谢技术的发展.
几十年前,只要航行中的船想知道它的位置,它仍然需要船长的经验和完整的记录信息.
十几年前gps系统工作原理,当我和我的妻子开车时,我们仍然必须查看纸质地图才能找到路.
今天,我们始终可以知道我们在哪里以及周围在发生什么. 如果我们一个人去一个陌生的国家,只要手机有电和信号,我们就不必担心丢失. 这似乎是理所当然的事情,但实际上是在很短的时间内,我们可以实现位置识别的自由.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-190688-1.html
导弹
不要有丝毫留情