手机/电脑的定位方式

主要有四种方法:按精度高低,依次是GPS定位, WIFI定位,基站定位,IP定位。其实,如果有离线数据在本地,那不联网也能定位,参见百度地图离线导航定位的原理?

不过,联网时,定位精度可能会更好些。HTML5提供了地理定位的接口,而具体实现虽然因每个浏览器而异,但也是下面这几种方式。

No1. GPS定位

这个需要GPS模块硬件,一般电脑上没有这个模块,所以无法使用。GPS定位是不消耗网络流量的,因为是与卫星通信,可以不用连接互联网,我们之所以要连接互联网,

只是因为没有使用离线地图。车载GPS就用的是离线地图来导航的。如果你手机上使用离线地图,那也可以不耗费流量就能导航。参见百度地图离线导航定位的原理?

GPS有分冷启动,温启动,热启动。温启动是有卫星的历书、用户概略位置及本地时间,这种情况可以用来预报哪些卫星是可见的以及卫星到用户的大概距离,

来减少搜索信号需要的时间。在信号捕获到到能定位还需要一段时间,这部分时间是通过解调信号中含的导航电文来获取星历,获取星历后才能计算卫星的精确位置,

收齐四颗星以上就可以解算出用户坐标了。历书有效期很久,可以到一年。但星历有效期只有两小时。如果上次定位后两小时内开机就是热启动了。冷启动就是不满

足温启动和热启动的条件。至于联网后定位更快,是因为联网一可以通过基站定位确定用户的概略位置(几百米内),二可以直接从网上获取星历。这样信号搜索时间

加快,也不用等电文中星历收齐,几秒内就可以定位。还有获取星历后可以压缩搜索范围并提高灵敏度,特别在车内(贴有金属遮阳膜时信号衰减严重)等信号弱的地

方,如果灵敏度不高可能很难捕到信号。

作者:罗洛
链接:https://www.zhihu.com/question/23528331/answer/91451592
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

No2. WIFI定位

手机肯定是支持的,电脑的话,要求有无线网卡才行。我的电脑有无线网卡,但目前用的是有线上网,在百度新版地图上,能比较准确的定位到我所在的小区,误差300多米。

因为电脑定位的手段主要就是WIFI和IP,而IP不可能定位到这么精确,所以只能是WIFI定位的。只要能搜索到WIFI信号,并且这些WIFI信号至少有一个服务器上有记录,那

就可以被定位。

1.每一个无线AP都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内是不会移动的

2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址

3.设备将这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备

4.位置服务商要不断更新、补充自己的数据库,以保证数据的准确性,毕竟无线AP不像基站塔那样基本100%不会移动

这样的位置服务商现在来说只有Skyhook和Google两家,国内的百度,高德很可能也用这种方式。他们是怎么收集WIFI的GPS的呢?

1.主动采集

Google的街景拍摄车还有一个重要的功能就是采集沿途的无线信号,并打上通过GPS定位出的坐标回传至服务器,这样就有了这些WIFI的GPS位置

2.用户提交

Android手机用户在开启“使用无线网络定位”时会提示是否允许Google的定位服务手机匿名地点数据(add by zhj: 按我的理解,应该是当用户打开GPS和WIFI

会向Google提交这些WIFI及其当前GPS)

WIFI定位的条件:

第一,要打开WIFI,并能搜索到附近至少一个WIFI,是否连接不影响定位

第二,在定位服务提供商,比如百度,高德,谷歌那里记录有该WIFI的GPS。

作者:小韩韩

链接:https://www.zhihu.com/question/20593603/answer/16523229

来源:知乎

No3. 基站定位

只用于手机,因为电脑不连接基站。

基站定位也是不耗费流量的。基站定位的精确度主要取决于当前所处环境的基站密度。由三个和三个以上基站来确定移动终端的大体位置,密度越高精确度自然越高。

当然也会收到网络环境影响造成较大程度的偏差。

参考http://bbs.feng.com/read-htm-tid-7709847.html

手机在插入sim卡开机以后,需要搜索周围的基站信息(就是找信号),通常在有信号的地方,手机能搜索到的基站不止一个,就像你的笔记本在小区

里能搜到不止一个开着的路由器一样。然后手机会自动从这些基站中选择信号最好的(假如是基站A)连接注册。其余的基站就不用了吗?不不,手机仍然搜

索着它们,一旦你离开基站A一段距离,基站A的信号不如基站B了,手机会自动切换成基站B。这也就是为什么同样是待机一天,你在火车上比在家里耗电要多

的原因,手机需要不停的搜索、连接基站。

当手机的网络覆盖到一定程度的时候,基站定位也就应运而生了。其原理如下:众所周知,距离基站越远,信号越差,所以用信号的强度可以大致估计

机同时搜索到至少三个基站的信号时(现在的网络覆盖这是很轻松的一件事情),手机除了连接信号最好的一个外,同时根据基站信号的强弱,大致估计出距

离基站的远近。由于基站位置是确定的,所以确定位置是很容易的,只需要以基站为圆心,距离为半径多次画圆即可,不过至少需要三个基站的信号才可以。

定位条件是必须在有基站信号的位置,手机处于sim卡注册状态(飞行模式下开wifi和拔出sim卡都不行),而且必须收到3个基站的信号,无论是否在室内。但是,定位速

度超快,一旦有信号就可以定位,目前主要用途是没有GPS没有wifi的情况下快速大体了解下你的位置(比如可以使天气预报走到哪儿更新到哪儿)。另外,如果你的手机

里没有基站位置数据包,还需要联网才行。

No4. IP定位

HTML5定义了地理定位接口,对于firefox/chrome,使用的是Google的定位服务,它会向Google服务器上传你附近可以搜索到的WIFI信息,还有你的IP,Google定位时

就会用到这些信息。参见https://www.mozilla.org/zh-CN/firefox/geolocation/,IP定位的精度是比较差的,最多也就是精确到城市一级,对于联通,IP是手机号归属地,

比如我的手机号是北京的,那我去南京,那IP还是北京的。对于移动(电信貌似也是),IP是所在地的,即我去南京,那IP就是南京的

时间: 2024-10-19 03:39:33

手机/电脑的定位方式的相关文章

不同系统手机投屏电脑的不同方式

手机怎么投屏电脑呢?众所周知,苹果手机和安卓手机系统不同,投屏的方式也会不同,它们具体是怎么操作进行的呢?接下来分别教你手机投屏哦!使用工具: 手机&电脑迅捷录屏大师迅捷屏幕录像工具 安卓手机投屏方法: 1.首先,我们先从安卓手机开始,确保手机和电脑同时安卓一款投屏软件,比如迅捷录屏大师就是一个不错的选择哦.2.打开电脑上的投屏软件,会出现一个二维码,然后我们打开手机上的投屏软件,选择底端的投屏,点击扫一扫投屏,将扫描框对准电脑上的二维码即可投屏,手机画面内容直接显示在电脑上了.苹果手机投屏方法

【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘

摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为wifi定位和基站定位,都是通过获取wifi或者基站信息,然后查询对应的wifi或者基站位置数据库,得到的定位地点.定位数据库可以不断完善不断补充,所以,越定位越准确.本文详细描述了,如果使用高德JS API来实现位置定位.城市定位的方法,包含了IP定位,浏览器定位,检索定位等多种网络定位方法.当然,如果您的手机有GPS功能,那么使用浏览器定位的时候,会自动获取GPS信息,使

《屏幕上的聪明决策》:4星。人类在手机/电脑上做选择的心理学研究的综述。不流畅的文本有助于理解和记忆,淘汰赛制可以有效降低选择后懊悔。

本书是人类在手机/电脑上做选择的心理学研究的综述,比较可信,有许多有趣的事实与结论.比较重要的结论有这么几个:1:人类对网站.文章的判断很大程度上以来瞬间感知和审美:2:不流畅的文本有助于理解和记忆:3:可选项太多的情况下,可以考虑淘汰赛制,每次让用户从4个选项中选择一个最满意的.这样可以有效降低选择后懊悔. 总体评价4星. 以下是书中一些重要的结论与信息的摘抄,#号后面是kindle电子书中的页码: 1:人的注意力已经成为“21世纪的低硫原油”.如果可以控制人类注意力的杠杆,那么你几乎可以获取

selenlum笔记,(定位方式,搜索,cookie)

driver.get_cookies() 获得cookie信息add_cookie(cookie_dict)  向cookie添加会话信息delete_cookie(name)   删除特定(部分)的cookiedelete_all_cookies()    删除所有cookie driver.quit()退出关闭所有程序及窗口driver.close()关闭当前窗口 driver.get(url)print(driver.title)打印页面title driver.maximize_wind

六 APPIUM Android 定位方式

文本转自:http://www.cnblogs.com/sundalian/p/5629500.html APPIUM Android 定位方式 1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement element = driver.findElement(By.id("com.tencent.mm:id/do")); 或者: driver.findElementById("com.t

七 APPIUM Android 定位方式

1.定位元素应用元素   1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement element = driver.findElement(By.id("com.tencent.mm:id/do")); 或者: driver.findElementById("com.tencent.mm:id/do") 下面的例子展示的是通过id定位到元素并点击: @Test public void doClick

怎样制作「用手机&电脑控制的Arduino-3D打印机器人」– IoBot?

 如果你正在探寻控制Arduino设备的方式,这个教程将告诉你如何通过建立简单的机器人来实现. IoBot由手机&电脑应用控制,通过LAN或USB.应用可在Android,Mac OS及Windows操作系统下运行,在IoBoT的网站(http://iobot.info/)有下载. 所有的塑料零件都是3D打印的,Arduino是核心,控制应用用Python/Kivy 语言实现. 并不需要编程知识,但是我已经提供了链接,你可以在上面找到关于他们更多详细的信息.这对于一些需要修改代码和为Ardu

Android定位方式和测试方法

Android常用的三种定位方式有:基于GPS定位.基于基站地位.基于wifi定位. 1.基于GPS定位: GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的. GPS定位最大的优点就是其定位精确度高(一般误差在10m内),无网络也能用;缺点就是耗电高.定位慢.室内和地下室基本定位不到. 2.基于基站定位: 根据采集到手机所处基站信息和手机相关信息(MNC.MCC.LAC)进行定位,然后把它们传给百度API或高德API来获取位置信息(自己开发成本太大,百度和高德已提供L

判断Android网络状态信息-wifi,3g/4g 和定位方式-gps,network,passive

我们项目的工具类中,这些方法应该是常驻方法,因为他们太常用了,一方面将这些方法总结在这篇文章中,以便于自己日后使用,另一方面也给大家提供个方便,省的每次到处去找了. 1.判断当前是否已经连网 不管连接的是WIFI还是移动网络,最终都会返回true,否则返回false public static boolean isNetworkAvailable(Context context){ if (context!=null) { //获取系统服务 ConnectivityManager cm = (C