扣丁书屋

移动设备怎样定位

解释说明移动设备的定位原理

现象

没有GPS接收器的设备可以定位

  • 云翼的iPad 1代 Wifi版(型号MD292CH),在接入公司wifi的情况下,可在地图软件上定位到“我的位置”
  • 五福的三星手机,不开GPS模块,但接入了Wifi和移动运营商,可在百度地图上定位到“我的位置”

不接入网络可以定位

  • 吴笑的iPhone 4S,关闭无线网和蜂窝数据(包括2G,3G),可以定位
  • 吴笑的车载导航,只有GPS接收器,没有任何网络接入,可以定位导航

定位原理(先说理想空间里的几何模型,通信和经纬度后补)

仅依靠GPS定位

GPS接收器与卫星1通信,获得与卫星1(记为Sat_1)的距离(记为Dist_1) GPS接收器与卫星2通信,获得与卫星2(记为Sat_2)的距离(记为Dist_2)

分别以Sat_1, Sat_2为圆心,Dist_1, Dist_2为半径,画一个球,两球相交得一个空心圆,接收器在这个空心圆上某一点。

如果再有第三颗GPS卫星,同理画一个球,运气好的话,此球与空心圆有一个交点(相切),此时三颗星就可定位了。 如果不相切,球与圆圈有两个交点,排除一个不在地球表面的(可以理解为地球表面作为第四个球参与确定交点),剩下那个点即为接收机所在位置。

(注:之前,我想的是:运气不好的话三颗星只能画三个球面,有两个交点,这就需要第四颗卫星来画第四个球了。后来查了资料,才知道这不对,再加上地球本身第四个球面,已经可以唯一确定接收机的位置了)

仅依靠WIFI热点定位

wifi的有效距离比较有限,可以不考虑地球曲面的影响,简单认为wifi热点跟要定位的移动终端在同一个平面上。把上面GPS定位原理的圆球改为圆圈,在水平面画圆圈。理论上,最好的情况下,两个wifi热点可定位成功(两个圆正好相切),不在同一直线上的三个wifi热点一定能找到唯一交点,定位成功。

仅依靠GSM基站定位

与wifi定位相同

辅助定位

AGPS

Git 奇技淫巧

Git 是一个 「分散式版控工具」,简单的理解版控工具:大家在写东西的时候都用过 「复原」 这个功能,但是复原只能复原几步,假如想要找回我三天之前的修改,光用 「复原」 是找不回来的。而 「版控工具」 能记录每次的修改,只要提交到版本库,你就可以找到之前任何时刻的状态。

发布于:6天以前  |  59次阅读  |  详细内容 »

SHELL快速入门

shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。

发布于:5月以前  |  327次阅读  |  详细内容 »

移动设备怎样定位

解释说明移动设备的定位原理

发布于:5月以前  |  332次阅读  |  详细内容 »

node-sass在Mac下安装失败(下载失败)的解决方案

使用命令`npm install node-sass --save-dev` 在 mac下无法安装的解决方案

发布于:10月以前  |  507次阅读  |  详细内容 »

px、em、rem区别

本文通过说明px,em,rem的关系,指导如何使用字体单位。

发布于:10月以前  |  402次阅读  |  详细内容 »

rm -rf * 删除操作报 “Argument list too long”的处理方法

当目录下有很多文件时,`rm *`删除文件会失败。

发布于:10月以前  |  388次阅读  |  详细内容 »

使用olivere对ElasticSearch进行简单搜索

使用github.com/olivere/elastic进行简单搜索。

发布于:11月以前  |  869次阅读  |  详细内容 »

使用"github.com/olivere/elastic"操作Elasticsearch的简单示例

github.com/olivere/elastic的简单示例,包括增,删,改,查。

发布于:11月以前  |  1665次阅读  |  详细内容 »

罗振宇2017-2018跨年演讲::中国式机会的六个“脑洞”

“时间的朋友”2017年罗振宇跨年演讲如约而至。罗振宇从一个问题开启,对你来说,2017年哪一天你认为很重要?

发布于:11月以前  |  690次阅读  |  详细内容 »

罗振宇2018-2019跨年演讲:黑天鹅、小趋势、5G、人工智能、创新......

2018年12月31日20:30,深圳“春茧”体育馆,罗振宇2018“时间的朋友”跨年演讲如约而至。

发布于:11月以前  |  668次阅读  |  详细内容 »

最多阅读

Android插件化方案 2年以前  |  231142次阅读
SourceTree,让你忘掉Git命令的工具 2年以前  |  3067次阅读
朴素贝叶斯分类器的应用 2年以前  |  2816次阅读
用Sublime打造Protobuf迷你IDE 2年以前  |  2689次阅读
Python贪吃蛇游戏编写代码 2年以前  |  2664次阅读
在Python的Django框架中包装视图函数 2年以前  |  2608次阅读
在Sublime中高亮显示Proto Buffer 2年以前  |  2588次阅读
Google Shell 风格指南 2年以前  |  2500次阅读
Genymotion下载及安装使用 2年以前  |  2461次阅读
Google Python 风格指南 2年以前  |  2436次阅读
Markdown语法 转义 2年以前  |  2374次阅读
Markdown语法 链接 2年以前  |  2317次阅读
Markdown语法 段落内代码 2年以前  |  2243次阅读
处理并发之一:LINUX Epoll机制介绍 2年以前  |  2167次阅读
java中NIO与传统IO 2年以前  |  2145次阅读

手机扫码阅读