一种纠正软件定位偏差的方法

文档序号:9288326阅读:1141来源:国知局
一种纠正软件定位偏差的方法
【专利说明】一种纠正软件定位偏差的方法
[0001]
技术领域
[0002]本发明涉及地理位置确定技术领域,具体是一种纠正软件定位偏差的方法。
【背景技术】
[0003]Android通过android, locat1n包中的类使应用访问由设备来支撑的位置服务。位置框架的核心组件是Locat1nManager系统服务,它提供了一些应用编程接口来确定位置。国内使用国测局制定的GCJ-02对地理位置进行首次加密,地图软件的坐标在此基础上,进行了 BD-09 二次加密措施。Android移动设备的GPS模块获取到的经玮度只是使用GCJ-02加密后的数据,需要转换成BD-09加密后的数据显示才能得到准确的地理位置。因此,Android移动设备的GPS模块获取到的经玮度信息在定位软件上的显示会有偏差。

【发明内容】

[0004]本发明要解决的问题是提供一种纠正软件定位偏差的方法,该方法能够消除Android移动设备的地图/定位等软件所显示的位置与原始位置数据的偏差。
[0005]本发明的纠正软件定位偏差的方法包括以下步骤:
1)利用AndroidLocat1nManager系统服务获取位置信息:
11)新建Locat1nManager 对象;
12)新建位置信息监听函数;
13)获取位置信息;
2)对步骤I)获得的位置信息进行处理:
21)获取locat1n对象中的经度和玮度值;
22)对经度和玮度值进行转换;
3)将步骤2)得到的经度和玮度值在地图/定位软件上显示。
[0006]步骤22)转换的方法为:
221)将待转换的经度和玮度值做Math,sqrt (x * x + y 氺 y) + 0.00002 * Math, sin (y
*pi)转换处理得到一个double型值记为z ;将待转换的经玮度值做Math.atan2 (y, x) +0.000003 * Math, cos (x * pi)处理得到一个 double 型的值记为 theta ;
222)将步骤221)得到的z和theta做处理z* Math, cos (theta) + 0.0065得到转换后的经度值,做处理z * Math, sin (theta) + 0.006得到转换后的玮度值。
[0007]其中表达式内的X,y代表待转换的经度值和玮度值,Math, sqrt O方法代表对括号内的数据求平方根,Math.sin()方法代表对括号内的数值去正弦值,为乘号,“ + ”为加号,Pi为圆周率的数值,Math.atan2 ()用于计算括号内表示的平面坐标点与x轴的夹角角度值,Math, cos O方法用于计算括号内数值的余弦值。
[0008]本发明的纠正软件定位偏差的方法可有效纠正目前地图/定位软件以及其他涉及到需要定位的软件的位置显示偏差问题,有效提高位置显示精度,为生产和生活提供更加准确的地理信息。
【具体实施方式】
[0009]下面对本发明提出的一种纠正软件定位偏差的方法进行详细描述。
[0010]本发明的一种纠正软件定位偏差的方法,包括以下步骤:
第一步:利用Android Locat1nManager系统服务获取位置信息:
11、新建Locat1nManager 对象;
12、新建位置信息监听函数;
13、获取位置信息。
[0011]代码如下:
Locat1nManager IManager = (Locat1nManager)getSystemService(Context.LOCAT1N_SERVICE);
Locat1nListener IiLocat1nListener = new Locat1nListener()
{
◎Override
public void onStatusChanged(String provider, int status,
Bundle extras)
{
}
◎Override
public void onProviderEnabled(String provider)
{
}
◎Override
public void onProviderDisabled(String provider)
{
}
◎Override
public void onLocat1nChanged(Locat1n locat1n)
{
下一步需要处理这个locat1n对象
}
};
IManager.requestLocat1nUpdates(Locat1nManager.NETWORK_PROVIDER, 0,
0,
IiLocat1nListener);
第二步:处理第一步中获取到的位置信息,即locat1n对象: 21、获取locat1n对象中的经度和玮度值;
22、对经度和玮度值利用本技术方法进行转换。
[0012]具体转换方式为:
221)将待转换的经度和玮度值做Math, sqrt (x * x + y 氺 y) + 0.00002 * Math, sin (y* pi)转换处理得到一个double型值记为z。将待转换的经玮度值做Math.atan2 (y, x) +0.000003 * Math, cos (x * pi)处理得到一个 double 型的值记为 theta。
[0013]222)将步骤 221)得到的 z 和 theta 做处理 z * Math, cos (theta) + 0.0065 得到转换后的经度值,做处理z * Math, sin (theta) + 0.006得到转换后的玮度值。
[0014]其中表达式内的X,y代表待转换的经度值和玮度值,Math, sqrt O方法代表对括号内的数据求平方根,Math.sin()方法代表对括号内的数值去正弦值,为乘号,“ + ”为加号,Pi为圆周率的数值,Math.atan2 ()用于计算括号内表示的平面坐标点与x轴的夹角角度值,Math, cos O方法用于计算括号内数值的余弦值。
[0015]
代码如下:
public static double pi = 3.1415926535897932384626;double latitude = locat1n.getLatitude();double longitude = locat1n.getLongitude();double X = longitude, y = latitude ;
double z = Math, sqrt (x * x + y * y) + 0.00002 * Math, sin (y * pi);double theta = Math.atan2 (y, x) + 0.000003 * Math, cos (x * pi);double bd—1n = z * Math, cos (theta) + 0.0065;double bd—Iat = z * Math, sin (theta) + 0.006;
第三步:将第二步得到的经度和玮度值,即bd—1n和bd—Iat值用于在地图软件上显示:
比如,利用百度地图api将bd—1n (经度)和bd—Iat (玮度)设置到地图上显示。
[0016]以上实施例仅用以说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,其均应涵盖在本发明的权利要求范围当中。
【主权项】
1.一种纠正软件定位偏差的方法,其特征在于,包括以下步骤: 1)利用AndroidLocat1nManager系统服务获取位置信息; 2)对步骤I)获得的位置信息进行处理: 21)获取locat1n对象中的经度和玮度值; 22)对经度和玮度值进行转换; 3)将步骤2)得到的经度和玮度值在地图/定位软件上显示。2.根据权利要求1所述的纠正软件定位偏差的方法,其特征在于,所述步骤22)转换的方法为: 221)将待转换的经度和玮度值做Math,sqrt (x * x + y 氺 y) + 0.00002 * Math, sin (y*pi)转换处理得到一个double型值记为z ;将待转换的经玮度值做Math.atan2 (y, x) +0.000003 * Math, cos (x * pi)处理得到一个 double 型的值记为 theta ; 222)将步骤221)得到的z和theta做处理z* Math, cos (theta) + 0.0065得到转换后的经度值,做处理z * Math, sin (theta) + 0.006得到转换后的玮度值; 其中表达式内的X,Y代表待转换的经度值和玮度值,Math, sqrt O方法代表对括号内的数据求平方根,Math.sin()方法代表对括号内的数值去正弦值,为乘号,“ + ”为加号,pi为圆周率的数值,Math.atan2 ()用于计算括号内表示的平面坐标点与x轴的夹角角度值,Math, cos O方法用于计算括号内数值的余弦值。3.根据权利要求1所述的纠正软件定位偏差的方法,其特征在于,所述步骤I)获取位置信息的过程为: 11)新建Locat1nManager 对象; 12)新建位置信息监听函数; 13)获取位置信息。
【专利摘要】本发明公开的一种纠正软件定位偏差的方法,包括以下步骤:1)利用Android?LocationManager系统服务获取位置信息。2)对步骤1)获得的位置信息进行处理:21)获取location对象中的经度和纬度值;22)对经度和纬度值进行转换,通过转换,消除误差。3)将步骤2)得到的经度和纬度值在地图/定位软件上显示。本发明的纠正软件定位偏差的方法可有效纠正目前地图/定位软件以及其他涉及到需要定位的软件的位置显示偏差问题,有效提高位置显示精度,为生产和生活提供更加准确的地理信息。
【IPC分类】G06F9/44
【公开号】CN105005480
【申请号】CN201510462343
【发明人】王树兵, 王磊
【申请人】诚迈科技(南京)股份有限公司
【公开日】2015年10月28日
【申请日】2015年7月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1