一种依据GPS坐标快速查询行政区域的方法技术

技术编号:18204320 阅读:38 留言:0更新日期:2018-06-13 06:21
本发明专利技术涉及到一种依据GPS坐标快速查询行政区域的方法,属于地图数据处理领域,该方法包括有如下步骤:从开源地图平台中采集行政区划边界的地图数据;对采集的源数据进行预处理,预处理是在维持原有代表行政区划图形基本不变的前提下,简化描述形状区划点的个数;第三步,对存储数据结构优化;使描述每个切割后图形的点个数不超过200个,以加快查询速度;第四步,对大批量点查询优化,采用聚类的方式进行。本发明专利技术的方法为X‑Behavior服务提供高效可维护的线下版本的依据GPS坐标查询行政区划的数据工程工具,在满足行政区划查询精度的前提下,大大提高了查询效率和可靠性。

【技术实现步骤摘要】
一种依据GPS坐标快速查询行政区域的方法
本专利技术涉及计算机数据处理,特别涉及到一种依据GPS坐标快速查询行政区域的方法。
技术介绍
在目前的地理数据查询中,大多数采用的是GPS坐标,常用的数字地图有谷歌、百度和高德等。作为数据工程开发地理位置查询工具,一般有如下的查询方式:1.线上方式。通过百度或者谷歌等地图服务平台提供的API服务进行线上调用查询,这样的服务优势在于精准,但是受制于网络因素的限制,在工程服务让无法满足企业线上实时调用的效率要求。2.线下或离线方式。具体的应用范例有Github上的项目Reverse_Geocoder(作者Thampiman)。在上述应用方式下,数据调用过程时,它的实际测试速度在单个点20毫秒左右,但是这种方式中的查询速度不能满足公司的线上服务测试速度需求,此外它的准确率非常差。这是由于该项目基于数据结构KD-Tree(K维树)的特质,还有其使用的语料库每个行政区划只有一个点,导致边界区域和城市非核心区域查询准确率非常低。
技术实现思路
本专利技术的目的在于克服上述线上线下查询效果的不足,提供一种基于GPS坐标来快速查询行政区划的方法。本专利技术的快速查询方法在满足具体应用场景的前提下,能够做到迅速查询行政区域,不仅能够做到单个点的快速查询,还能够快速查询多个点乃至整个行政区划。为了达到上述专利技术目的,本专利技术专利提供的技术方案如下:一种依据GPS坐标快速查询行政区域的方法,其特征在于,该方法包括有如下步骤:第一步,从开源地图平台中采集行政区划边界的地图数据,该地图数据的源数据为WGS84格式;第二步,对采集的源数据进行预处理,预处理是在维持原有代表行政区划图形基本不变的前提下,简化描述形状区划点的个数,首先设定一个容忍度的参数k,从一个图形的最远端两个点(假设A和E)入手,计算两个点中间(B-D)的点与AE直线之间的距离,如果该距离小于参数k,那么这个点就删除,如果任意点(假设C点)与AE直线之间的距离大于参数k,则C点保留,然后AC和CE进行连线重复上述分析;直至能用300-2000个点描述一个行政区划;第三步,对存储数据结构优化;存储简化后的行政区划边界数据,借用Rtree的数据结构对存储的数据结构进行优化,先在每个行政级别上的各个区域的东北和西南角构造的长方形用Rtree建立索引,加快单个点的查询;对每个行政区划用递归思想进行再切割,从而使描述每个切割后图形的点个数不超过200个,以加快查询速度;图形切割具体方式为:输入图形(g)--最初为一个行政区划图形,如果g的点数超过200,则在x和y方向取中间点切断,对于切断后两个图形再次进行切割,直到描述单个图形的点数之和小于200;第四步,对大批量点查询优化;大规模GPS点查询行政区划信息时,采用聚类的方式进行,将多个靠近的点包成一个图形,查询该图形是否属于某一个行政区划,如果属于,则该图形中的所有点都属于这一个行政区域;第五步,根据上述方法聚类后的图形进行在每个行政级别进行集中查询,如果该组所组成的多边形横跨多个行政区域,则利用上述聚类方法再次进行切割,切割时需要选用更小的距离参数,优选缩小为原来的一半,直至查询到每个组的行政区划。在本专利技术的一种依据GPS坐标快速查询行政区域的方法中,所述第四步中聚类的方式是指,随机挑选一个点为中心点,如果下一个点在之前任意中心点的一个距离参数(k)之内,则为一类,否则该点自为一组的中心点。基于上述技术方案,本专利技术的依据GPS坐标快速查询行政区域的方法取得了如下技术效果:1.采用本专利技术的快速查询方法,单个GPS坐标点的查询在2-4毫秒左右,大大地提高了查询效率。2.本专利技术的方法中,通过递归思想的切割图形的方法,加快了Rtree图形的查询速度,通过打包多个点来节省查询速度,核心为高效的聚类方法和递归查询逻辑,使得多个点优化后的算法进行多个点的查询超过1000个点的情况下,平均下来每个点耗时在1毫秒左右。3.本专利技术的方法可以给氪信X-Behavior的地点特征监控提供了可靠的GPS行政区域查询服务,满足查询精度的前提下,大大提高了查询效率和可靠性。附图说明图1是本专利技术一种依据GPS坐标快速查询行政区域的方法的流程示意图。图2是本专利技术一种依据GPS坐标快速查询行政区域的方法实施例中对行政区划切割的示意图。具体实施方式下面我们附图和具体的实施例来对本专利技术一种依据GPS坐标快速查询行政区域的方法做进一步的详细阐述,以求更为清楚地理解其处理流程和实现方式,但不能以此来限制本专利技术的保护范围。如图1所示,本专利技术是一种依据GPS坐标快速查询行政区域的方法,该方法包括有如下步骤:第一步,从开源地图平台中采集行政区划边界的地图数据,该地图数据的源数据为WGS84格式,该格式是一种由美国国防部定义的卫星定位经纬度计算协议,是为GPS全球定位系统使用而建立的坐标系统。第二步,对采集的源数据进行预处理,预处理是在维持原有代表行政区划图形基本不变的前提下,简化描述形状区划点的个数,实现该目的的算法为:Douglas-Peucker算法。在通过改动Douglas-Peucker将其应用在首尾相连的图形上后对行政区划的图形做简化,需要先将集合函数(往往一条线)的最远端两点改变成2维图形上距离最远两点,这样做的实际效果往往能在原图形变动小于0.01%的情况下,仅用300-2000个点就描述一个行政区划。Douglas-Peucker的解释和在地图数据上的应用:该算法是一种基于递归思想的描述一个几何函数个数的算法。简要描述:首先设定一个容忍度的参数k,从一个图形的最远端两个点(假设A和E)入手,计算两个点中间(B-D)的点与AE直线之间的距离,如果该距离小于参数k,那么这个点就删除,如果任意点(假设C点)与AE直线之间的距离大于参数k,则C点保留,然后AC和CE进行连线重复上述分析;直至最后能用300-2000个点描述一个行政区划。第三步,对存储数据结构优化;存储简化后的行政区划边界数据,借用Rtree的数据结构对存储的数据结构进行优化。先在每个行政级别上的各个区域的东北和西南角构造的长方形用Rtree建立索引,加快单个点的查询;依据Rtree这个数据结构查询点是否在里面的数据结构特点,点个数的线性增长会带来查询时间的几何增长,对每个行政区划用递归思想进行再切割,从而使描述每个切割后图形的点个数不超过200个,以加快查询速度。R-Tree数据结构,是一种动态索引结构,由AntomnGuttman提出,主要用于空间数据的搜索。Rtree是Btree向多维空间发展的另一种形式,它将对象空间按范围划分,每个结点都对应一个区域和一个磁盘页,非叶结点的磁盘页中存储其所有子结点的区域范围,非叶结点的所有子结点的区域都落在它的区域范围之内;叶结点的磁盘页中存储其区域范围之内的所有空间对象的外接矩形。图形切割的具体方式为:输入图形(g)--最初为一个行政区划图形,如果g的点数超过200,则在x和y方向取中间点切断,对于切断后两个图形再次进行切割,直到描述单个图形的点数之和小于200;第四步,对大批量点查询优化;大规模GPS点查询行政区划信息时,采用聚类的方式进行,聚类的方式是随机挑选一个点为中心点,如果下一个点在之前任意中心点的一个距离本文档来自技高网...
一种依据GPS坐标快速查询行政区域的方法

【技术保护点】
一种依据GPS坐标快速查询行政区域的方法,其特征在于,该方法包括有如下步骤:第一步,从开源地图平台中采集行政区划边界的地图数据,该地图数据的源数据为WGS84格式;第二步,对采集的源数据进行预处理,预处理是在维持原有代表行政区划图形基本不变的前提下,简化描述形状区划点的个数,首先设定一个容忍度的参数k,从一个行政区划图形的最远端两个点入手,假设该两个点为A和E,计算两个点中间的点与AE直线之间的距离,如果该距离小于参数k,那么这个中间的点就删除,如果任意点C与AE直线之间的距离大于参数k,则C点保留,然后分别AC和CE进行连线重复上述分析操作,直至能用300‑2000个点描述一个行政区划图形边界,保存上述简化后的行政区划边界数据;第三步,对存储数据结构优化;存储简化后多个行政区划的边界数据,借用Rtree的数据结构对边界数据进行数据结构优化,先在每个行政级别上的各个行政区划的图形区域的东北和西南角构造的长方形用Rtree建立索引,以加快单个点的查询;再对每个行政区划用递归思想进行再切割,从而使描述每个切割后图形的点个数不超过200个,以加快查询速度;第四步,对大批量点查询优化;大规模GPS点查询行政区划信息时,采用聚类的方式进行,将多个靠近的点打包成为一个图形,查询该图形是否属于某一个行政区划,如果图形属于该行政区域,则该图形中的所有点都属于这一个行政区域;如果点打包分组后组成的图形横跨多个行政区域,则利用上述聚类方法再次进行切割分组,切割时需要选用更小的距离参数,直至查询到每个组的行政区划。...

【技术特征摘要】
1.一种依据GPS坐标快速查询行政区域的方法,其特征在于,该方法包括有如下步骤:第一步,从开源地图平台中采集行政区划边界的地图数据,该地图数据的源数据为WGS84格式;第二步,对采集的源数据进行预处理,预处理是在维持原有代表行政区划图形基本不变的前提下,简化描述形状区划点的个数,首先设定一个容忍度的参数k,从一个行政区划图形的最远端两个点入手,假设该两个点为A和E,计算两个点中间的点与AE直线之间的距离,如果该距离小于参数k,那么这个中间的点就删除,如果任意点C与AE直线之间的距离大于参数k,则C点保留,然后分别AC和CE进行连线重复上述分析操作,直至能用300-2000个点描述一个行政区划图形边界,保存上述简化后的行政区划边界数据;第三步,对存储数据结构优化;存储简化后多个行政区划的边界数据,借用Rtree的数据结构对边界数据进行数据结构优化,先在每个行政级别上的各个行政区划的图形区域的东北和西南角构造的长方形用Rtree建立索引,以加快单个点的查询;再对每个行政区划用递归思想进行再切割,从而使描述每个切割后图形的点个数不超过200个,以加快查询速度;第四步,对大批量点查询优化;大规模GPS点查询行政区划信息时,采用聚类的方式进行,将多个靠近的点打包成为一个图形,查询该图形是否属于某一个行政区划,如果图形属于该行政区域,则该图形中的所有点都属于这一个行政区域;如果点打包分组后组成的图形横跨多个行政区域,则利用上述聚类方法再次进行切割分组,切割时需要选用更小的距离...

【专利技术属性】
技术研发人员:张睿楠周春英朱明杰高强姜松涛
申请(专利权)人:上海氪信信息技术有限公司
类型:发明
国别省市:上海,31

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

1