本发明涉及一种基于记录仪管理平台的加速逆地址解析方法及装置,属于电子地图车辆位置信息处理领域。
背景技术:
记录仪管理平台在电子地图上显示车辆、进行轨迹查询或各种坐标数据导出时,需要将坐标信息逆解析成具体的地理位置信息。进行坐标逆地址解析,需要通过外网访问交通部指定的地图服务商发布的逆地址解析服务,才能够解析出具体的地理位置信息。由于平台车辆多,上传坐标的数据量大,实时通过外网对坐标进行逆地址解析已经严重的影响了平台的操作性能。
技术实现要素:
本发明的目的是为了解决现有的记录仪管理平台不具有偏移值缓存功能,当接收到的坐标数据量较大时严重影响平台操作性能的缺点,而提出一种基于记录仪管理平台的加速坐标转换方法及装置。
根据本发明的第一方面,提供一种基于记录仪管理平台的加速逆地址解析方法,包括:
步骤一:获取待处理的地理坐标。
步骤二:将所述地理坐标转换为二维直角坐标。
步骤三:按照给定的精度,对二维直角坐标所在坐标系进行网格划分。
步骤四:求解所述二维直角坐标所在网格的西南点坐标。
步骤五:将所述西南点坐标的横坐标以及纵坐标组合形成字符串,将所述字符串作为key值。
步骤六:在缓存中查找是否存在与所述key值相匹配的热点信息;若存在,则计算key值对应的坐标与热点的距离以及相对于热点的方向,用热点的行政区划、热点名称及与热点的方向、距离,表示待处理坐标的真实位置;若不存在,则通过网络获取所述key值对应坐标的偏移坐标,获得所述偏移坐标的热点数据,将热点数据的偏移坐标转换为真实坐标,并将转换后的热点数据进行缓存。
根据本发明的第二方面,提供一种基于记录仪管理平台的加速逆地址解析装置,包括:
地理坐标获取模块,用于获取待处理的地理坐标。
直角坐标转换模块,用于将所述地理坐标转换为二维直角坐标。
网格划分模块,用于按照给定的精度,对二维直角坐标所在坐标系进行网格划分。
网格坐标求解模块,用于求解所述二维直角坐标所在网格的西南点坐标。
key值生成模块,用于将所述西南点坐标的横坐标以及纵坐标组合形成字符串,将所述字符串作为key值。
缓存查找模块,用于在缓存中查找是否存在与所述key值相匹配的热点信息;若存在,则向逆地址计算模块发出执行信号;若不存在,则向热点获取模块发出执行信号。
逆地址计算模块,用于当接收到执行信号后,计算key值对应的坐标与热点的距离以及相对于热点的方向,使用热点的行政区划、热点名称及相对于热点坐标的方向、距离,表示待处理坐标的真实位置。
热点获取模块,用于在接收到执行信号后,通过网络获取所述key值对应坐标的偏移坐标,获得所述偏移坐标的热点数据,将所述热点数据进行缓存,并将偏移坐标转换为真实坐标。
本发明的有益效果为:1、本发明在精度许可范围内,根据真实坐标值生成一个key值,将坐标转换结果缓存在本地的服务其中,当在该精度范围内的其他坐标,需要进行坐标转换时,可以使用该缓存结果对应的热点信息进行坐标偏移运算,来提升系统地图显示的性能。2、在缓存中查找到匹配值时,产生逆地址的速度非常快,在实施例中,本发明相比于现有的记录仪平台速度提升近500倍;3、可降低因过多使用交通部提供的数据服务而产生的服务费用;4、可降低系统使用外网资源,提高系统数据转换的稳定性。
附图说明
图1为本发明的基于记录仪管理平台的加速坐标转换方法的流程图;
图2为本发明的基于记录仪管理平台的加速坐标转换装置的原理结构图。
具体实施方式
具体实施方式一:本实施方式的基于记录仪管理平台的加速坐标转换方法如图1所示,包括:
步骤一:获取待处理的地理坐标。
步骤二:将所述地理坐标转换为二维直角坐标。地理坐标的单位为度,二维直角坐标的单位为厘米。
例如,以子午线经过赤道点为原点,经度为横坐标,纬度为纵坐标,东经、北纬为正,建立坐标系,则地球面上的东经、北纬区域内的每一点的二维直角坐标的计算方法如下,单位米。
横坐标:x=r*(lng*cos(lat*pi/180)*pi/180)
纵坐标:y=r*(lat*pi/180)
其中,r为地球半径,lng为经度,lat为纬度。
步骤三:按照给定的精度,对二维直角坐标所在坐标系进行网格划分。即每一个坐标均落入一个网格中。
步骤四:求解所述二维直角坐标所在网格的西南点坐标。
步骤五:将所述西南点坐标的横坐标以及纵坐标组合形成字符串,将所述字符串作为key值。
例如,按照给定精度,对横(纵)坐标进行分段,每一段的坐标,都是该精度的方格坐标,则距离横(纵)坐标最近并小于横(纵)坐标的方格坐标就是该坐标点的落入的方格坐标。也可以理解为,在平面地图的“上”方向为“北”的情况下,左下角的点即为西南点。方格的横坐标dx和纵坐标dy的计算方法如下:
dx=int(x/d)×d
dy=int(y/d)×d
其中int表示取整,d为网格划分的精度。
然后将dx和dy组合为字符串作为key值,即key=dx_dy。
步骤六:在缓存中查找是否存在与所述key值相匹配的热点信息;若存在,则计算key值对应的坐标与热点的距离以及相对于热点的方向,用热点的行政区划、热点名称及与热点的方向、距离,表示待处理坐标的真实位置;若不存在,则通过网络获取所述key值对应坐标的偏移坐标,获得所述偏移坐标的热点数据,将所述热点数据进行缓存,并将偏移坐标转换为真实坐标。
其中,热点信息是预先指定好的某地点的名称以及坐标,例如在电子地图上显示的“xx大厦”是预设好的热点,那么其名称和所处的坐标则组成了它的热点信息。逆地址是通过偏移坐标计算真实坐标的必要条件,由于从交通部直接获取的坐标不是真实坐标,而是偏移坐标,因此还需要通过逆地址来还原真实坐标。
具体实施方式二:本实施方式与具体实施方式一不同的是:步骤六中,当存在于key值相匹配的值时,具体包括如下步骤:
步骤a1:获取key值;
步骤a2:获取与该key值对应的真实坐标的热点信息;
步骤a3:根据热点信息的内容,构建热点坐标;
步骤a4:根据热点坐标,计算key值对应的坐标相对于热点坐标的方向;
步骤a5:使用热点的行政区划、热点名称及相对于热点坐标的方向、距离,表示待处理坐标的真实位置。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:
步骤六中,当不存在于所述key值相匹配的值时,具体包括如下步骤:
步骤b1:将key值对应的真实坐标转换为偏移坐标;
步骤b2:从网络中获取所述偏移坐标的热点信息;
步骤b3:将所述热点信息的偏移坐标转换为热点真实坐标;
步骤b4:构建热点真实坐标的热点信息,将热点真实坐标的热点信息与key值进行关联,并在缓存中进行存储。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式提供了一种基于记录仪管理平台的加速坐标转换装置,如图2所示,包括:
地理坐标获取模块101,用于获取待处理的地理坐标。
直角坐标转换模块102,用于将所述地理坐标转换为二维直角坐标。
网格划分模块103,用于按照给定的精度,对二维直角坐标所在坐标系进行网格划分。
网格坐标求解模块104,用于求解所述二维直角坐标所在网格的西南点坐标。
key值生成模块105,用于将所述西南点坐标的横坐标以及纵坐标组合形成字符串,将所述字符串作为key值。
缓存查找模块106,用于用于在缓存中查找是否存在与所述key值相匹配的热点信息;若存在,则向逆地址计算模块106a发出执行信号;若不存在,则向热点获取模块106b发出执行信号。
逆地址计算模块106a,用于当接收到执行信号后,计算key值对应的坐标与热点的距离以及相对于热点的方向,使用热点的行政区划、热点名称及相对于热点坐标的方向、距离,表示待处理坐标的真实位置。
热点获取模块106b,用于在接收到执行信号后,通过网络获取所述key值对应坐标的偏移坐标,获得所述偏移坐标的热点数据,将所述热点数据进行缓存,并将偏移坐标转换为真实坐标。
本实施方式是具体实施方式一对应的软件装置,此处不做详述。
具体实施方式五:本实施方式与具体实施方式四不同的是:
逆地址计算模块106a包括:
key值获取单元,用于获取key值。
热点信息获取单元,用于获取与该key值对应的真实坐标的热点信息。
热点坐标构建单元,用于根据热点信息的内容,构建热点坐标。
方向计算单元,用于根据热点坐标,计算key值对应的坐标相对于热点坐标的方向。
逆地址计算单元,使用热点的行政区划、热点名称及相对于热点坐标的方向、距离,表示待处理坐标的真实位置。
本实施方式是具体实施方式二对应的软件装置,此处不做详述。
其它步骤及参数与具体实施方式四相同。
具体实施方式六:本实施方式与具体实施方式四或五不同的是:
热点获取模块106b包括:
偏移坐标,用于将key值对应的真实坐标转换为偏移坐标。
网络获取单元,用于从网络中获取所述偏移坐标的热点信息。
真实坐标转换单元,用于将所述热点信息的偏移坐标转换为热点真实坐标。
缓存存储单元,用于构建热点真实坐标的热点信息,将热点真实坐标的热点信息与key值进行关联,并在缓存中进行存储。
本实施方式是具体实施方式三对应的软件装置,此处不做详述。
其它步骤及参数与具体实施方式五相同。
下面根据如下的测试过程,来说明本发明的有益效果。
1)测试环境(pc机):
处理器:intel(r)core(tm)2duocpue7500@2.93ghz2.94ghz
内存:4gb
操作系统:64位windows7
java环境:jkd1.8.0_51
2)缓存数据库环境
处理器:intel(r)xeon(r)cpue5-2620v2@2.10ghz2.10ghz(双处理器)
内存:32gb
操作系统:64位windowsserver2008r2
数据库:timesten11g
3)网络环境:
联通独享100m光纤
4)使用本地缓存的热点数据,并检索皆命中,进行逆地址转换的测试代码及测试结果:
对100000条坐标进行本地逆地址解析,用时:7239毫秒
testsrun:2,failures:0,errors:0,skipped:0,timeelapsed:11.747sec
5)使用交通部提供的网络坐标转换服务进行坐标转换测试及测试结果:
对1000条坐标进行网络逆地址解析,用时:68094毫秒
testsrun:2,failures:0,errors:0,skipped:0,timeelapsed:71.104sec
5)测试结果对比
本地进行坐标逆地址转换比通过网络服务进行转换,单线程测试时,其速度提升近500倍。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。