GPS定位精度设定问题——ACCURACY_FINE or ACCURACY_HIGH

写这篇文章的动机很明确,是想借助Android手机中的GPS模块获取较高的定位精度,但定位效果相当不好,至于百度地图的定位直观效果是地图匹配和约束的结果。在编写GPS定位的程序中,我将定位精度设为了ACCURACY_HIGH,权限依然是android.permission.ACCESS_FINE_LOCATION及android.permission.ACCESS_MOCK_LOCATION,调试后闪退,Logcat窗口没有一丁点信息,当然可以进行GPS的开关操作。

认真查看了几次代码比较合理,只有ACCURACY_HIGH,是之前没有用过的,退而求其次,还是用ACCURACY_FINE吧,结果程序运行正常。

1、先看关于位置的权限


(1)“android.permission.ACCESS_COARSE_LOCATION”    

ACCESS_COARSE_LOCATION访问CellID或WiFi,只要当前设备可以接收到基站的服务信号,便可获得位置信息。

(2)“android.permission.ACCESS_FINE_LOCATION”   允许一个程序访问精良位置(如GPS)

(3)  “android.permission.ACCESS_MOCK_LOCATION”  允许程序创建模拟位置提供用于测试

(4)"android.permission.ACCESS_LOCATION__EXTRA_COMMANDS"   允许应用程序访问额外的位置提供命令

而第四个是有一些特定方法的,it indicate that LocationManager.sendExtraCommand() need this permission exactly.

2、看一下定位精度设定值

在Criteria类中一共有5类常量,分别是ACCURACY_COARSE,ACCURACY_FINE,ACCURACY_HIGH,ACCURACY_LOW,ACCURACY_MEDIUM。

1、ACCURACY_COARSE
A constant indicating an approximate accuracy requirement, Added in Level 1  Constant Value: 2 (0x00000002)
2、ACCURACY_FINE
A constant indicating a finer location accuracy requirement Added in Level1
Constant Value: 1 (0x00000001)
3、ACCURACY_HIGH
a constant indicating a high accuracy requirement - 
may be used for horizontal, altitude, speed or bearing accuracy. For horizontal and 
vertical position this corresponds roughly to an accuracy of less than 100 meters.  added in Level 9
4、ACCURACY_LOW
an accuracy of greater than 500 meters. Constant Value: 1 (0x00000001) added in Level 9
5、ACCURACY_MEDIUM
an accuracy of between 100 and 500 meters. Constant Value: 2 (0x00000002)  <pre name="code" class="plain" style="color: rgb(34, 34, 34); font-size: 15px; line-height: 19px; text-align: justify;">added in Level 9

 

仔细看会发现3、4、5是Level9添加进去的,而选择用HIGH精度的时候却没有相应的权限。

3、在没有符合设定criteria时,会依据电量需求、定位精度……进行选择,所以Android手机中定位精度要求是次要的,选择fine就很不错了,而我在做GPS静态测量实验时,将手机测得数值与GPS接收机对比,发现X、Y、Z三个方向最大为10m,水平距离误差在30米左右。

  /*If no provider meets the criteria, the criteria are loosened in the following sequence: 1、power requirement     2、accuracy   3、bearing    4、speed    5、altitude */

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值