生成无缝相邻的地理围栏的方法及装置与流程

文档序号:12183958阅读:239来源:国知局
生成无缝相邻的地理围栏的方法及装置与流程

本发明涉及位置服务技术领域,尤其涉及一种生成无缝相邻的地理围栏的方法及装置。



背景技术:

通过划分地理围栏,可以在电子地图上区分不同的业务区域,便于各行各业业务的开展,如人员监控、车辆监控领域;为了不同的业务区域不重叠,往往还需要各个相邻的围栏既不重叠,也没有缝隙。

现有技术中一般采用人工操作鼠标绘制地理围栏,但是,由于地理围栏往往是不规则多边形,如果用人工操作鼠标绘制,绘制多边形的一条边时,需要不断的将地图扩大到最大级别,以绘制相对准确的边界,并且由于最大级别的可视范围比较狭窄,往往需要不断滑动地图,以便完成边的延长线的绘制。由于边的低效绘制,导致在2个相邻围栏经常出现重叠区域或者区域缝隙的情况,导致业务归属的冲突(区域重叠)或者无人响应,而采用人工方式制作多个无缝相邻的地理围栏,工作异常繁重,且难以实现无缝的地理围栏。

因此,有必要提出一种无缝的自动生成地理围栏的方法或装置以解决上述问题。



技术实现要素:

本公开要解决的一个技术问题是如何提出一种高效的自动化获取无缝的地理围栏的方法或装置,实现多个地理围栏无缝连接并降低人工绘制地理围栏的成本。

本公开提供一种生成无缝相邻的地理围栏的方法,包括:将所有兴趣点区域形成兴趣点区集合;在兴趣点区集合选择当前兴趣点区,基于兴 趣点和道路数据获取最小面积的当前兴趣点区的地理围栏;确定当前兴趣点区的临近兴趣点区;基于兴趣点和道路数据获取临近兴趣点区的多个地理围栏,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏;将地理围栏绘制到地图上。

进一步地,在兴趣点区集合选择当前兴趣点区,基于兴趣点和道路数据获取最小面积的当前兴趣点区的地理围栏,包括:遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆;在目标圆内获取能够首尾相连的闭合道路;剔除不能覆盖当前兴趣点区所有兴趣点的闭合道路,将剔除完后留下的闭合道路组成当前兴趣点区的有效闭合道路集合;在有效闭合道路集合中,计算各闭合道路的面积,选取面积最小的闭合道路作为当前兴趣点区的地理围栏;将当前兴趣点区的地理围栏绘制到地图上。

进一步地,遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆,包括:对当前兴趣点区中的每个兴趣点,逐步扩大半径画圆,依次判断目标圆是否能覆盖当前兴趣点区的所有兴趣点;其中,设置目标圆的初始半径为R,如果半径为R的目标圆能覆盖当前兴趣点区的所有兴趣点,则在目标圆内,根据地图内置的道路数据寻找能够覆盖当前兴趣点区所有兴趣点的闭合道路,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合;若在半径为RX的目标圆内未能找到覆盖当前兴趣点区的所有兴趣点的闭合道路,则逐步扩大半径,直到在半径R、RX2或半径更大的目标圆内能够找到覆盖当前兴趣点区所有兴趣点的闭合道路为止,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合。

进一步地,在目标圆内,获取能够首尾相连的闭合道路,包括:遍历地图中所有道路,将所有起始点和结束点都在目标圆内的道路归入集合M{m1,m2,..,mn};任选一个mi开始,寻找和mi有公共端点的道路mj,如果有多条则形成多个分支继续寻找;对于mj,继续上述过程,直到寻找到能和mi闭合的道路为止,最后得到1个或者多个闭合道路。

进一步地,确定当前兴趣点区的临近兴趣点区包括:在当前兴趣点区中任意取一点画半径为R’Yk的圆;如果圆内没有其他兴趣点区的兴趣点,则在继续扩大半径在半径为R’Yk+1的圆或半径更大的圆中寻找有无其他兴趣点区的兴趣点,依次扩大半径直到找到临近兴趣点区,若圆内有多个兴趣点区,则任选其中一个兴趣点区作为临近兴趣点区,其中,k为自然数,Y大于1。

进一步地,方法还包括:若临近兴趣点区有多个与当前兴趣点区有公共边的地理围栏时,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏。

本公开还提供一种生成无缝相邻的地理围栏的装置,包括:集合预处理模块,用于将所有兴趣点区域形成兴趣点区集合;首围栏生成模块,用于在兴趣点区集合选择当前兴趣点区,基于兴趣点和道路数据获取最小面积的当前兴趣点区的地理围栏;临近区域查询模块,用于确定当前兴趣点区的临近兴趣点区;临近围栏生成模块,用于基于兴趣点和道路数据获取临近兴趣点区的多个地理围栏,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏;边界绘制模块,用于将地理围栏绘制到地图上。

进一步地,首围栏生成模块包括:兴趣点遍历单元,用于遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆;闭合道路计算单元,用于在目标圆内获取能够首尾相连的闭合道路;闭合道路剔除单元,用于剔除不能覆盖当前兴趣点区所有兴趣点的闭合道路,将剔除完后留下的闭合道路组成当前兴趣点区的有效闭合道路集合;目标边界处理单元,用于在有效闭合道路集合中,计算各闭合道路的面积,选取面积最小的闭合道路作为当前兴趣点区的地理围栏;围栏绘制单元,用于将当前兴趣点区的地理围栏绘制到地图上。

进一步地,兴趣点遍历单元,用于对当前兴趣点区中的每个兴趣点,逐步扩大半径画圆,依次判断目标圆是否能覆盖当前兴趣点区的所有兴趣点;其中,设置目标圆的初始半径为R,如果半径为R的目标圆能覆盖当前兴趣点区的所有兴趣点,则在目标圆内,根据地图内置的道 路数据寻找能够覆盖当前兴趣点区所有兴趣点的闭合道路,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合;若在半径为R的目标圆内未能找到覆盖当前兴趣点区的所有兴趣点的闭合道路,则逐步扩大半径,直到在半径RX、RX2或半径更大的目标圆内能够找到覆盖当前兴趣点区所有兴趣点的闭合道路为止,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合。

进一步地,闭合道路计算单元用于:遍历地图中所有道路,将所有起始点和结束点都在目标圆内的道路归入集合M{m1,m2,..,mn};任选一个mi开始,寻找和mi有公共端点的道路mj,如果有多条则形成多个分支继续寻找;对于mj,继续上述过程,直到寻找到能和mi闭合的道路为止,最后得到1个或者多个闭合道路。

进一步地,临近区域查询模块,用于在当前兴趣点区中任意取一点画半径为R’Yk的圆;如果圆内没有其他兴趣点区的兴趣点,则在继续扩大半径在半径为R’Yk+1的圆或半径更大的圆中寻找有无其他兴趣点区的兴趣点,依次扩大半径直到找到临近兴趣点区,若圆内有多个兴趣点区,则任选其中一个兴趣点区作为临近兴趣点区,其中,k为自然数,Y大于1;

进一步地,临近围栏生成模块,还用于若临近兴趣点区有多个与当前兴趣点区有公共边的地理围栏时,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏。

本公开提供的生成无缝相邻的地理围栏的方法及装置,地理围栏精度高,相邻兴趣点区的地理围栏之间无缝连接、没有重叠,并可以大大减少人工的工作量,提高生成地理围栏的效率,该方法生成的无缝连接的地理围栏可以应用于外勤人员定位服务或车辆定位服务产品,为用户提供高效准确的地理位置服务。

附图说明

图1示出本发明一个实施例的生成无缝相邻的地理围栏的方法的流程图。

图2示出本发明一个实施例的生成无缝相邻的地理围栏的方法的示意图。

图3示出本发明一个实施例的生成无缝相邻的地理围栏的效果展示图。

图4示出了本发明一个实施例的生成无缝相邻的地理围栏的装置的结构框图。

图5示出了本发明的另一个实施例的生成无缝相邻的地理围栏的设备的结构框图。

具体实施方式

下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。

图1示出本发明一个实施例的生成无缝相邻的地理围栏的方法的流程图。如图1所示,该方法主要包括:

步骤100,将所有兴趣点区域形成兴趣点区集合。

在一个组织内部,如果有多个地理围栏来分割业务范围,那么为了便于管理和区分,组织往往要求各个地位围栏之间以道路为边界,之所以以道路为边界,是因为很多业务的开展是在道路两侧的小区、写字楼这样的静态区域,而不是在道路这样的行车动态区域,因此可以将道路作为兴趣点区的边界。

具体地,需要绘制地理围栏的组织单位对自己的业务区域是熟悉的,一般情况下,经过长期的业务发展,对本区域的兴趣点(Point of Interest,POI)或者说经纬度的数据集有一定的积累,形成自身的经纬度数据库。每个POI包含四方面信息,名称、类别、经度纬度、附近的酒店饭店商铺等信息,可以称之为“导航地图信息”,导航地图数据是整个导航产业的基石。

把所有兴趣点区域作为兴趣点区集合,该集合有n个元素,可以表示为{A1,A2,…,An},其中的任意一个元素Ai,可以表示为某一个区域兴趣点的集合,该元素中含多个兴趣点。

步骤102,在兴趣点区集合选择当前兴趣点区,基于兴趣点和道路数据获取最小面积的当前兴趣点区的地理围栏。

在一个实施例中,步骤102具体可以包括以下步骤:

步骤1021,遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆。

在一个实施例中,对当前兴趣点区中的每个兴趣点,逐步扩大半径画圆,依次判断目标圆是否能覆盖当前兴趣点区的所有兴趣点;其中,可以设定圆的初始半径为R,并且以X为增长率画圆逐步扩大半径画圆,如分别以半径R、RX1、RX2…RXk画圆,并依次判断半径为R、RX、RX2、……RXk目标圆是否能覆盖当前兴趣点区的所有兴趣点。

当设置目标圆的初始半径为R,如果半径为R的目标圆能覆盖当前兴趣点区的所有兴趣点,则在目标圆内,根据地图内置的道路数据寻找能够覆盖当前兴趣点区所有兴趣点的闭合道路,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合;若在半径为R的目标圆内未能找到覆盖当前兴趣点区的所有兴趣点的闭合道路,则逐步扩大半径,直到在半径RX、RX2或半径更大的目标圆内能够找到覆盖当前兴趣点区所有兴趣点的闭合道路为止,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合。

在另一个实施例中,确定能够覆盖所有兴趣点的目标圆时,可以逐步扩大半径以半径为RXk画圆,依次增大k值判断半径为RXk的圆是否能覆盖兴趣点集合内的所有兴趣点,对于其中任意一个目标圆,例如,半径为RXk的目标圆能覆盖当前兴趣点区的所有兴趣点,则在目标圆内,根据地图内置的道路数据寻找能够覆盖当前兴趣点区所有兴趣点的闭合道路,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合,X大于1,k为自然数;若在半径为RXk的目标圆内未能找到覆盖当前兴趣点区的所有兴趣点的闭合道路,则逐步扩大半径,直到在半径RXk+1或半径更大的目标圆内能够找到覆盖当前兴趣点区所有兴趣点的闭合道路为止,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合。

在一个实施例中,还可以以正比例方式逐渐增大半径画圆。

在一个实施例中,可以采用距离比较方法判断目标圆能否覆盖集合中的所有兴趣点,由于圆心的经纬度已知,可以计算各个兴趣点到当前圆心的距离,例如采用d=sqrt((xi-x0)2+(yi-y0)2)计算各个兴趣点到圆心的距离,计算出来距离d之后,与当前的目标圆的已知半径R相比较,若各个兴趣点到圆心的距离d均小于等于已知半径R,则认为该目标圆可以覆盖集合A的所有的兴趣点,如果有某个兴趣点到圆心的距离d均大于已知半径R,则认为当前的圆不能覆盖所有兴趣点,则需要继续扩大半径画圆。当然,判断目标圆能否覆盖所有的兴趣点也可以采用地图领域是通用算法,例如可以调用图形开发领域一些API,即可实现上述判断的效果。

步骤1022,在目标圆内,获取能够首尾相连的闭合道路。

在一个实施例中,获取能够首尾相连的闭合道路的过程具体地可以采用以下流程,(1)遍历地图中所有道路,将所有起始点和结束点都在目标圆内的道路归入集合M{m1,m2,..,mn};(2)任选一个mi开始,寻找和mi有公共端点的道路mj,如果有多条则形成多个分支继续寻找;(3)对于mj,继续上述过程,直到寻找到能和mi闭合的道路为止。这样,可以找到一个或者多个封闭道路。具体可以选择递归循环的方式遍历完所有道路数据,确定能够封闭的所有兴趣点的闭合道路。

步骤1023,剔除不能覆盖当前兴趣点区所有兴趣点的闭合道路,将剔除完后留下的闭合道路组成当前兴趣点区的有效闭合道路集合。

步骤1024,在有效闭合道路集合中,计算各闭合道路的面积,选取面积最小的闭合道路作为当前兴趣点区的地理围栏。

步骤1025,将当前兴趣点区的地理围栏绘制到地图上。

步骤104,确定当前兴趣点区的临近兴趣点区。

在一个实施例中,可以在当前兴趣点区中任意取一点画半径为R’Yk的圆;如果圆内没有其他兴趣点区的兴趣点,则在继续扩大半径在半径为R’Yk+1的圆或半径更大的圆中寻找有无其他兴趣点区的兴趣点,依次扩大半径直到找到临近兴趣点区,若圆内有多个兴趣点区,则 任选其中一个兴趣点区作为临近兴趣点区,其中,k为自然数,Y大于1。

步骤106,基于兴趣点和道路数据获取临近兴趣点区的多个地理围栏,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏。

在一个实施例中,若临近兴趣点区有多个与当前兴趣点区有公共边的地理围栏时,选取与当前兴趣点区有公共边的且面积最小的地理围栏作为临近兴趣点区的地理围栏,计算地理围栏面积的方法可以是格点方法或调用地图的面积计算API接口直接计算。

步骤108,将地理围栏绘制到地图上。

在一个实施例中,获取作为各个地理围栏的闭合道路的经纬度信息集合;将闭合道路的经纬度用打点的方法呈现在地图上,完成地理围栏的自动化绘制。

本发明实施例提供的生成无缝地理围栏的方法,在多个兴趣点区组成的兴趣点区集合中,针对当前确定的兴趣点区域可以采用兴趣点和道路数据的方法生成最小面积地理围栏,然后逐步寻找相邻区域,在绘制相邻兴趣点区域的地理围栏时,优选和之前已经确定的地理围栏有公共边界的地理围栏作为相邻兴趣点区域的地理围栏,以此类推,可以确定地图上所有目标兴趣点区域的地理围栏,能一次性绘制完成且无缝相邻,可大大减少手工绘制地理围栏的时间,提高工作效率。

现有技术手工绘制相邻地理围栏时,平均每人每天绘制2个相邻围栏,相对于现有技术中的地理围栏绘制方法,本发明实施例提供的无缝地理围栏绘制方法中,每人每天平均可以绘制25个相邻围栏,绘制工作耗时较少,且自动完成,时间主要花费在区域兴趣点的数据库的编制上面。且本发明实施例提供的地理围栏精度高,相邻地理围栏之间无缝连接,相邻的兴趣点区之间没有重叠,大大减少人工绘制地理围栏的工作量,能够实现相邻地理围栏无缝的连接,可以应用于人员定位服务或车辆定位服务产品中,为用户提供高效准确的地理位置服务。

图2示出本发明一个实施例的生成无缝相邻的地理围栏的方法的示 意图。如图2所示,首先,把所有兴趣点区域作为一个集合A,该集合A中有n个元素,对于其中的任意一个元素Ai,可以表示为某一个区域兴趣点的集合,含多个兴趣点。

任意选择兴趣点区集合A中的任意一个兴趣点区,根据最小面积法确定当前的兴趣点区Ai的地理围栏,并绘制当前兴趣点区Ai的地理围栏。参照图2所示,图2中的当前兴趣点区可以获得闭合道路1、闭合道路2、闭合道路3等多个闭合道路。

在一个实施例中,确定当前兴趣点区Ai的地理围栏的过程如下:(1)依次遍历兴趣点区Ai中的所有兴趣点。(2)对每个点,以半径R画圆,如果这个圆覆盖了所有的兴趣点,则根据地图内置的道路数据自动寻找到闭合的道路,如果这个闭合的道路覆盖了所有的兴趣点,则把它归入有效闭合道路集合B。如果这样的闭合道路不止一条,只要符合上述条件,则同样归入集合B。(3)如果半径R的圆无法覆盖所有兴趣点,则将半径扩大到R*X,X可调且X>1;如果半径R的圆无法覆盖当前兴趣点区的所有兴趣点,则扩大半径到R*X*X,以此类推直到符合条件(2),确定能够覆盖所有兴趣点的目标圆为止。(4)遍历完集合A中的所有点后,处理集合B。(5)遍历集合B中的每个封闭道路,逐个计算面积,选取面积最小的封闭道路作为兴趣点区Ai的地理围栏。(6)将该封闭道路经纬度用打点的方法呈现在地图上,完成地理围栏的自动化绘制。

确定当前兴趣点区Ai的邻近区域Aj。具体地,在Ai中任意取一点画半径为R*X的圆,如果没有Aj的点,则半径扩大为R*X*X的圆直到找到确定相邻兴趣点区Aj,如果在某个半径下有多个相邻的兴趣点区,则可以任选其中一个兴趣点区作为相邻兴趣点区Aj

针对相邻兴趣点区Aj,按照上述绘制当前兴趣点区Ai的地理围栏的方法确定能够覆盖相邻兴趣点区域Aj的所有闭合道路,并将寻找到的闭合道路放入有效闭合道路集合Bj,在有效闭合道路集合Bj中选取和Ai的最终地理围栏有公共边的闭合道路作为相邻兴趣点区Aj的地理围栏,如果能确定多个与当前兴趣点区Ai有公共边的闭合道路,则计 算各个闭合道路的封闭区域的面积,选取封闭区域面积最小的闭合道路作为临近兴趣点区的地理围栏。参照图2所示,图2示出的临近区域Aj的最终闭合道路4和当前兴趣点区Ai的闭合道路1有无缝的相邻边ab边,且在具有公共边的所有封闭道路中,临近区域Aj的最终闭合道路4的封闭区域的最小时,则确定封闭道路4为临近区域Aj的地理围栏。

在确定了临近区域Aj的地理围栏后,将临近区域Aj作为当前的兴趣点区,并寻找当前兴趣点区Aj的临近地理围栏,针对当前兴趣点区Aj,重复上述寻找相邻兴趣点区域的方法,获取当前兴趣点区Aj的临近兴趣点区域Ak,确定临近兴趣点区Ak的所有的闭合道路集合Bk,在选取临近兴趣点区Ak的地理围栏时,在闭合道路集合Bk中优先考虑和Aj的具有公共边的闭合道路,其次考虑和Ai的有公共边的闭合道路,若有多个具有公共边的闭合道路,则考虑各个闭合道路的面积,根据最小面积原理,获取当前兴趣点区Aj的相邻兴趣点区Ak的地理围栏,选取封闭区域面积最小的闭合道路作为相邻兴趣点区Ak的地理围栏。

又例如,在除去Ai、Aj、Ak的剩余的其他兴趣点区中,确定兴趣点区Ak的相邻兴趣点区Am,选取闭合道路时,首先考虑Am和Ak的公共边,再考虑Am与Aj的公共边,然后再考虑Am与Ai的公共边,最后考虑Am含有公共边的闭合道路的最小面积。

依次类推,直到遍历完兴趣点区集合A中的所有元素{A1,A2,…,An},依次执行上述遍历处理过程,当遍历结束时,即可完成被多个地理围栏分割且无缝衔接一张地图,用于导航或其他服务应用中。

如图3所示,图3示出本发明一个实施例的生成无缝相邻的地理围栏的效果展示图,两个兴趣点区Ai、Aj各包括多个POI点,根据本发明实施例提供的方法可以绘制出两个兴趣点区Ai、Aj的地理围栏,这两个地理围栏有2条边无缝相邻。

图4示出了本发明一个实施例的生成无缝相邻的地理围栏的装置的结构框图,如图4所示,该装置包括:集合预处理模块401,用于将所有兴趣点区域形成兴趣点区集合;首围栏生成模块402,用于在兴趣点区集合选择当前兴趣点区,基于兴趣点和道路数据获取最小面积的当前 兴趣点区的地理围栏;临近区域查询模块403,用于确定当前兴趣点区的临近兴趣点区;临近围栏生成模块404,用于基于兴趣点和道路数据获取临近兴趣点区的多个地理围栏,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏;边界绘制模块405,用于将地理围栏绘制到地图上。

在一个实施例中,首围栏生成模块402包括:兴趣点遍历单元4021,用于遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆;闭合道路计算单元4022,用于在目标圆内,获取能够首尾相连的闭合道路;闭合道路剔除单元4023,用于剔除不能覆盖当前兴趣点区所有兴趣点的闭合道路,将剔除完后留下的闭合道路组成当前兴趣点区的有效闭合道路集合;目标边界处理单元4024,用于在有效闭合道路集合中,计算各闭合道路的面积,选取面积最小的闭合道路作为当前兴趣点区的地理围栏;围栏绘制单元4025,用于将当前兴趣点区的地理围栏绘制到地图上。

在一个实施例中,兴趣点遍历单元4021所用于对当前兴趣点区中的每个兴趣点,逐步扩大半径画圆,依次判断目标圆是否能覆盖当前兴趣点区的所有兴趣点;其中,设置目标圆的初始半径为R,如果半径为R的目标圆能覆盖当前兴趣点区的所有兴趣点,则在目标圆内,根据地图内置的道路数据寻找能够覆盖当前兴趣点区所有兴趣点的闭合道路,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合;若在半径为R的目标圆内未能找到覆盖当前兴趣点区的所有兴趣点的闭合道路,则逐步扩大半径,直到在半径RX、RX2或半径更大的目标圆内能够找到覆盖当前兴趣点区所有兴趣点的闭合道路为止,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合。

在一个实施例中,闭合道路计算单元4022还用于遍历地图中所有道路,将所有起始点和结束点都在目标圆内的道路归入集合M{m1,m2,..,mn};任选一个mi开始,寻找和mi有公共端点的道路mj,如果有多条则形成多个分支继续寻找;对于mj,继续上述过程,直到寻找到能和mi闭合的道路为止。

在一个实施例中,临近围栏生成模块404还用于若临近兴趣点区有多个与当前兴趣点区有公共边的地理围栏时,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏。

在一个实施例中,临近区域查询模块403用于在当前兴趣点区中任意取一点画半径为R’Yk的圆;如果圆内没有其他兴趣点区的兴趣点,则在继续扩大半径在半径为R’Yk+1的圆或半径更大的圆中寻找有无其他兴趣点区的兴趣点,依次扩大半径直到找到临近兴趣点区,若圆内有多个兴趣点区,则任选其中一个兴趣点区作为临近兴趣点区,其中,k为自然数,Y大于1。

图5示出了本发明的另一个实施例的生成无缝相邻的地理围栏的设备的结构框图。生成无缝相邻的地理围栏的设备500可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机、移动终端或其他终端等。本发明具体实施例并不对计算节点的具体实现做限定。

生成无缝相邻的地理围栏的设备500包括处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和总线504。其中,处理器501、通信接口502、以及存储器503通过总线504完成相互间的通信。

通信接口502用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。

处理器501用于执行程序。处理器501可以是一个中央处理器CPU,或者可以是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器503用于存放文件。存储器503可以包含高速RAM存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器503也可以是存储器阵列。存储器503还可能被分块,并且块可按一定的规则组合成虚拟卷。

在一种实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:将所有兴趣点区域形成兴趣点区集合;在兴趣 点区集合选择当前兴趣点区,基于兴趣点和道路数据获取最小面积的当前兴趣点区的地理围栏;确定当前兴趣点区的临近兴趣点区;基于兴趣点和道路数据获取临近兴趣点区的多个地理围栏,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏;将地理围栏绘制到地图上。

在一种实施方式中,在兴趣点区集合选择当前兴趣点区,基于兴趣点和道路数据获取最小面积的当前兴趣点区的地理围栏,包括:遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆;在目标圆内获取能够首尾相连的闭合道路;剔除不能覆盖当前兴趣点区所有兴趣点的闭合道路,将剔除完后留下的闭合道路组成当前兴趣点区的有效闭合道路集合;在有效闭合道路集合中,计算各闭合道路的面积,选取面积最小的闭合道路作为当前兴趣点区的地理围栏;将当前兴趣点区的地理围栏绘制到地图上。

在一种实施方式中,遍历当前兴趣点区的各兴趣点,确定能够覆盖当前兴趣点区所有兴趣点的目标圆,包括:对当前兴趣点区中的每个兴趣点,逐步扩大半径画圆,依次判断目标圆是否能覆盖当前兴趣点区的所有兴趣点;其中,设置目标圆的初始半径为R,如果半径为R的目标圆能覆盖当前兴趣点区的所有兴趣点,则在目标圆内,根据地图内置的道路数据寻找能够覆盖当前兴趣点区所有兴趣点的闭合道路,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合;若在半径为RX的目标圆内未能找到覆盖当前兴趣点区的所有兴趣点的闭合道路,则逐步扩大半径,直到在半径R、RX2或半径更大的目标圆内能够找到覆盖当前兴趣点区所有兴趣点的闭合道路为止,并将寻找到的闭合道路归入当前兴趣点区的有效闭合道路集合。

在一种实施方式中,在目标圆内,获取能够首尾相连的闭合道路,包括:遍历地图中所有道路,将所有起始点和结束点都在目标圆内的道路归入集合M{m1,m2,..,mn};任选一个mi开始,寻找和mi有公共端点的道路mj,如果有多条则形成多个分支继续寻找;对于mj,继续上述过程,直到寻找到能和mi闭合的道路为止,最后得到1个或者多个闭 合道路。

在一种实施方式中,确定当前兴趣点区的临近兴趣点区包括:在当前兴趣点区中任意取一点画半径为R’Yk的圆;如果圆内没有其他兴趣点区的兴趣点,则在继续扩大半径在半径为R’Yk+1的圆或半径更大的圆中寻找有无其他兴趣点区的兴趣点,依次扩大半径直到找到临近兴趣点区,若圆内有多个兴趣点区,则任选其中一个兴趣点区作为临近兴趣点区,其中,k为自然数,Y大于1。

在一种实施方式中,方法还包括:若临近兴趣点区有多个与当前兴趣点区有公共边的地理围栏时,选取与当前兴趣点区有公共边的地理围栏作为临近兴趣点区的地理围栏。

本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

如果以计算机软件的形式来实现功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适 于特定用途的带有各种修改的各种实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1