片区生成方法、装置、设备及存储介质与流程

文档序号:22324324发布日期:2020-09-25 17:51阅读:107来源:国知局
片区生成方法、装置、设备及存储介质与流程

本发明涉及人工智能领域,尤其涉及一种片区生成方法、装置、设备及存储介质。



背景技术:

作业片区划分是为了明确区域责任和工作范围进行的一项工作。作业片区划分能够实现责任的明晰化,高效的进行服务和工作。例如在销售领域,将一个城市划分为不同的片区,一个部门或小组负责一个片区的销售,依次明确各部门或小组的责任,部门与部门或小组与小组之间不存在纠纷,从而提高工作效率。

本发明创造的发明人在研究中发现,目前常用的作业片区划分方法,主要是通过人工选取的方式。首先导入待划分片区的地图,然后在地图上人为添加片区的边界端点,然后将各端点进行连线,从而构成一个片区。然而这种片区划分方式,常常会由于划分不清晰,导致片区作业及管理不便。首先手工操作常常存在点错的情况,一旦出错,就需要重新划分,造成不必要的时间浪费。其次,不同区域,可能存在居民密集度等条件存在差异,因此可能划分时面积的大小不一致的情况,通过人工进行调整,会存在较大误差。此外,人为划分片区时,可能会误将某条道路或某个小区拆分成不同的片区,给将来员工在片区作业带来不便。



技术实现要素:

本发明的主要目的在于解决目前通过人工进行片区划分得到的片区存在划分不清晰的问题。

本发明第一方面提供了一种片区生成方法,包括:

获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括所述区域内路网和建筑群的边界数据;

根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出。

可选的,在本发明第一方面的第一种实现方式中,所述片区形状及所述片区形状在所述地图数据中的位置信息存储于区块链中,所述地图数据还包括现有片区信息,所述根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形包括:

根据预置接壤规则,判断所述现有片区信息对应的现有片区是否为所述片区的接壤片区;

若所述现有片区信息对应的现有片区为所述片区的接壤片区,则生成所述接壤片区的端点和所述中心点的点集,并生成对应的第一凸多边形。

可选的,在本发明第一方面的第二种实现方式中,所述若所述现有片区信息对应的现有片区为所述片区的接壤片区,则生成所述接壤片区的端点和所述中心点的点集,并生成对应的第一凸多边形包括:

若所述现有片区信息对应的现有片区为所述片区的接壤片区,则采集所述接壤片区的端点,并根据预置点集生成规则,生成所述片区对应的点集;

将所述端点逐一添加至所述点集中,并基于预置凸包算法,生成对应的第三凸多边形;

计算所述第三凸多边形的多边形面积数值,并将所述片区面积数值范围内所述多边形面积数值最大的第三凸多边形作为第一凸多边形。

可选的,在本发明第一方面的第三种实现方式中,所述点集生成规则包括:

若所述接壤片区的数量为1,则任意确定两个所述端点和所述中心点为所述点集;

若所述接壤片区的数量为2,则任意确定所述接壤片区的三个端点和所述中心点为所述点集;

若所述接壤片区的数量大于等于3,则任意确定来源于各个所述接壤片区的所述端点和所述中心点为所述点集。

可选的,在本发明第一方面的第四种实现方式中,在所述计算所述第三凸多边形的多边形面积数值,并将所述片区面积数值范围内所述多边形面积数值最大的第三凸多边形作为第一凸多边形之前,还包括:

判断所述第三凸多边形与所述接壤片区是否存在交集;

若是,则删除所述第三凸多边形;

若否,则保留所述第三凸多边形。

可选的,在本发明第一方面的第五种实现方式中,所述若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则将与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形包括:

若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并确定所述待调整边与所述边界的两个交点为第一原始数据点和第二原始数据点;

根据所述第一原始数据点、所述第二原始数据点和所述边界对应的位置坐标,确定所述第一原始数据点和所述第二原始数据点对应的第一控制点和第二控制点;

根据三阶贝塞尔曲线公式,对所述待调整边进行调整,以使所述待调整边与所述边界重合,其中,所述三阶贝塞尔曲线的特征描述为:

b(t)=p0(1-t)3+3p2t(1-t)2+3p3t2(1-t)+p1t3

其中,p0表示所述第一数据点,p1表示所述第二数据点,p2表示所述第一控制点,p3表示所述第二控制点,t表示时间。

可选的,在本发明第一方面的第六种实现方式中,所述地图数据包括作业区域坐标,在所述确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出之后,还包括:

获取预置作业面积数值范围;

根据所述作业区域坐标,计算所述片区的内作业区域对应的作业面积数值;

判断所述作业面积数值是否在所述作业面积数值范围内;

若是,则确定所述片区形状和所述位置信息为作业片区形状和作业位置信息。

本发明第二方面提供了一种片区生成装置,包括:

获取模块,用于获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括所述区域内路网和建筑群的边界数据;

生成模块,用于根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

判断模块,用于根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

调整模块,用于若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

输出模块,用于确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出。

可选的,在本发明第二方面的第一种实现方式中,所述片区形状及所述片区形状在所述地图数据中的位置信息存储于区块链中,所述地图数据还包括现有片区信息,所述生成模块包括:

判断单元,用于根据预置接壤规则,判断所述现有片区信息对应的现有片区是否为所述片区的接壤片区;

生成单元,用于若所述现有片区信息对应的现有片区为所述片区的接壤片区,则生成所述接壤片区的端点和所述中心点的点集,并生成对应的第一凸多边形。

可选的,在本发明第二方面的第二种实现方式中,所述生成单元包括:

点集子单元,用于若所述现有片区信息对应的现有片区为所述片区的接壤片区,则采集所述接壤片区的端点,并根据预置点集生成规则,生成所述片区对应的点集;

凸多边形子单元,用于将所述端点逐一添加至所述点集中,并基于预置凸包算法,生成对应的第三凸多边形;

确定子单元,用于计算所述第三凸多边形的多边形面积数值,并将所述片区面积数值范围内所述多边形面积数值最大的第三凸多边形作为第一凸多边形。

可选的,在本发明第二方面的第三种实现方式中,所述点集生成规则包括:

若所述接壤片区的数量为1,则任意确定两个所述端点和所述中心点为所述点集;

若所述接壤片区的数量为2,则任意确定所述接壤片区的三个端点和所述中心点为所述点集;

若所述接壤片区的数量大于等于3,则任意确定来源于各个所述接壤片区的所述端点和所述中心点为所述点集

可选的,在本发明第二方面的第四种实现方式中,所述确定子单元之前,还连接着判断子单元,所述判断子单元具体用于:

判断所述第三凸多边形与所述接壤片区是否存在交集;

若是,则删除所述第三凸多边形;

若否,则保留所述第三凸多边形。

可选的,在本发明第二方面的第五种实现方式中,所述调整模块具体用于:

若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并确定所述待调整边与所述边界的两个交点为第一原始数据点和第二原始数据点;

根据所述第一原始数据点、所述第二原始数据点和所述边界对应的位置坐标,确定所述第一原始数据点和所述第二原始数据点对应的第一控制点和第二控制点;

根据三阶贝塞尔曲线公式,对所述待调整边进行调整,以使所述待调整边与所述边界重合,其中,所述三阶贝塞尔曲线的特征描述为:

b(t)=p0(1-t)3+3p2t(1-t)2+3p3t2(1-t)+p1t3

其中,p0表示所述第一数据点,p1表示所述第二数据点,p2表示所述第一控制点,p3表示所述第二控制点,t表示时间。

可选的,在本发明第二方面的第六种实现方式中,所述地图数据包括作业区域坐标,所述片区生成装置还包括作业模块,所述作业模块具体用于:

获取预置作业面积数值范围;

根据所述作业区域坐标,计算所述片区的内作业区域对应的作业面积数值;

判断所述作业面积数值是否在所述作业面积数值范围内;

若是,则确定所述片区形状和所述位置信息为作业片区形状和作业位置信息。

本发明第三方面提供了一种片区生成设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述片区生成设备执行上述的片区生成方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的片区生成方法。

本发明首先获取待进行片区生成的区域的地图数据,待生成片区的片区面积数值范围和中心点,其中地图数据中包括路网和建筑群的边界数据。然后根据片区面积数值范围和中心点,生成满足面积数值范围,且包含中心点的凸多边形,判断该凸多边形是否与边界数据对应的边界存在交叉,若存在交叉,则对有交叉的那条边进行调整,从而完成对区域的划分。通过本方案,能够将生成的第二凸多边形和实际的边界数据进行拟合,且自动完成区域画风,从而提高了片区界限的清晰度和片区生成效率。此外,本发明还提供了一种当存在接壤片区的情况下,片区的生成方法,可应用于业务扩展或某些需要重新划分的老片区。在对凸多边形的边进行调整方面,采用基于三阶贝塞尔曲线公式的调整方法,三阶贝塞尔曲线是一种简单快速的调整方法,因此能够降低调整凸多边形边的难度。此外,在完成片区划分后,还可通过该片区中真正能够作业的面积来评判该片区划分的效果。

附图说明

图1为本发明实施例中片区生成方法的第一个实施例示意图;

图2为本发明实施例中片区生成方法的第二个实施例示意图;

图3为本发明实施例中片区生成方法的第三个实施例示意图;

图4为本发明实施例中片区生成方法的第四个实施例示意图;

图5为本发明实施例中片区生成装置的第一个实施例示意图;

图6为本发明实施例中片区生成装置的第二个实施例示意图;

图7为本发明实施例中片区生成设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种片区生成方法、装置、设备及存储介质,首先获取待进行片区划分的区域的地图数据,待生成片区的片区面积数值范围和中心点。首先根据片区面积数值范围和中心点,生成凸多边形,然后判断该凸多边形是否与地图数据中的边界数据对应的边界存在交叉,若存在交叉,则对有交叉的那条边进行调整,最后将调整后的凸多边形作为片区形状,保存并输出该片区形状和对应在地图数据上的位置信息。通过本方案,可自动完成片区生成,提高了片区生成效率。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中片区生成方法的一个实施例包括:

101、获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括所述区域内路网和建筑群的边界数据;

可以理解的是,本发明的执行主体可以为片区生成装置,还可以是某插件或客户端、服务器,具体此处不做限定。本发明实施例以应用于arcgis软件的插件为执行主体为例进行说明。

openstreetmap(osm)是一个开源的地图平台。在该平台包含了丰富的地理数据。通过osm,用户可获取待进行片区划分的区域的地图矢量数据。采用的方法包括从osm上直接下载,通过qgis或插件进行下载等等。

下载的a市地图数据包括a市的标志建筑,地理坐标,路网,政府机构、小区或村落边界数据等等。在arcgis导入地图数据后,arcgis软件上显示甲市的包含上述数据的地图。

用户事先确定好待生成的片区的面积数值范围及中心点。例如计划需要划分得到的片区的中心点为甲市乙区的图书馆后,点击地图上的图书馆图标或者直接输入图书馆的地理位置坐标,以确定图书馆为待生成的中心点。

同时,用户还需要输入片区的面积数值范围。输入面积数值范围有多种方式,现仅以一种进行描述。输入一个面积中间值,然后输入上下波动的范围。如数值为100,变动范围的百分比为10%,则面积数值范围为90-110。

102、根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

输入了中心点和片区面积数值范围后,可自动生成以该中心点为中心的凸多边形。

默认情况下,该凸多边形为三角形,但用户也可自行设置凸多边形的端点数量。若为四个端点,则凸多边形为四边形。通过简单的多边形面积公式,即可计算得到该凸多边形的形状,然后根据中心点的位置,生成正凸多边形。

103、根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

在进行片区划分的过程中,还需要考虑到建筑群和路网的边界。生成的凸多边形的边界可能会直接穿过小区,使得同一个小区被分为两个片区,不利于工作人员开展工作。在进行车辆出险范围的划分时,一条道路可能会被拆分为两个片区,这种情况也非常不利于人员进行业务开展。

因此,生成了第一凸多边形后,还需要判断是否存在路网或建筑群被拆分为不同的片区。本方案采用第一凸多边形的边与这些边界数据对应的边界是否产生交叉来判断。

104、若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

若两者存在交叉,则根据路网数据和建筑群这种活动区域的边界数据,对该凸多边形进行微调,以使同一条道路、同一小区等位于同一片区中。

确定第一凸多边形中与建筑群和路网的边界曲线存在交点的边为待调整边,而两个交点之间的线段即为需要进行调整的线段。

将第一凸多边形的边和边界的两个交点作为第一原始数据点和第二原始数据点,并求得两个控制点。常用的求控制点的方法有两种。一种是利用最小二乘拟合方法;另一种是反求贝塞尔曲线控制点的数值求解曲线的控制点。通过三阶贝塞尔曲线公式对待调整边进行调整,得到第二凸多边形。

105、确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出。

调整后得到的第二凸多边形,即为待生成的片区形状。

将片区形状和片区形状所对应的位置信息,如该片区的每一个端点的位置坐标,边的位置坐标等等,保存并输出,从而完成了对该区域的划分。

本发明实施例中先获取待进行片区生成的区域的地图数据,待生成片区的片区面积数值范围和中心点,然后根据片区面积数值范围和中心点,生成满足面积数值范围,且包含中心点的凸多边形。若凸多边形的边与地图数据中边界数据对应的边界存在交叉,则对有交叉的那条边进行调整,从而完成对区域的划分。通过本方案,能够将生成的凸多边形和实际的边界数据进行拟合,且自动完成片区生成,因此提高了片区界限的清晰度和片区生成效率。

请参阅图2,本发明实施例中片区生成方法的第二个实施例包括:

201、获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括所述区域内路网和建筑群的边界数据以及现有片区信息;

在本实施例中,待进行划分的区域已经存在划分好的现存片区。因此,获取包含现存片区信息的地图数据后,将其导入arcgis中。

202、根据预置接壤规则,判断所述现有片区信息对应的现有片区是否为所述片区的接壤片区;

若现存片区与待生成的片区不存在交叉的可能性,则现存片区不是待生成片区的接壤片区。若存在交叉的可能性,则现存片区为待生成片区的接壤片区。

判断两者是否可能交叉的可能性,可通过多种方式进行判断。将这些方法写为接壤规则,用于判断现有片区是否为待生成的片区的接壤片区。

本实施例优选的一种判断方式为,将中心点与现存片区上距离中心点最近的两个端点进行连接,得到一个三角形。一般获取的地图上,每个点都以地理坐标作标识,因此需先将他们对应的地理坐标转换为投影坐标。然后通过这三个点的投影坐标,计算这个三角形的面积,若该三角形面积大于预先设好的片区面积数值范围,则说明待生成的片区与现存片区不存在交集,因此现存片区并非接壤片区。此外,还可通过中心点到现存片区的距离等等方式进行判断,在此不进行一一赘述。

203、若所述现有片区信息对应的现有片区是为所述片区的接壤片区,则采集所述接壤片区的端点,并根据预置点集生成规则,生成所述片区对应的点集;

采集接壤片区上的所有端点。若接壤片区的数量为1,则任意确定该接壤片区上的两个端点和中心点为点集;若接壤片区的数量为2,则存在两个接壤片区,一个为a片区,一个为b片区,端点分别为a1,a2,a3和b1,b2,b3。任意确定两个片区的三个端点和中心点为点集,如a1,b2和中心点。

若所述接壤片区的数量大于等于3,如数量为四,分别为a片区,b片区,,c片区和d片区。这四个片区的端点分别为a1~3、b1~3、c1~3和d1~3。随机选取各个片区上各一端点,a1、b1、c2和d1,和中心点一起作为点集。

204、将所述端点逐一添加至所述点集中,并基于预置凸包算法,生成对应的第三凸多边形;

将这些接壤片区的所有端点逐一添加至点集中。其中,这些端点可与点集中已经存在的端点重合。

以存在接壤片区a片区,b片区,,c片区和d片区为例进行描述。这些接壤片区的端点分别为a1~3、b1~3、c1~3和d1~3,生成的点集中包括中心点,a1、b1、c2和d1。

基于凸包算法,将点集中的所有点进行点集排序,生成第三凸多边形。凸包算法的步骤为:先定义若点a在点b的逆时针方向,则点a大于点b,然后以中心点为逆时针旋转的中心,计算各个点之间的大小关系,以对点集中各点进行排序;以中心点为起点,依照大小顺序,对排好序的点集进行迭代,若逆时针方向经过凸包时,则点集中每个端点应该向左像旋转,当端点向右旋转,将该端点排除在外,通过此方式,将未排除的端点按照迭代顺序连线,最后生成的凸多边形为第三凸多边形。每增加一个端点,都会生成对应的第三凸多边形,最后得到多个第三凸多边形。

205、判断所述第三凸多边形与所述接壤片区是否存在交集;

由于生成的片区不能与其他接壤片区存在交叉,因此生成第三凸多边形之后需要判断其是否与接壤片区存在交集。

判断方法有很多,本实施例优选的方式是在该区域创建一个二维坐标系,将该区域上各个点的地理坐标转为换二维坐标。然后根据这个二维坐标系,将第三凸多边形和接壤片区的边以函数表示。最后判断两者函数对应的图像是否存在相交,若相交,则确定第三凸多边形和接壤片区存在交集。

206、若是,则将所述第三凸多边形删除;

若存在,则判定该第三凸多边形为不合格的凸多边形,将其删除。

207、若否,则保留所述第三凸多边形;

208、计算所述第三凸多边形的多边形面积数值,并将所述片区面积数值范围内所述多边形面积数值最大的第三凸多边形作为第一凸多边形;

计算所有第三凸多边形的多边形面积数值。计算方法很多方式,本实施例以常见两种进行描述。一种是将第三凸多边形拆分为不同大小的三角形。然后通过这些三角形的端点位置坐标,计算这些三角形的面积,最后将所有三角形的面积相加,得到第三凸多边形的面积。还可以通过将第三凸多边形的端点的位置坐标转换为二维坐标,然后通过每条边对应的函数,来计算对应的面积。

计算出多边形面积数值后,比较各个多边形面积数值的大小,确定在面积数值范围内多边形面积数值最大的第三凸多边形为第一凸多边形。

209、根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

210、若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

211、确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出,其中,所述片区形状及所述片区形状在所述地图数据中的位置信息存储于区块链中。

需要强调的是,为进一步保证上述片区形状及其在地图数据中的位置信息的私密和安全性,上述片区形状及其在地图数据中的位置信息还可以存储于一区块链的节点中。本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本发明实施例中,详细描述了当待生成的片区存在接壤片区的情况下片区的生成方法。主要采用凸包算法,将接壤片区的端点和中心点作为该算法的点集,并生成对应的第三凸多边形,然后对第三凸多边形进行调整,完成片区的生成。本方法可应用于业务扩展或某些需要重新划分的老片区。

请参阅图3,本发明实施例中片区生成方法的第三个实施例包括:

301、获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括所述区域内路网和建筑群的边界数据;

302、根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

303、根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

304、若述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并确定所述待调整边与所述边界的两个交点为第一原始数据点和第二原始数据点;

若第一凸多边形的边与边界存在交叉,则确定第一凸多边形与边界数据对应的边界存在交点的边为待调整边,而交点为第一原始数据点和第二原始数据点。

305、根据所述第一原始数据点、所述第二原始数据点和所述边界对应的位置坐标,确定所述第一原始数据点和所述第二原始数据点对应的第一控制点和第二控制点;

在已知需要得到的边界的位置坐标、第一原始数据点和第二原始数据点的情况下,需求得两个控制点,以对第一凸多边形进行调整。

本实施例采用的求控制点的方法有两种。一种是利用最小二乘拟合方法求解控制点;另一种是借助反求贝塞尔曲线控制点的数值方法求解曲线的控制点。

306、根据三阶贝塞尔曲线公式,对所述待调整边进行调整,以使所述待调整边与所述边界重合,其中,所述三阶贝塞尔曲线的特征描述为:

b(t)=p0(1-t)3+3p2t(1-t)2+3p3t2(1-t)+p1t3

其中,p0表示所述第一数据点,p1表示所述第二数据点,p2表示所述第一控制点,p3表示所述第二控制点,t表示时间。

贝塞尔曲线具有装配灵活,适应性强等特点,被广泛应用于各种绘图制图软件中。贝塞尔曲线是通过控制点定义的。求得控制点后,即可通过三阶贝塞尔曲线公式对凸多边形的边进行调整。

三阶贝塞尔曲线的公式为b(t)=p0(1-t)3+3p2t(1-t)2+3p3t2(1-t)+p1t3

其中,p0和p1代表凸多边形的边与边界曲线的交点,即第一数据点和第二数据点;p2和p3代表求得的控制点,t代表的是时间。

307、确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出。

在本实施例中,采用了三阶贝塞尔曲线调整第一凸多边形的边。通过贝塞尔曲线可简单地绘制两个数据点之间的曲线,从而使得调整后的第一凸多边形与边界数据对应的边界拟合,降低了调整的难度,同时提高了生成的片区的准确度和可用性,也给员工开展业务带来了便利。

请参阅图4,本发明实施例中片区生成方法的第四个实施例包括:

401、获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括作业区域坐标及所述区域内路网和建筑群的边界数据;

若用户对作业面积有需求。例如a片区与b片区的作业面积需要相同。那用户可在获取加入作业区域坐标的地图数据中。如一个作业区域为广场,则地图数据上包含该广场的位置坐标。

402、根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

403、根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

404、若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

405、确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出;

406、获取预置作业面积数值范围;

若用户对作业面积有需求。例如a片区与b片区的作业面积需要相同。那用户可预先输入作业面积的范围值。

407、根据所述地图数据中作业区域坐标,计算所述片区的内作业区域对应的作业面积数值;

在用户预先获取地图数据中,包含了作业区域的坐标,例如广场为作业区域,每一个广场都有自己的区域坐标。根据这个坐标信息,可计算生成的片区内,作业区域的作业面积数值。

408、判断所述作业面积数值是否在所述作业面积数值范围内;

计算出作业面积数值后,在页面上显示预置的作业面积数值范围和生成片区的作业面积数值,并对这两个数值进行大小比较。

409、若是,则确定所述片区形状和所述位置信息为作业片区形状和作业位置信息。

若生成片区的作业面积落在预置的作业面积数值范围内则该片区满足用户的需求,确定该片区形状和位置信息为作业片区形状和作业位置信息。

若作业面积数值不在作业面积数值范围内则将片区形状和位置信息作为不符合作业需求的错误数据。

在进行业务工作时,一个片区内的作业面积是一个重要信息。如某些建筑密集区域作业面积大,因此片区并不需要太大。因此在本实施例中,在片区生成后,还提供划分后的片区的作业面积数值的计算,用以评价该片区是否适合作为作业片区使用。

上面对本发明实施例中片区生成方法进行了描述,下面对本发明实施例中片区生成装置进行描述,请参阅图5,本发明实施例中片区生成装置第一个实施例包括:

获取模块501,用于获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括所述区域内路网和建筑群的边界数据;

生成模块502,用于根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

判断模块503,用于根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

调整模块504,用于若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

输出模块505,用于确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出。

本发明实施例中先获取待进行片区生成的区域的地图数据,待生成片区的片区面积数值范围和中心点,然后根据片区面积数值范围和中心点,生成凸多边形,然后判断该凸多边形是否与地图数据中边界数据对应的边界存在交叉,若存在交叉,则对有交叉的那条边进行调整,从而完成对区域的划分。通过本方案,能够将生成的第二凸多边形和实际的边界数据进行拟合,且自动完成片区生成,因此提高了片区界限的清晰度和片区生成效率。。

请参阅图6,本发明实施例中片区生成装置的第二个实施例包括:

获取模块601,用于获取待划分的区域的地图数据以及待生成的片区的面积数值范围和中心点,其中,所述地图数据包括现有片区信息、作业区域坐标,及所述区域内路网和建筑群的边界数据;

生成模块602,用于根据所述面积数值范围和所述中心点,生成所述片区对应的第一凸多边形;

判断模块603,用于根据所述边界数据,判断所述第一凸多边形的边是否与所述边界数据对应的边界存在交叉;

调整模块604,用于若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并对所述待调整边进行调整,以使所述待调整边与所述边界重合,得到第二凸多边形;

输出模块605,用于确定所述第二凸多边形为所述片区的片区形状,保存所述片区形状及所述片区形状在所述地图数据中的位置信息并输出。

其中,所述片区形状及所述片区形状在所述地图数据中的位置信息存储于区块链中,所述生成模块602包括:

判断单元6021,用于根据预置接壤规则,判断所述现有片区信息对应的现有片区是否为所述片区的接壤片区;

生成单元6022,用于若所述现有片区信息对应的现有片区为所述片区的接壤片区,则生成所述接壤片区的端点和所述中心点的点集,并生成对应的第一凸多边形。

可选的,所述生成单元包括:

点集子单元,用于若所述现有片区信息对应的现有片区为所述片区的接壤片区,则采集所述接壤片区的端点,并根据预置点集生成规则,生成所述片区对应的点集;

凸多边形子单元,用于将所述端点逐一添加至所述点集中,并基于预置凸包算法,生成对应的第三凸多边形;

确定子单元,用于计算所述第三凸多边形的多边形面积数值,并将所述片区面积数值范围内所述多边形面积数值最大的第三凸多边形作为第一凸多边形。

其中,所述点集生成规则包括:

若所述接壤片区的数量为1,则任意确定两个所述端点和所述中心点为所述点集;

若所述接壤片区的数量为2,则任意确定所述接壤片区的三个端点和所述中心点为所述点集;

若所述接壤片区的数量大于等于3,则任意确定来源于各个所述接壤片区的所述端点和所述中心点为所述点集。

可选的,所述确定子单元前连接判断子单元,所述判断子单元具体用于:

判断所述第三凸多边形与所述接壤片区是否存在交集;

若是,则删除所述第三凸多边形;

若否,则保留所述第三凸多边形。

可选的,所述调整模块具体用于:

若所述第一凸多边形的边与所述边界数据对应的边界存在交叉,则确定第一凸多边形中与所述边界存在交叉的边为待调整边,并确定所述待调整边与所述边界的两个交点为第一原始数据点和第二原始数据点;

根据所述第一原始数据点、所述第二原始数据点和所述边界对应的位置坐标,确定所述第一原始数据点和所述第二原始数据点对应的第一控制点和第二控制点;

根据三阶贝塞尔曲线公式,对所述待调整边进行调整,以使所述待调整边与所述边界重合,其中,所述三阶贝塞尔曲线的特征描述为:

b(t)=p0(1-t)3+3p2t(1-t)2+3p3t2(1-t)+p1t3

其中,p0表示所述第一数据点,p1表示所述第二数据点,p2表示所述第一控制点,p3表示所述第二控制点,t表示时间。

所述片区生成装置还包括作业模块606,所述作业模块606具体用于:

获取预置作业面积数值范围;

根据所述作业区域坐标,计算所述片区的内作业区域对应的作业面积数值;

判断所述作业面积数值是否在所述作业面积数值范围内;

若是,则确定所述片区形状和所述位置信息为作业片区形状和作业位置信息。

在上一个实施例的基础上,本发明还提供了一种当存在接壤片区的情况下,片区的生成方法,可应用于业务扩展或某些需要重新划分的老片区。在对凸多边形的边进行调整方面,采用基于三阶贝塞尔曲线公式的调整方法,三阶贝塞尔曲线是一种简单快速的调整方法,因此能够降低调整凸多边形边的难度。此外,在完成片区划分后,还可通过该片区中真正能够作业的面积来评判该片区划分的效果。

上面图5和图6从模块化功能实体的角度对本发明实施例中的片区生成装置进行详细描述,下面从硬件处理的角度对本发明实施例中片区生成设备进行详细描述。

图7是本发明实施例提供的一种片区生成设备的结构示意图,该片区生成设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对片区生成设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在片区生成设备700上执行存储介质730中的一系列指令操作。

基于片区生成设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图7示出的片区生成设备结构并不构成对基于片区生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述片区生成方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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