宋玉兵,彭树标,沈 飞,王 勇
(江苏省测绘工程院,江苏南京210013)
大众对定位精度的要求越来越高,而普通手机GPS定位精度较低,一般在10~20 m左右。一些移动运营商利用通信技术进行手机定位研究,如蜂窝基站定位、gpsOne定位等辅助定位技术(A-GPS)等。利用A-GPS技术可以缩短初始定位时间和解决GPS无法定位的情况,但对GPS定位精度提高不大,不能真正满足公众位置服务精确导航和行业应用的要求。江苏省已建成覆盖全省的CORS系统[1],站间距平均距离为40 km,为用户提供高精度的实时定位服务,但要实现高精度的GPS定位往往需要专业级的GPS设备,本文提出了利用位置差分的方法,利用普通手机GPS等公众非专业型设备进行差分定位,代替价格昂贵的专业GPS手持设备。对土地巡查、车辆监控、部件采集等一些对精度要求不太高的应用,具有非常好的实用价值。
GPS 绝对定位的误差一般在20 m左右,为了得到更高的定位精度,一般采用差分 GPS技术(DGPS)[2],DGPS方式按基准站信息发送方式可分为3种方式:①伪距差分;②载波相位差分;③位置差分。第①种方式,将在基准站上的接收机计算出的距离和含有误差的距离测量值进行差值滤波求出其偏差,然后将所有卫星的伪距修正量播发给用户,用户利用改正后的伪距来解算本身的位置,来消除公共误差和提高精度。第②种差分方式又称RTK技术,基准站广播观测载波相位及测站坐标信息,用户需要处理大量的数据,对用户端设备要求高。第③种差分方式,在基准站上GPS接收机观测4颗卫星便可解算出基准站坐标,并与基准站已知坐标比较得到位置改正量并播发给用户进行坐标改正。这种差分方式实现简单,对移动GPS设备硬件要求低,定位速度快,特别是普通手机GPS模块大多集成度高不能输出伪距,因此比较适合采用这种方式利用基准站和用户站观测同一组卫星来消除基准站和用户站的共同误差[4],如卫星轨道误差、大气影响等,来提高手机GPS定位精度。
本文采用CORS参考站作为位置差分观测基站,每秒钟解算基站位置并与该站长时间静态解算的精确值进行比较,得到每个站点的位置改正值。当用户有定位需求时,首先解析手机GPS的NEMA数据得到坐标,并通过通信网络发送到位置差分服务器,服务器根据用户位置选取最近的3个基站,根据这3个基站的位置差分值进行距离加权内插该点的位置改正数,并将该点位置改正发给用户进行坐标改正以获得精确的定位结果。此时用户和这3个参考站距离较近,一般不超过30 km,可以近似认为用户和这3个参考站观测到共同的卫星,两者具有较强的空间相关性,可以消除定位主要误差项(星历误差、卫星钟差、电离层延迟、对流层延迟)。另外,由于目前国内公众地图一般都进行了加密和加偏,使得定位点与地图匹配精度差,因此也开发了相应的坐标纠偏和坐标转换服务。系统技术流程图如图1。
(1)地图纠偏服务的实现
为了国家地图保密的需要,国内的公众地图(如google、百度等)一般带有500 m左右的误差。而由于这些地图采用非线性算法加密,因此各地的偏移情况有所不同。本文为了提高叠合的显示效果,对江苏范围内覆盖区域左下角(30,116)右上角(35.2,122)范围按0.01经纬度格网划分求取格网点坐标偏移量,建立坐标偏移数据库。由于这种格网纠偏值受格网密度影响且数据不连续,因此本文采用了距离加权纠偏算法来求取真实点的纠偏值。首先,根据真实坐标点与临近的4个纠偏点的距离,计算4个点纠偏数据对真实坐标点纠偏结果的影像系数,再对4个点的纠偏数据乘以影像系数进行加权得到纠偏结果。通过位置差分后的手机坐标实地比对后,采集的坐标与地图匹配精度基本能保证在5 m之内,基本满足了高精度导航的要求。部分纠偏如表1所示。
图1 位置修正系统流程图
表1 地图坐标纠偏表
(2)坐标转换服务的实现
由于不同的地图可能采用的不同的坐标系,而手机GPS只能输出WGS-84坐标系的经纬度坐标,这样,位置差分定位系统实现多源地图服务切换导航就需要实时将GPS的经纬度转换到地图坐标系,实现点位与不同坐标系地图的匹配。坐标转换服务采用布尔莎七参转换模型,利用覆盖江苏全省均匀分布控制点求取七参数,并将不同坐标投影到空间直角坐标系进行七参转换。
Android是Google于2007年11月宣布的基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,并融合了GPS技术,支持GPS的应用开发。本文基于Android开发的定位平台实现不同地图(Google影像、天地图、ArcGIS本地缓存地图)切换和漫游、地名查询、轨迹记录、相关设置等功能,系统中主要用到 GPS 模块[3]。
1)LocationProvider:该类是定位提供者的抽象类,定位提供者具备周期性报告设备地理位置的功能。
2)LocationManager:该类提供访问定位服务的功能,提供获取最佳定位的一系列功能。
3)LocationLister:提供定位信息发生改变时的回调功能。
4)Criteria:该类使得应用能够通过在Location-Provider中设置相应的属性来选择合适的定位提供者。
当开启定位功能后,为了实现用户的快速定位,对于首次定位利用LocationManager先判断网络定位是否可用,若可用则先采用网络定位。然后LocationLister监听定位信息发生的变化,根据定位时间和定位精度来比较是采用网络定位还是GPS定位。当采用GPS初始定位后,通过HttpPost组件封装移动端GPS的经纬度信息(B,L,H)进行位置差分服务发送请求,服务器端根据用户位置计算位置差分值传回用户端进行修正。同时,若当前地图是加偏后的公众地图则调用纠偏服务,如果当前地图的坐标系不是WGS-84坐标系则调用坐标转换服务,这样就能保证高精度的定位点与所用地图匹配的一致性。Google地图定位匹配结果如图2。
图2 位置差分和地图匹配结果
本次试验于2011年11月12日10点15分,利用Moto ME860手机共采集3个点位坐标分别为江苏省测绘地理局大楼楼顶 01(32°3'44.25″,118°45'4.67″)、河海大学校园操场西南角 02(32°3'33.13″,118°45'5.55″)、奥体中心西南十字路口 03(32°0'31.60″,118°43'23.20″),采用 5 次测量取平均值,其中 01、02、03号点离 NJGT站点最近分别约2.87、2.72和7.03,它们获取最近的基准站点名称(可用卫星数)分别为 NJGT(13)、NJPK(13)、NJLH(11),采用RTK进行点位采集并与差分后手机位置进行了比较,差分后定位精度<5 m,结果如表2。另外,通过加载Google国内影像地图进行在北京西路斑马线交叉处进行比对,位置匹配精度基本能保证在5 m之内。
表2 定位精度统计
本文通过CORS系统参考站实时数据流获取和解算,利用周边的参考站的信息和空间相关性,实现了网络化GPS位置差分服务和同等精度地图匹配技术,并开发了基于Android的差分定位平台。该平台对普通手机能进行位置改正,为高精度导航定位提出了一条解决途径。由于通过位置差分方式提高普通GPS精度有限,如何利用现有资源为公众提供低成本、高效率、高可靠性及中精度的位置服务,还有待于进一步研究。
[1] 宋玉兵,丁玉平,沈飞.JSCORS的建设与最新进展[J].测绘通报,2009(2):73-74.
[2] 李传华,孙礼军,陆林涛.GPS手机的差分定位系统研究[J].测绘科学,2012,37(3):50-51.
[3] 刘胜前,陈立定,任志刚.基于 Android移动平台和GPS应用服务研究[J].信息技术,2012(1):82-85.
[4] 张淑芳,袁安存.位置差分GPS定位系统[J].大连海事大学学报,2002,28(S1):71-73.
[5] 王永生.实时位置差分GPS的设计与实现[J].西北工业大学学报,1994,12(13):356-358.
[6] 廖华,冯 威,黄丁发.中央差分定位系统的设计与实现[J].西南交通大学学报,2011,46(5):754-769.