一种基于地图插件使用对比算法实现精准定位和导航方法及装置制造方法及图纸

技术编号:36983211 阅读:22 留言:0更新日期:2023-03-25 18:02
本发明专利技术提供一种基于地图插件使用对比算法实现精准定位和导航方法及装置,该方法包括:移动作业客户端APP的配置模块获取用户的登录信息用户标记和设备信息,SDK模块将采集到的坐标数据与用户标记及设备信息绑定形成数据格式后推送到缓存模块进行本地缓存组装,向接口服务模块进行数据推送;接口服务模块将数据存入数据存储模块,并记录定位数据,客户端应用模块获取定位数据后,用户选择导航时进入地图应用模块,根据需要进行坐标系转换生成新的定位数据再传入数据打开地图应用。本发明专利技术解决自建APP在集成地图SDK后特殊场景下采集坐标数据不准的问题,提升地图APP导航准确性和自建APP在地图APP应用上的兼容性。和自建APP在地图APP应用上的兼容性。和自建APP在地图APP应用上的兼容性。

【技术实现步骤摘要】
一种基于地图插件使用对比算法实现精准定位和导航方法及装置


[0001]本专利技术涉及电子信息
,具体是一种基于地图插件使用对比算法实现精准定位和导航方法及装置。

技术介绍

[0002]在我国,出于安全考虑,所有的公开的电子地图、导航设备,都需要加入国家保密插件,它是对真实坐标系统进行人为的加偏处理,实际上是按照特殊的算法,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏,所以各地的偏移情况都会有所不同,而加密后的坐标也常被人称为火星坐标系统(GCJ02),市面上其他地图的坐标系是在火星坐标系的基础上进行二次加密计算。
[0003]移动手机定位使用方式通常有卫星定位(GPS、北斗、伽利略)、混合定位(基站、WIFI)、外接SDK(百度、高德)定位。卫星定位就是通过手机中定位模块获取位置,优点是精确度高,信息全,特别是在户外等开阔地,缺点是强烈依赖卫星信号。混合定位是通过整合基站和WIFI的数据进行用户位置的确认,每个WIFI后面可能对应一套设备标记信息,定位服务提供商通过采集和采购的方式获取到定位地区的基站和WIFI覆盖数据存储到自己的定位库中,缺点是依赖基站和WIFI数量及采集的数量,精度不可控。外接SDK定位即是在手机中接入地图定位SDK,优点是精确度和稳定性较好,缺点是会额外消耗手机流量及电量。
[0004]在移动作业现场使用自建APP集成外接SDK来采集用户坐标数据,外接SDK在山林地区和室内信号弱的场景下采集的用户坐标数据偏差较大,或记录的坐标数据有间断,这样在实际应用不能很好反应出作业人员现场轨迹数据,不利于稽查人员掌握现场作业人员活动情况。

技术实现思路

[0005]本专利技术提供一种基于地图插件使用对比算法实现精准定位和导航方法,解决自建APP在集成地图SDK后特殊场景下采集坐标数据不准的问题,提升地图APP导航准确性和自建APP在地图APP应用上的兼容性。
[0006]一种基于地图插件使用对比算法实现精准定位和导航方法,包括如下步骤:
[0007]移动作业客户端APP的配置模块获取用户的登录信息用户标记UID和设备信息Dcode;
[0008]SDK模块将采集到的坐标数据Location(x,y)与用户标记UID及设备信息DCod绑定形成数据格式Data{Location(x,y),UID,DCode}之后推送到缓存模块;
[0009]缓存模块将接收的数据Data{Location(x,y),UID,DCode}进行本地缓存组装,形成当前用户的数据列表:
[0010]CacheList[Data{Location(x,y),UID,DCode,Time}],
[0011]经过计算处理后向接口服务模块进行数据推送,推送成功则清除缓存数据,推送
失败则进行数据标记:
[0012]TagList[Data{Location(x,y),UID,DCode,Time}],待后续重复推送;
[0013]应用服务端的接口服务模块接收移动作业客户端的缓存模块推送的数据,存入数据存储模块,并记录定位数据LocData(x,y,t),其中x表示坐标经度,y表示坐标纬度,t表示采集的坐标系类型,数据存储模块与应用服务端的数据传输模块连接;
[0014]移动作业客户端APP的客户端应用模块从应用服务端的数据传输模块获取用户的定位数据LocData(x,y,t)后,用户选择导航时进入地图应用模块,以开启地图导航模式,地图应用模块对当前的数据坐标类型LocData(t)与用户手机已安装的地图APP进行坐标系匹配,如果是同类坐标系匹配成功则直接打开地图应用,如果是不同类型坐标系则先对定位数据LocData(x,y,t)进行坐标系转换生成新的定位数据LocData(x1,y1,g),再传入数据打开地图应用。
[0015]进一步的,所述缓存模块在接收坐标数据之后,对预设时间内的所有坐标数据进行对比计算,设定人体正常移动范围L[min,max],将相连两个坐标距离超过L范围时进行偏差纠正。
[0016]进一步的,所述偏差纠正具体包括:对缓存的5个坐标数据,Data1{Location(x1,y1)}....Data5{Location(x5,y5)},从第一个点开始,依次对后面坐标点进行距离偏差计算,得到位置偏移量数Distance1(CALC(Location(x1,y1),Location(x2,y2)))...Distance10(CAL C(Location(x4,y4),Location(x5,y5))),将偏移量数据与基准范围值L[min,max]进行比较,如果超出范围值,则按其前后数据的差值进行平均值处理,完成偏差补正。
[0017]进一步的,所述坐标系转换具体包括:
[0018]步骤一:假定输入坐标系值(x1,y1);
[0019]步骤二:使用中国坐标偏移标准(xp,yp)计算偏差:
[0020]x2=x1

xp,y2=y1

yp
[0021]步骤三:使用数学公式计算
[0022]z1=Math.sqrt(x2*x2+y2*y2)

X*Math.sin(y2*PI)
[0023]z2=Math.atan2(y2,x2)

Y*Math.cos(x2*PI)
[0024]x3=z1*Math.cos(z2)
[0025]y3=z1*Math.sin(z2)
[0026]步骤四:输出转换后的坐标值(x3,y3);
[0027]该坐标系反向转换的逻辑如下:
[0028]步骤一:假定输入坐标系值(x1,y1);
[0029]步骤二:使用数学公式计算:
[0030]z1=Math.sqrt(x1*x1+y1*y1)+X*Math.sin(y1*PI)
[0031]z2=Math.atan2(y1,x1)+Y*Math.cos(x1*PI);
[0032]步骤三:使用中国坐标偏移标准(xp,yp)计算偏差
[0033]x3=z1*Math.cos(z2)+xp
[0034]y3=z1*Math.sin(z2)+yp
[0035]步骤四:输出转换后的坐标值(x3,y3)
[0036]以上转换方式中,PI为圆周率,X,Y为地球椭圆球的偏心率值。
[0037]一种基于地图插件使用对比算法实现精准定位和导航装置,包括移动作业客户端和应用服务端,所述移动作业客户端包括配置模块、SDK模块、缓存模块,所述应用服务端包括接口服务模块、数据存储模块、数据传输模块、数据传输模块;
[0038]所述配置模块,用于获取用户的登录信息用户标记UID和设备信息Dcode;
[0039]所述SDK模块,用于将采集到的坐标数据Location(x,y)与用户标记UID及设备信息DCod绑定形成数据格式Da本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于地图插件使用对比算法实现精准定位和导航方法,其特征在于:包括如下步骤:移动作业客户端APP的配置模块获取用户的登录信息用户标记UID和设备信息Dcode;SDK模块将采集到的坐标数据Location(x,y)与用户标记UID及设备信息DCod绑定形成数据格式Data{Location(x,y),UID,DCode}之后推送到缓存模块;缓存模块将接收的数据Data{Location(x,y),UID,DCode}进行本地缓存组装,形成当前用户的数据列表:CacheList[Data{Location(x,y),UID,DCode,Time}],经过计算处理后向接口服务模块进行数据推送,推送成功则清除缓存数据,推送失败则进行数据标记:TagList[Data{Location(x,y),UID,DCode,Time}],待后续重复推送;应用服务端的接口服务模块接收移动作业客户端的缓存模块推送的数据,存入数据存储模块,并记录定位数据LocData(x,y,t),其中x表示坐标经度,y表示坐标纬度,t表示采集的坐标系类型,数据存储模块与应用服务端的数据传输模块连接;移动作业客户端APP的客户端应用模块从应用服务端的数据传输模块获取用户的定位数据LocData(x,y,t)后,用户选择导航时进入地图应用模块,以开启地图导航模式,地图应用模块对当前的数据坐标类型LocData(t)与用户手机已安装的地图APP进行坐标系匹配,如果是同类坐标系匹配成功则直接打开地图应用,如果是不同类型坐标系则先对定位数据LocData(x,y,t)进行坐标系转换生成新的定位数据LocData(x1,y1,g),再传入数据打开地图应用。2.如权利要求1所述的基于地图插件使用对比算法实现精准定位和导航方法,其特征在于:所述缓存模块在接收坐标数据之后,对预设时间内的所有坐标数据进行对比计算,设定人体正常移动范围L[min,max],将相连两个坐标距离超过L范围时进行偏差纠正。3.如权利要求2所述的基于地图插件使用对比算法实现精准定位和导航方法,其特征在于:所述偏差纠正具体包括:对缓存的5个坐标数据,Data1{Location(x1,y1)}....Data5{Location(x5,y5)},从第一个点开始,依次对后面坐标点进行距离偏差计算,得到位置偏移量数Distance1(CALC(Location(x1,y1),Location(x2,y2)))...Distance10(CAL C(Location(x4,y4),Location(x5,y5))),将偏移量数据与基准范围值L[min,max]进行比较,如果超出范围值,则按其前后数据的差值进行平均值处理,完成偏差补正。4.如权利要求3所述的基于地图插件使用对比算法实现精准定位和导航方法,其特征在于:所述坐标系转换具体包括:步骤一:假定输入坐标系值(x1,y1);步骤二:使用中国坐标偏移标准(xp,yp)计算偏差:x2=x1

xp,y2=y1

yp步骤三:使用数学公式计算z1=Math.sqrt(x2*x2+y2*y2)

X*Math.sin(y2*PI)z2=Math.atan2(y2,x2)

Y*Math.cos(x2*PI)x3=z1*Math.cos(z2)y3=z1*Math.sin(z2)
步骤四:输出转换后的坐标值(x3,y3);该坐标系反向转换的逻辑如下:步骤一:假定输入坐标系值(x1,y1);步骤二:使用数学公式计算:z1=Math.sqrt(x1*x1+y1*y1)+X*Math.sin(y1*PI)z2=Math.atan2(y1,x1)+Y*Math.cos(x1*PI);步骤三:使用中国坐标偏移标准(xp,yp)计算偏差x3=z1*Math.cos(z2)+xpy3=z1*Math.sin(z2)+yp步骤四:输出转换后的坐标值(x3,y3)以上转换方式中,PI为圆周率,X,Y为地球椭圆球的偏心率值。5.一种基于地图插件使用对比算法实现精准定位和导航装置,其特征在于:包括移动作业客户端...

【专利技术属性】
技术研发人员:漆启华刘行波余明俊金冰李佳宾张慎张春凤郑炎江盟张帆刘维维胡斯玥
申请(专利权)人:国网湖北省电力有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1