地图SDK/定位SDK的定位策略:
WIFI + 基站 +GPS 三者混合的定位策略
定位精度:
基站精度,平均100~300米,视运营商基站覆盖范围而定。
WIFI精度,30~200米。
GPS精度,为30米左右。
在户外,先开启GPS再进行定位,结果较准。但GPS比较费电,且在室内不可用。
tips:
1) wifi定位只需 设备能够扫到wifi,但不需要连接wifi
2) 默认首先使用GPS定位,然后是WIFI定位,最后基站定位。并且,百度地图定位SDK会根据环境自动调整定位策略
3) 百度定位SDK可以返回三种坐标系,分别是bd09, bd09ll和gcj02,其中bd-09能无偏差地显示在百度地图上。
tttips:
IOS 定位,为苹果系统定位。不支持第三方定位。
百度地图IOS SDK的接口取苹果定位信息进行坐标转换,以及后续的地图实现。
以上,所有情况,均需网络畅通! 定位SDK的调用必须在主线程中。更多了解移步官网
参考:http://tieba.baidu.com/p/1996491045
AP为Access Point简称,一般翻译为“无线访问节点”
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:小韩韩
链接:http://www.zhihu.com/question/20593603/answer/16523229
来源:知乎
WIFI + 基站 +GPS 三者混合的定位策略
定位精度:
基站精度,平均100~300米,视运营商基站覆盖范围而定。
WIFI精度,30~200米。
GPS精度,为30米左右。
在户外,先开启GPS再进行定位,结果较准。但GPS比较费电,且在室内不可用。
tips:
1) wifi定位只需 设备能够扫到wifi,但不需要连接wifi
2) 默认首先使用GPS定位,然后是WIFI定位,最后基站定位。并且,百度地图定位SDK会根据环境自动调整定位策略
3) 百度定位SDK可以返回三种坐标系,分别是bd09, bd09ll和gcj02,其中bd-09能无偏差地显示在百度地图上。
tttips:
IOS 定位,为苹果系统定位。不支持第三方定位。
百度地图IOS SDK的接口取苹果定位信息进行坐标转换,以及后续的地图实现。
以上,所有情况,均需网络畅通! 定位SDK的调用必须在主线程中。更多了解移步官网
参考:http://tieba.baidu.com/p/1996491045
AP为Access Point简称,一般翻译为“无线访问节点”
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:小韩韩
链接:http://www.zhihu.com/question/20593603/answer/16523229
来源:知乎
1.每一个无线AP都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内是不会移动的
2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址
3.设备将这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备
4.位置服务商要不断更新、补充自己的数据库,以保证数据的准确性,毕竟无线AP不像基站塔那样基本100%不会移动
这样的位置服务商现在来说只有Skyhook和Google两家.他们收集位置数据的方式也是相似的
1.主动采集
Google的街景拍摄车还有一个重要的功能就是采集沿途的无线信号,并打上通过GPS定位出的坐标回传至服务器
2.用户提交
Android手机用户在开启“使用无线网络定位”时会提示是否允许Google的定位服务手机匿名地点数据
答案主要来自此链接
浅析无线定位技术
2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址
3.设备将这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备
4.位置服务商要不断更新、补充自己的数据库,以保证数据的准确性,毕竟无线AP不像基站塔那样基本100%不会移动
这样的位置服务商现在来说只有Skyhook和Google两家.他们收集位置数据的方式也是相似的
1.主动采集
Google的街景拍摄车还有一个重要的功能就是采集沿途的无线信号,并打上通过GPS定位出的坐标回传至服务器
2.用户提交
Android手机用户在开启“使用无线网络定位”时会提示是否允许Google的定位服务手机匿名地点数据
答案主要来自此链接
浅析无线定位技术
袁野、Jason Chen、知乎用户
等人赞同
因为奇怪没有联网的iPod Touch也能很精确的定位,搜过这个最早做Wi-Fi定位的是Skyhook
http://www.skyhookwireless.com/iPhone/iOS开始也用Skyhook,但从4.0开始,苹果开始用自己的数据库,Skyhook被无情的抛弃。Apple自己的定位数据库建立很顺理成章:Skyhook收集数据…
显示全部
因为奇怪没有联网的iPod Touch也能很精确的定位,搜过这个
最早做Wi-Fi定位的是Skyhook http://www.skyhookwireless.com/
iPhone/iOS开始也用Skyhook,但从4.0开始,苹果开始用自己的数据库,Skyhook被无情的抛弃。
Apple自己的定位数据库建立很顺理成章:Skyhook收集数据还要派车走街串巷,但Apple有众多的iPhone用户帮忙crowd-sourcing,所有iOS用户都可以为苹果贡献匿名的定位数据:一个坐标及其周边的所有Wi-Fi AP和基站的信息。
主要看的两篇文章:
How the iPhone knows where you are
http://www.macworld.com/article/1159528/how_iphone_location_works.html
这篇文章把iPhone定位的原理说的很清楚。
最早的纯GPS定位最慢要12.5分钟,现在定位神速的多是依靠Wi-Fi或基站辅助的AGPS
Apple Q&A on Location Data
http://www.apple.com/pr/library/2011/04/27Apple-Q-A-on-Location-Data.html
上面一文里有提到的苹果官方的说明。因为11年有人发现iPhone里竟然保存了用户一年多的定位记录,还同步到iTunes备份,严重危害用户隐私。导致苹果发此文澄清。
总之Apple会依靠用户上传的Wi-Fi以及基站数据建立一个大的数据库,用户都在默默奉献... (Google也是这么干的,不过也派车队,Google车比较多)
用户的设备上会保存用户自己最近7天的Wi-Fi AP/基站数据,以及从Apple下载的大数据库的一小部分数据,覆盖用户的周边地区。
这些数据都有助于GPS快速定位,甚至在到了5代依旧令人发指的不装GPS芯片的iPod Touch上面靠Wi-Fi独立定位。
最早做Wi-Fi定位的是Skyhook http://www.skyhookwireless.com/
iPhone/iOS开始也用Skyhook,但从4.0开始,苹果开始用自己的数据库,Skyhook被无情的抛弃。
Apple自己的定位数据库建立很顺理成章:Skyhook收集数据还要派车走街串巷,但Apple有众多的iPhone用户帮忙crowd-sourcing,所有iOS用户都可以为苹果贡献匿名的定位数据:一个坐标及其周边的所有Wi-Fi AP和基站的信息。
主要看的两篇文章:
How the iPhone knows where you are
http://www.macworld.com/article/1159528/how_iphone_location_works.html
这篇文章把iPhone定位的原理说的很清楚。
最早的纯GPS定位最慢要12.5分钟,现在定位神速的多是依靠Wi-Fi或基站辅助的AGPS
Apple Q&A on Location Data
http://www.apple.com/pr/library/2011/04/27Apple-Q-A-on-Location-Data.html
上面一文里有提到的苹果官方的说明。因为11年有人发现iPhone里竟然保存了用户一年多的定位记录,还同步到iTunes备份,严重危害用户隐私。导致苹果发此文澄清。
总之Apple会依靠用户上传的Wi-Fi以及基站数据建立一个大的数据库,用户都在默默奉献... (Google也是这么干的,不过也派车队,Google车比较多)
用户的设备上会保存用户自己最近7天的Wi-Fi AP/基站数据,以及从Apple下载的大数据库的一小部分数据,覆盖用户的周边地区。
这些数据都有助于GPS快速定位,甚至在到了5代依旧令人发指的不装GPS芯片的iPod Touch上面靠Wi-Fi独立定位。
wifi定位方法基本上可以分为两大类:
1.不基于RSSITOA(time ofarrival)TDOA(time difference of arrival)AOA(angle of arrival)但是这些值的获取需要特殊的wifi模块,在智能机上无法获取,因此这类方法无法使用。
2.基于RSSI在智能手机上,可以通过系统…
显示全部
wifi定位方法基本上可以分为两大类:
1.不基于RSSI
- TOA(time ofarrival)
- TDOA(time difference of arrival)
- AOA(angle of arrival)
但是这些值的获取需要特殊的wifi模块,在智能机上无法获取,因此这类方法无法使用。
2.基于RSSI
在智能手机上,可以通过系统SDK获取到周围各个AP(Access Point)发送的信号强度RSSI及AP地址,利用RSSI来定位目前看来是最可行的方法,因此下面着重介绍,基于RSSI定位主要有两个算法:三角定位算法,指纹算法。
- 三角定位:
如果我们已经知道了这些AP的位置,我们可以利用信号衰减模型估算出移动设备距离各个AP的距离,然后根据智能机到周围AP距离画圆,其交点就是该设备的位置。很容易发现,三角定位算法需要我们提前知道AP的位置,因此对于环境变化较快的场合不适合使用。
- 指纹算法
指纹算法类似于机器学习算法,分为两个阶段:
- 离线训练阶段
将需要室内定位区域划分网格,建立采样点(间距1~2m)
使用wifi接受设备逐个采样点采样,记录该点位置、所获取的RSSI及AP地址。
对采样数据进行处理(滤波、均值等) - 在线定位阶段
用户持移动设备在定位区域移动,实时获取当前RSSI及AP地址,将该信息上传到服务器进行匹配(匹配算法有NN、KNN、神经网络等) 得到估算位置。
匹配算法有NN、KNN、神经网络等。
- 离线训练阶段
比较:
- 指纹算法相比较三角定位算法精度更高。
- 三角定位算法需要提前知道所有AP的位置
- 指纹算法需要提前绘制一幅信号Map。
总结:
智能手机基于WIFI的室内定位应用,更适合使用基于RSSI信号的指纹算法,原因在于我们不需要提前知道所有AP的位置,而且指纹算法可以应对AP位置或状态的改变。可以提前将测绘指纹数据库储存到服务器上,移动设备在定位区域将自己得到的周围AP信息实时发送给服务器,由服务器进行匹配并返回坐标位置给客户端。一旦AP状态或位置变化,只需要更新定位区域数据库而并不需要在客户端作出改变。
在Google map mobile帮助页面找到这些信息:Data sourcesThe following location data sources may be used to derive location:
GPS: GPS accuracy can be up to several meters depending on your GPS signal and connection. Your phone must support GPS…
显示全部
在Google map mobile帮助页面找到这些信息:
Data sources
The following location data sources may be used to derive location:
-
GPS: GPS accuracy can be up to several meters depending on your GPS signal and connection. Your phone must support GPS, have it enabled, and allow Google Maps access to it.
-
WiFi: WiFi (wireless network) accuracy should be similar to the access range of a typical WiFi router, or about 200m or better. Your phone must support WiFi and have it enabled.
-
Cell ID: Cell ID (cell tower) accuracy depends on cell tower density and available data in Google's cell ID (cell tower) location database. Accuracy may be approximated at distances up to several thousand meters. Note: Some devices do not support cell ID location.
非专业,从业余的角度来讲一下:当一台设备打开Wi-Fi功能时,可以找到很多Wi-Fi热点,可以测出每个热点的信号强度,还能知道每个热点的SSID和MAC地址。那么,如果可以在每个地方记录下周围有那些Wi-Fi热点,就可以得到一个很大的数据表,然后当你的设备打开…
显示全部
非专业,从业余的角度来讲一下:
当一台设备打开Wi-Fi功能时,可以找到很多Wi-Fi热点,可以测出每个热点的信号强度,还能知道每个热点的SSID和MAC地址。那么,如果可以在每个地方记录下周围有那些Wi-Fi热点,就可以得到一个很大的数据表,然后当你的设备打开Wi-Fi,根据周围搜索到的Wi-Fi的MAC地址和信号强度,就可以反查出你在哪个位置。
有两种方式获得这张数据表,一是Google的街景车,到处开一下,每时每刻都在搜索周围的Wi-Fi信号,并和车载GPS得到的地理位置信息一起记录起来。二是每台Android设备,当你同时打开Wi-Fi和GPS的时候,设备也会将搜索到的数据上传的Google服务器。
至于具体是怎么反查的,还需要算法达人帮忙解答一下~
当一台设备打开Wi-Fi功能时,可以找到很多Wi-Fi热点,可以测出每个热点的信号强度,还能知道每个热点的SSID和MAC地址。那么,如果可以在每个地方记录下周围有那些Wi-Fi热点,就可以得到一个很大的数据表,然后当你的设备打开Wi-Fi,根据周围搜索到的Wi-Fi的MAC地址和信号强度,就可以反查出你在哪个位置。
有两种方式获得这张数据表,一是Google的街景车,到处开一下,每时每刻都在搜索周围的Wi-Fi信号,并和车载GPS得到的地理位置信息一起记录起来。二是每台Android设备,当你同时打开Wi-Fi和GPS的时候,设备也会将搜索到的数据上传的Google服务器。
至于具体是怎么反查的,还需要算法达人帮忙解答一下~
任文龙
赞同
基于wifi指纹库的算法是目前应用最广泛的算法,就是wifi RSSI指纹库什么的,精度不算太高,但综合成本,设备,便携性等诸多方面,wifi定位应该是最靠谱的过去用wifi定位,就是分为两个阶段,一是需要离线采集数据建库(就像上面有的说的google用的街景车)…
显示全部
基于wifi指纹库的算法是目前应用最广泛的算法,就是wifi RSSI指纹库什么的,精度不算太高,但综合成本,设备,便携性等诸多方面,wifi定位应该是最靠谱的
过去用wifi定位,就是分为两个阶段,一是需要离线采集数据建库(就像上面有的说的google用的街景车),二是在线定位,即拿用户搜集到的wifi强度去跟指纹库中的众多数据进行匹配,以此实现定位,但这样太麻烦,ap一点微小的位置改变,或是天气,或是海拔,或是人群走动神马各种因素都可能需要数据采集者重新再来一遍,之前的数据算是差不多白费了。。。。
现在不少人在做基于众包模式的wifi定位,就是依靠用户自己去上传数据,这样就把之前的两个阶段融合起来啦,显而易见,省了很多力气,但是目前感觉还缺少一个友好的交互界面和用户上传的奖励机制,仅仅停留在试验阶段而已,根本没法商业化。。。
其实这里面最难的还是匹配算法,原理什么的都简单,算法才是真正的应该思考的,如何筛选错误数据,如何精确的匹配,如何适应各种环境的改变。。。等等
过去用wifi定位,就是分为两个阶段,一是需要离线采集数据建库(就像上面有的说的google用的街景车),二是在线定位,即拿用户搜集到的wifi强度去跟指纹库中的众多数据进行匹配,以此实现定位,但这样太麻烦,ap一点微小的位置改变,或是天气,或是海拔,或是人群走动神马各种因素都可能需要数据采集者重新再来一遍,之前的数据算是差不多白费了。。。。
现在不少人在做基于众包模式的wifi定位,就是依靠用户自己去上传数据,这样就把之前的两个阶段融合起来啦,显而易见,省了很多力气,但是目前感觉还缺少一个友好的交互界面和用户上传的奖励机制,仅仅停留在试验阶段而已,根本没法商业化。。。
其实这里面最难的还是匹配算法,原理什么的都简单,算法才是真正的应该思考的,如何筛选错误数据,如何精确的匹配,如何适应各种环境的改变。。。等等
蟹妖传统的WiFi定位方法与
@雁渡所述的基本一致,但是室内环境变化比较大,无线传播的经验公式肯定误差非常大,现在的研究基本集中在用机器学习(支持向量机等)算法在室内定位中的应用,精度也比较高。实际上这是将室内定位算法转换成一个分类问题首先是第…
显示全部
蟹妖
传统的WiFi定位方法与 @雁渡所述的基本一致,但是室内环境变化比较大,无线传播的经验公式肯定误差非常大,现在的研究基本集中在用机器学习(支持向量机等)算法在室内定位中的应用,精度也比较高。
实际上这是将室内定位算法转换成一个分类问题
首先是第一步,有人先去室内的场景将楼道,办公室等空间划分为一个个大小相同的网格,每个网格对应着一个位置标号ID,在每个网格都采集Wifi信号强度,例如收到哪些无线接入点AP的信号,信号强度RSS是多少,这样就构成一组代表这个网格位置的特征参数。
然后第二步是训练采集到的数据生成分类器,训练的方法有很多,有支持向量机,人工神经网络什么的,具体细节就不赘述了,目标就是任意输入一组Wifi信号强度数据,就应该能获得这组数据所对应的类别,这里的类别就是位置ID
得到训练好的分类器,就可以定位了,具体就是手机搜索到一组wifi数据,将这组数据送到定位服务器中,定位服务器就将数据送到分类器中,分类器返回位置ID,再反查该ID对应的坐标就可以得到位置坐标了。
目前商用化比较少,主要是采集数据比较困难,不过google已经提出IPS室内定位系统的计划,小的商业应用主要集中在国外的医院或者养老院这些有需求的特定场所。
传统的WiFi定位方法与 @雁渡所述的基本一致,但是室内环境变化比较大,无线传播的经验公式肯定误差非常大,现在的研究基本集中在用机器学习(支持向量机等)算法在室内定位中的应用,精度也比较高。
实际上这是将室内定位算法转换成一个分类问题
首先是第一步,有人先去室内的场景将楼道,办公室等空间划分为一个个大小相同的网格,每个网格对应着一个位置标号ID,在每个网格都采集Wifi信号强度,例如收到哪些无线接入点AP的信号,信号强度RSS是多少,这样就构成一组代表这个网格位置的特征参数。
然后第二步是训练采集到的数据生成分类器,训练的方法有很多,有支持向量机,人工神经网络什么的,具体细节就不赘述了,目标就是任意输入一组Wifi信号强度数据,就应该能获得这组数据所对应的类别,这里的类别就是位置ID
得到训练好的分类器,就可以定位了,具体就是手机搜索到一组wifi数据,将这组数据送到定位服务器中,定位服务器就将数据送到分类器中,分类器返回位置ID,再反查该ID对应的坐标就可以得到位置坐标了。
目前商用化比较少,主要是采集数据比较困难,不过google已经提出IPS室内定位系统的计划,小的商业应用主要集中在国外的医院或者养老院这些有需求的特定场所。
知乎用户、知乎用户、清然
赞同
作为研究这方面的苦逼人员。。正常来说这方面算法太多了,各种各样的,然后比较简单的原理有:1、三角定位。。(简单的很) 2、fingerrpint 也不难。 3、Time-of-arrival 这个原理不难,但是实现需要很多细节,这个实现好了精度很高。。还有各种其他例如超…
显示全部
作为研究这方面的苦逼人员。。正常来说这方面算法太多了,各种各样的,然后比较简单的原理有:1、三角定位。。(简单的很) 2、fingerrpint 也不难。 3、Time-of-arrival 这个原理不难,但是实现需要很多细节,这个实现好了精度很高。。还有各种其他例如超声波反馈建模(我看过一个论文,写这个太深奥了。。) 或者现在有个很多的:zigbee节点定位,原理太多。。。
知乎用户
赞同
1、AP的信号中包含全球唯一的MAC地址。2、只要能够搜索到wifi信号,就能得知AP的MAC地址,并不需要连接到wifi。3、每一个AP在地理坐标上作为一个锚点,并且用MAC地址来唯一标识它。4、wifi定位是通过参照一个或多个AP的坐标计算得出来的。5、在服务器端维护…
显示全部
1、AP的信号中包含全球唯一的MAC地址。
2、只要能够搜索到wifi信号,就能得知AP的MAC地址,并不需要连接到wifi。
3、每一个AP在地理坐标上作为一个锚点,并且用MAC地址来唯一标识它。
4、wifi定位是通过参照一个或多个AP的坐标计算得出来的。
5、在服务器端维护了一个AP的坐标数据库。
6、AP的位置(坐标)是通过参照连网的GPS设备得到,GPS设备定位成功后GPS应用自动将其周边的AP信息反馈给服务器,自动维护AP坐标数据库。
7、通过wifi定位时,GPS应用通过周边AP信号的MAC地址去查询每个AP的坐标,并根据信号的强度计算出所在的位置。
2、只要能够搜索到wifi信号,就能得知AP的MAC地址,并不需要连接到wifi。
3、每一个AP在地理坐标上作为一个锚点,并且用MAC地址来唯一标识它。
4、wifi定位是通过参照一个或多个AP的坐标计算得出来的。
5、在服务器端维护了一个AP的坐标数据库。
6、AP的位置(坐标)是通过参照连网的GPS设备得到,GPS设备定位成功后GPS应用自动将其周边的AP信息反馈给服务器,自动维护AP坐标数据库。
7、通过wifi定位时,GPS应用通过周边AP信号的MAC地址去查询每个AP的坐标,并根据信号的强度计算出所在的位置。
看了其他回答,我放心大胆的回答了:通过AP因为我们公司做非精准定位也是这么干的。记录每一个AP铺设的地理位子,然后通过收集是哪个AP接入的得出。速度超快啊。。。。
看了其他回答,我放心大胆的回答了:通过AP
因为我们公司做非精准定位也是这么干的。记录每一个AP铺设的地理位子,然后通过收集是哪个AP接入的得出。速度超快啊。。。。
因为我们公司做非精准定位也是这么干的。记录每一个AP铺设的地理位子,然后通过收集是哪个AP接入的得出。速度超快啊。。。。
所以说现在提个奇葩的问题,我现在在拉一根几百公里的光纤,将互联网传输到一个没有人烟的地方,然后接上AP设备,这时我拿着没有GPS功能的终端设备比如平板或者ipod touch通过WIFI来定位,这肯定定位不到是吧。
所以说现在提个奇葩的问题,我现在在拉一根几百公里的光纤,将互联网传输到一个没有人烟的地方,然后接上AP设备,这时我拿着没有GPS功能的终端设备比如平板或者ipod touch通过WIFI来定位,这肯定定位不到是吧。