CN111340364A - 同城订单配送范围绘制方法及装置 - Google Patents
同城订单配送范围绘制方法及装置 Download PDFInfo
- Publication number
- CN111340364A CN111340364A CN202010119658.XA CN202010119658A CN111340364A CN 111340364 A CN111340364 A CN 111340364A CN 202010119658 A CN202010119658 A CN 202010119658A CN 111340364 A CN111340364 A CN 111340364A
- Authority
- CN
- China
- Prior art keywords
- delivery
- polygon
- distribution
- team
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了同城订单配送范围绘制方法及装置、电子设备、计算机存储介质,该方法在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域;判断任意两个配送团队的配送区域之间是否存在交叉;如果存在交叉,则修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。这样,每个发件地址对应最多一个的配送团队,由此可以根据每个发件地址将订单分配给所对应的配送团队,从而避免配送区域存在交叉时无法确定订单分配给哪个配送区域的问题,提高接单效率与配送时效;另一方面,智能自动分配订单的方式可以排除人为因素的干扰,避免一些配送团队对于其配送区域内的订单应接单而未接单的情况。
Description
技术领域
本申请涉及物流技术领域,尤其涉及同城订单配送范围绘制方法及装置。
背景技术
物流是物品从供应地向接收地的流动过程中,根据实际需要,将运输、储存、装卸、搬运、包装、流通加工、配送、信息处理等功能有机结合起来实现用户要求的过程。互联网的发展使得网络购物成为人们生活的一部分,例如外卖、跑腿、到家等配送上门的服务更是使人可以足不出户而享受到各种便利。
现有技术提供了一种线上配送方法及装置,将多个发件地址分别转换为经纬度坐标并判断各经纬度坐标是否满足聚类条件;如果是,则将满足条件的经纬度坐标对应的发件地址作为聚类中心并利用各聚类中心生成多边形配送区域;在监测到多边形配送区域中存在待配送订单时,根据待配送订单的发件地址判断待配送订单所属的聚类中心;判断待配送订单所属的聚类中心的预设范围内是否存在货物配送员,如果是,则将待配送订单分配给货物配送员。该方法不能解决配送区域存在交叉时的订单分配问题,某个订单的发件地址可能同时处于两个配送区域内,此时无法确定应该将该订单分配给哪个配送区域的业务员。
发明内容
本申请的目的在于提供同城订单配送范围绘制方法及装置、电子设备、计算机存储介质,通过地图边界绘制确定每个配送团队的配送区域,使任意两个配送团队的配送区域之间不存在交叉,在此基础上分配订单,能够解决现有技术下配送区域存在交叉时无法确定订单分配给哪个配送区域的问题。
本申请的目的采用以下技术方案实现:
第一方面,本申请提供了一种同城订单配送范围绘制方法,包括:
在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域;
选取任意两个配送团队记为第一配送团队、第二配送团队,将第一配送团队的配送区域记为第一多边形,将第二配送团队的配送区域记为第二多边形;
如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
本申请在地图上绘制边界线,通过边界线在地图上划分出多个配送团队的配送区域,任意两个配送团队的配送区域之间不存在交叉,使得每个地址对应最多一个的配送团队,由此可以根据每个地址将订单分配给所对应的配送团队,从而避免配送区域存在交叉时无法确定订单分配给哪个配送区域的问题,具体地,可以采用遍历选取的方式,判断任意两个配送团队的配送区域之间是否存在交叉,如果存在两个配送团队的配送区域之间存在交叉,则修改边界线,调整至少一个配送团队的配送区域,消除交叉情况。
可选地,所述如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉,包括:
如果所述第一多边形的所有顶点都在所述第二多边形外,所述第二多边形的所有顶点都在所述第一多边形外,且组成所述第一多边形的线段与组成所述第二多变性的线段不存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
所述如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉,包括:
如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,或者组成所述第一多边形的线段与组成所述第二多变性的线段存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
当第一多边形的所有顶点都不在第二多边形内,同时第二多边形的所有顶点都不在第一多边形内时,依然存在两个多边形有交叉的情况,导致上述判断结果不够准确,因此可以加上两个多边形的线段是否存在交点的判断条件,同时满足这三个条件时,判断两个多边形之间不存在交叉。
可选地,判断点在多边形内或者多边形外的方法包括:
以所述点为起点,做一条射线;
如果所述射线与所述多边形的交点数量是奇数,则判断所述点在所述多边形内;
如果所述射线与所述多边形的交点数量是偶数或者0,则判断所述点在所述多边形外。
这样,利用点射线法判断点与多边形之间的位置关系,当以所述点为起点的射线与多边形的交点数量是奇数时判断点在多边形内,是偶数或者0则在多边形外。
可选地,还包括:
修改所述边界线,调整至少一个配送团队的配送区域。
在实际应用中,配送团队的配送区域可能发生变化,如果配送团队后续扩大规模、支持更大的配送区域,或者缩小规模、减小所支持的配送区域,则可以通过修改边界线的方式调整该团队的配送区域。
可选地,还包括:
响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队。
当前同城配送订单主要依靠配送员人工判断配送距离是否合适进行接单配送,该方法效率较低且容易发生无人接单的情况。这样在用户终端下单后,从订单中获取发件地址,匹配出与该发件地址相应的配送区域,将订单分配给该配送区域的配送团队,可以提高接单效率与配送时效;另一方面,智能自动分配订单的方式可以排除人为因素的干扰,避免一些配送团队对于其配送区域内的订单应接单而未接单的情况。
可选地,还包括:
获取每个配送团队的配送区域的中心点;
所述响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队,包括:
响应于所述用户终端发送的订单,获取与所述订单的发件地址距离最近的中心点并记为第一中心点,查询与所述第一中心点相应的配送区域并记为第一配送区域;
如果所述订单的发件地址在所述第一配送区域内,则将所述订单分配给所述第一配送区域的配送团队。
预先绘制好每个配送团队的配送区域,在用户终端下单后,要判断给定的订单的发件地址是否在某个配送团队的配送区域内。判断方式可以是:首先获取每个配送区域的中心点,利用发件地址获取与之距离最近的中心点,判断发件地址和该中心点所属配送区域的位置关系,如果发件地址在该配送区域内,则将订单分配给该配送区域的配送团队。如果某个地区内多数位置都被配送区域覆盖,这种判断方式能够快速找到与发件地址相应的配送区域。
可选地,所述响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队,还包括:
如果所述订单的发件地址在所述第一配送区域外,则获取与所述订单的发件地址距离最近的N个中心点,将所述N个中心点按照与所述发件地址的距离从近到远的方式记为第一中心点至第N中心点,查询与第二中心点至第N中心点相应的配送区域并记为第二配送区域至第N配送区域;N是大于1的整数;
判断所述订单的发件地址是否在所述第i配送区域内;如果是,则将所述订单分配给所述第i配送区域的配送团队;否则判断所述订单的发件地址是否在所述第i+1配送区域内;i是大于1且小于N的整数;
当i=N-1时,如果所述订单的发件地址不在所述第N配送区域内,则判断所述订单不在任意配送团队的配送区域内。
由于不同配送团队的配送能力不同,所对应的配送区域有大有小,因此存在一种情况,某个发件地址位于配送区域A内,但距离该发件地址最近的中心点b是配送区域B的中心点,因此在找到距离该发件地址最近的中心点b后,经判断发现该发件地址不在中心点b对应的配送区域B内。此时扩大中心点的范围,获取更多中心点,并按照与该发件地址由近到远的顺序依次判断该发件地址是否在某个中心点所对应的配送区域内,直到找到覆盖该发件地址的配送区域A。如果依次排查发现发件地址不属于这N个配送区域,则判断发件地址不属于配送区域。
第二方面,本申请提供了一种同城订单配送范围绘制装置,包括:
区域配置模块,用于在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域;
选取模块,用于选取任意两个配送团队记为第一配送团队、第二配送团队,将第一配送团队的配送区域记为第一多边形,将第二配送团队的配送区域记为第二多边形;
第一判断模块,用于如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
第二判断模块,用于如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
可选地,所述第一判断模块用于如果所述第一多边形的所有顶点都在所述第二多边形外,所述第二多边形的所有顶点都在所述第一多边形外,且组成所述第一多边形的线段与组成所述第二多变性的线段不存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
所述第二判断模块用于如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,或者组成所述第一多边形的线段与组成所述第二多变性的线段存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
可选地,所述装置还包括点射线模块,用于判断点在多边形内或者多边形外,所述点射线模块包括:
射线生成单元,用于以所述点为起点,做一条射线;
内部判断单元,用于如果所述射线与所述多边形的交点数量是奇数,则判断所述点在所述多边形内;
外部判断单元,用于如果所述射线与所述多边形的交点数量是偶数或者0,则判断所述点在所述多边形外。
可选地,所述装置还包括修改模块,用于修改所述边界线,调整至少一个配送团队的配送区域。
可选地,所述装置还包括订单分配模块,用于响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队。
可选地,所述装置还包括中心点获取模块,用于获取每个配送团队的配送区域的中心点;
所述订单分配模块包括:
第一查询单元,用于响应于所述用户终端发送的订单,获取与所述订单的发件地址距离最近的中心点并记为第一中心点,查询与所述第一中心点相应的配送区域并记为第一配送区域;
第一分配单元,用于如果所述订单的发件地址在所述第一配送区域内,则将所述订单分配给所述第一配送区域的配送团队。
可选地,所述订单分配模块还包括:
第二查询单元,用于如果所述订单的发件地址在所述第一配送区域外,则获取与所述订单的发件地址距离最近的N个中心点,将所述N个中心点按照与所述发件地址的距离从近到远的方式记为第一中心点至第N中心点,查询与第二中心点至第N中心点相应的配送区域并记为第二配送区域至第N配送区域;N是大于1的整数;
第二分配单元,用于判断所述订单的发件地址是否在所述第i配送区域内;如果是,则将所述订单分配给所述第i配送区域的配送团队;否则判断所述订单的发件地址是否在所述第i+1配送区域内;i是大于1且小于N的整数;
异常判断单元,用于当i=N-1时,如果所述订单的发件地址不在所述第N配送区域内,则判断所述订单不在任意配送团队的配送区域内。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述处理器执行所述存储器存储的计算机指令,使得所述电子设备执行上述任一项同城订单配送范围绘制方法。
第四方面,本申请提供了一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述任一项同城订单配送范围绘制方法。
与现有技术相比,本申请的技术效果包括:
本申请公开了同城订单配送范围绘制方法及装置、电子设备、计算机存储介质,在地图上绘制边界线,通过边界线在地图上划分出多个配送团队的配送区域,任意两个配送团队的配送区域之间不存在交叉,使得每个地址对应最多一个的配送团队,由此可以根据每个地址将订单分配给所对应的配送团队,从而避免配送区域存在交叉时无法确定订单分配给哪个配送区域的问题,具体地,可以采用遍历选取的方式,判断任意两个配送团队的配送区域之间是否存在交叉,如果存在两个配送团队的配送区域之间存在交叉,则修改边界线,调整至少一个配送团队的配送区域,消除交叉情况。这样在用户终端下单后,从订单中获取发件地址,匹配出与该发件地址相应的配送区域,将订单分配给该配送区域的配送团队,可以提高接单效率与配送时效;另一方面,智能自动分配订单的方式可以排除人为因素的干扰,避免一些配送团队对于其配送区域内的订单应接单而未接单的情况。
附图说明
下面结合附图和实施例对本申请进一步说明。
图1是第一实施例提供的一种同城订单配送范围绘制方法的流程示意图;
图2是多边形B位于多边形A内的一种位置关系示意图;
图3是多边形A位于多边形B内的一种位置关系示意图;
图4是多边形A与多边形B相交的一种位置关系示意图;
图5是点射线法的一种流程示意图;
图6是点p在多边形A内的一种位置关系示意图;
图7是点p在多边形A外的第一种位置关系示意图;
图8是点p在多边形A外的第二种位置关系示意图;
图9是第二实施例提供的一种同城订单配送范围绘制方法的流程示意图;
图10是第三实施例提供的一种同城订单配送范围绘制方法的流程示意图;
图11是第四实施例提供的一种同城订单配送范围绘制方法的部分流程示意图;
图12是第五实施例提供的一种同城订单配送范围绘制方法的部分流程示意图;
图13是第六实施例提供的一种同城订单配送范围绘制装置100的结构示意图;
图14是图13中点射线模块150的一种结构示意图;
图15是图13中订单分配模块170的一种结构示意图。
图中:100、同城订单配送范围绘制装置;110、区域配置模块;120、选取模块;130、第一判断模块;140、第二判断模块;150、点射线模块;151、射线生成单元;152、内部判断单元;153、外部判断单元;160、修改模块;170、订单分配模块;171、第一查询单元;172、第一分配单元;173、第二查询单元;174、第二分配单元;175、异常判断单元;180、中心点获取模块;200、用户终端。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
参见图1,第一实施例提供了一种同城订单配送范围绘制方法,包括步骤S11~S14。
本实施例中的同城是指同一地区,地区的级别可以是国、省、市、区、县、镇、乡、村等,同一地区一般是指同一市、同一区、同一县、同一镇或同一乡。订单是指外卖订单、跑腿订单、到家订单等同城配送的订单。例如,本实施例可以适用于北京市的外卖订单分配,也可以适用于北京市海淀区的跑腿订单分配。本实施例的方法与订单系统结合,可以实现订单的快速、高效、合理分配。
步骤S11:在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域。
本实施例中,地图是指某个地区的平面地图,例如是北京市的地图或者海淀区的地图。每个配送团队的配送区域是多边形,多边形例如是三角形、四边形、六边形、九边形等。边界线是指配送区域之间的边界线,这些边界线在地区的地图中划分出若干个配送区域。在一些实施例中,配送团队较多,且遍布整个地区,在这样的地区,配送区域可能会覆盖整个地区。在另外一些实施例中,配送团队较少,或者集中在部分地区,在这样的地区,配送区域可能无法覆盖整个地区,导致有些地址在配送区域内,有些地址不在任意配送团队的配送区域内。
在为多个配送团队配置相应的配送区域时,要保证任意两个配送团队的配送区域之间不存在交叉,可以采用遍历选取的方式,判断任意两个配送团队的配送区域之间是否存在交叉,如果存在两个配送团队的配送区域之间存在交叉,则修改边界线,调整至少一个配送团队的配送区域,消除交叉情况。
步骤S12:选取任意两个配送团队记为第一配送团队、第二配送团队,将第一配送团队的配送区域记为第一多边形,将第二配送团队的配送区域记为第二多边形。
第一多边形例如是三角形、四边形、六边形、九边形等,第二多边形例如是三角形、四边形、六边形、九边形等。在实际应用中,根据地形的复杂性,第一多边形、第二多边形可以是任意形状,在一些实施例中,曲线可以作为多边形的一种特殊情况。
步骤S13:如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
如果只是多边形A的所有顶点在多边形B外,不能保证两个配送团队的配送区域之间不存在交叉,因为多边形B可能整个图形都在多边形A内部,如图2所示。多边形B的所有顶点在多边形A外与之类似,可能存在如图3所示的情况。因此需要同时满足上述两个条件才能判断不存在交叉。除此之外的情况,判断两个配送团队的配送区域之间存在交叉。
步骤S14:如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
如图4所示,当多边形A的所有顶点都不在多边形B内,同时多边形B的所有顶点都不在多边形A内时,依然存在两个多边形有交叉的情况,导致上述判断结果不够准确,因此可以加上两个多边形的线段是否存在交点的判断条件,同时满足这三个条件时,判断两个多边形之间不存在交叉。
在一些实施例中,所述步骤S13可以包括:如果所述第一多边形的所有顶点都在所述第二多边形外,所述第二多边形的所有顶点都在所述第一多边形外,且组成所述第一多边形的线段与组成所述第二多变性的线段不存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
在一些实施例中,所述步骤S14可以包括:如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,或者组成所述第一多边形的线段与组成所述第二多变性的线段存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
考虑到实际使用场景,每一个配送区域的形状和大小是相似的,可以规避掉图4这种情况,因此可以省去“判断组成多边形A的线段和组成多边形B的线段不存在交点”这个步骤,直接采用图1中的方法,这样能够减少大约80%的计算量,响应速度得到明显提升。
参见图5,判断点在多边形内或者多边形外的方法可以采用点射线法,点射线法可以包括步骤S51~S53。
步骤S51:以所述点为起点,做一条射线。
本实施例对射线方向不做限定,在一些实施例中,射线可以是向右、向左、向上、向下、向东、向西、向南、向北、向东北、向东南、向西北、向西南等。
步骤S52:如果所述射线与所述多边形的交点数量是奇数,则判断所述点在所述多边形内。
步骤S53:如果所述射线与所述多边形的交点数量是偶数或者0,则判断所述点在所述多边形外。
求取射线与多边形的交点的过程,可以依次求取射线与围成多边形的每个线段的交点。
假设目标点为p,多边形A是五边形,围成多边形A的各个顶点为a、b、c、d、e,围成多边形的线段为ab、bc、cd、de、ea。p的坐标为(px,py),平行x轴向右的射线可以表示为:y=py,x>px。a的坐标为(ax,ay),b的坐标为(bx,by),ab可以表示为:(y-ay)/(by-ay)=(x-ax)/(bx-ax),其中ax≤x≤bx,ay≤y≤by。对射线和线段ab求解,当存在解,记为射线与线段ab有1个交点,以此类推,计算射线和ab、bc、cd、de、ea的交点总和,得出射线与多边形A的交点数量,如果交点数量为奇数,则点在多边形内,如图6所示,如果交点数量为偶数,则点在多边形外,如图7所示,如果交点数量为0,则点在多边形外,如图8所示。
参见图9,在第二实施例中,所述步骤S14后,所述方法还可以包括步骤S15:修改所述边界线,调整至少一个配送团队的配送区域。
在实际应用中,配送团队的配送区域可能发生变化,如果配送团队后续扩大规模、支持更大的配送区域,或者缩小规模、减小所支持的配送区域,则可以通过修改边界线的方式调整该团队的配送区域。
参见图10,在第三实施例中,所述步骤S14后,所述方法还可以包括步骤S16:响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队。
需要注意的是,订单的发件地址可以与用户终端的当前位置相同,也可以与用户终端的当前位置不同。用户使用用户终端在当前位置C生成一个订单,而订单的发件地址是位置D,配送团队的业务员需要去位置D揽件。
具体地,可以根据订单的发件地址转换为经纬度,通过该经纬度匹配相应的配送区域。
当前同城配送订单主要依靠配送员人工判断配送距离是否合适进行接单配送,该方法效率较低且容易发生无人接单的情况。这样在用户终端下单后,从订单中获取发件地址,匹配出与该发件地址相应的配送区域,将订单分配给该配送区域的配送团队,可以提高接单效率与配送时效;另一方面,智能自动分配订单的方式可以排除人为因素的干扰,避免一些配送团队对于其配送区域内的订单应接单而未接单的情况。
参见图11,在第四实施例中,所述步骤S14后,所述方法还可以包括步骤S17:获取每个配送团队的配送区域的中心点。
具体地,可以将每个配送区域的中心点坐标以GEO的格式存放在redis中,在使用时,可以直接从redis中,按照从近到远的顺序取出若干条数据。Geo是一种在HTML和XHTML中标记WGS84地理坐标(经度,纬度)的微格式,它还可以作为hCard微格式的一个子集。使用Geo可以使分析器(比如其他网站,Firefox的Operator插件)获得位置信息,并通过别的网站或者地图工具进行显示,或者载入到GPS设备,或者转换成其他格式。redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。
所述步骤S16可以包括步骤S161~S162。
步骤S161:响应于所述用户终端发送的订单,获取与所述订单的发件地址距离最近的中心点并记为第一中心点,查询与所述第一中心点相应的配送区域并记为第一配送区域。
该步骤可以从redis中取出与发件地址距离最近的一个中心点的坐标。
步骤S162:如果所述订单的发件地址在所述第一配送区域内,则将所述订单分配给所述第一配送区域的配送团队。
在步骤S162中,判断发件地址是否在第一配送区域内的方法可以采用上文中的点射线法,将发件地址看作点,获取第一中心点相应的第一配送区域,找到第一配送区域对应的多边形,判断发件地址这个点与第一中心点所属的多边形的位置关系。如果点在多边形内,则返回该多边形的编码,并将订单分配给该多边形对应的配送团队。
预先绘制好每个配送团队的配送区域,在用户终端下单后,要判断给定的订单的发件地址是否在某个配送团队的配送区域内。判断方式可以是:首先获取每个配送区域的中心点,利用发件地址获取与之距离最近的中心点,判断发件地址和该中心点所属配送区域的位置关系,如果发件地址在该配送区域内,则将订单分配给该配送区域的配送团队。如果某个地区内多数位置都被配送区域覆盖,这种判断方式能够快速找到与发件地址相应的配送区域。
由于不同配送团队的配送能力不同,所对应的配送区域有大有小,因此存在一种情况,某个发件地址位于配送区域A内,但距离该发件地址最近的中心点b是配送区域B的中心点,因此在找到距离该发件地址最近的中心点b后,经判断发现该发件地址不在中心点b对应的配送区域B内。此时扩大中心点的范围,获取更多中心点,并按照与该发件地址由近到远的顺序依次判断该发件地址是否在某个中心点所对应的配送区域内,直到找到覆盖该发件地址的配送区域A。
参见图12,在第五实施例中,所述步骤S16还可以包括步骤S163~S165。
步骤S163:如果所述订单的发件地址在所述第一配送区域外,则获取与所述订单的发件地址距离最近的N个中心点,将所述N个中心点按照与所述发件地址的距离从近到远的方式记为第一中心点至第N中心点,查询与第二中心点至第N中心点相应的配送区域并记为第二配送区域至第N配送区域;N是大于1的整数。
N例如是2、3、5、8、10等,N取值大小与步骤S164的计算量成正比。N取值太小,则可能匹配不到与发件地址相应的配送区域,N取值太大,则可能增加计算量却仍然无法匹配到配送区域,尤其是在配送区域大小相似的情况。
步骤S164:判断所述订单的发件地址是否在所述第i配送区域内;如果是,则将所述订单分配给所述第i配送区域的配送团队;否则判断所述订单的发件地址是否在所述第i+1配送区域内;i是大于1且小于N的整数。i的取值是2至N-1。
步骤S165:当i=N-1时,如果所述订单的发件地址不在所述第N配送区域内,则判断所述订单不在任意配送团队的配送区域内。如果依次排查发现发件地址不属于这N个配送区域,则判断发件地址不属于配送区域。
上述实施例使用多边形之间交叉比对的方式,在同城订单配送的业务场景下,准确率可以达到100%,同时速度可以达到最优。使用中心点最近的解决方式,大约90%的订单,只判断一次就能找到其所属的配送区域,当未找到发件地址所属的配送区域,也能通过扩大搜索中心点的个数,找到所属配送区域。
参见图13,第六实施例提供了一种同城订单配送范围绘制装置100,包括区域配置模块110、选取模块120、第一判断模块130、第二判断模块140,区域配置模块110与选取模块120进行数据交互,选取模块120还分别与第一判断模块130、第二判断模块140进行数据交互。
区域配置模块110用于在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域。
选取模块120用于选取任意两个配送团队记为第一配送团队、第二配送团队,将第一配送团队的配送区域记为第一多边形,将第二配送团队的配送区域记为第二多边形。
第一判断模块130用于如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
第二判断模块140用于如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
优选地,所述第一判断模块130可以用于如果所述第一多边形的所有顶点都在所述第二多边形外,所述第二多边形的所有顶点都在所述第一多边形外,且组成所述第一多边形的线段与组成所述第二多变性的线段不存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
优选地,所述第二判断模块140可以用于如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,或者组成所述第一多边形的线段与组成所述第二多变性的线段存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
继续参见图13,所述同城订单配送范围绘制装置100还可以包括点射线模块150,用于判断点在多边形内或者多边形外。点射线模块150分别与第一判断模块130、第二判断模块140进行数据交互。
参见图14,所述点射线模块150可以包括射线生成单元151、内部判断单元152、外部判断单元153,射线生成单元151分别与内部判断单元152、外部判断单元153进行数据交互。
射线生成单元151用于以所述点为起点,做一条射线。
内部判断单元152用于如果所述射线与所述多边形的交点数量是奇数,则判断所述点在所述多边形内。
外部判断单元153用于如果所述射线与所述多边形的交点数量是偶数或者0,则判断所述点在所述多边形外。
继续参见图13,所述同城订单配送范围绘制装置100还可以包括修改模块160,用于修改所述边界线,调整至少一个配送团队的配送区域。修改模块160与区域配置模块110进行数据交互。
继续参见图13,所述同城订单配送范围绘制装置100还可以包括订单分配模块170,用于响应于用户终端200发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队。订单分配模块170与区域配置模块110进行数据交互。
继续参见图13,所述同城订单配送范围绘制装置100还可以包括中心点获取模块180,用于获取每个配送团队的配送区域的中心点。中心点获取模块180分别与区域配置模块110、订单分配模块170进行数据交互。
参见图15,所述订单分配模块170可以包括第一查询单元171、第一分配单元172,第一查询单元171与第一分配单元172进行数据交互。
第一查询单元171用于响应于所述用户终端200发送的订单,获取与所述订单的发件地址距离最近的中心点并记为第一中心点,查询与所述第一中心点相应的配送区域并记为第一配送区域。
第一分配单元172用于如果所述订单的发件地址在所述第一配送区域内,则将所述订单分配给所述第一配送区域的配送团队。
继续参见图15,所述订单分配模块170还可以包括第二查询单元173、第二分配单元174、异常判断单元175,第二查询单元173与第一分配单元172进行数据交互,第二查询单元173还与第二分配单元174进行数据交互,第二分配单元174还与异常判断单元175进行数据交互。
第二查询单元173用于如果所述订单的发件地址在所述第一配送区域外,则获取与所述订单的发件地址距离最近的N个中心点,将所述N个中心点按照与所述发件地址的距离从近到远的方式记为第一中心点至第N中心点,查询与第二中心点至第N中心点相应的配送区域并记为第二配送区域至第N配送区域;N是大于1的整数。
第二分配单元174用于判断所述订单的发件地址是否在所述第i配送区域内;如果是,则将所述订单分配给所述第i配送区域的配送团队;否则判断所述订单的发件地址是否在所述第i+1配送区域内;i是大于1且小于N的整数。
异常判断单元175用于当i=N-1时,如果所述订单的发件地址不在所述第N配送区域内,则判断所述订单不在任意配送团队的配送区域内。
本申请实施例还提供了一种电子设备,该电子设备包括处理器和存储器,处理器执行存储器存储的计算机指令,使得电子设备执行上述任一项同城订单配送范围绘制方法。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一项同城订单配送范围绘制方法。
本申请从使用目的上,效能上,进步及新颖性等观点进行阐述,其设置有的实用进步性,已符合专利法所强调的功能增进及使用要件,本申请以上的说明及附图,仅为本申请的较佳实施例而已,并非以此局限本申请,因此,凡一切与本申请构造,装置,特征等近似、雷同的,即凡依本申请专利申请范围所作的等同替换或修饰等,皆应属本申请的专利申请保护的范围之内。
Claims (10)
1.一种同城订单配送范围绘制方法,其特征在于,包括:
在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域;
选取任意两个配送团队记为第一配送团队、第二配送团队,将第一配送团队的配送区域记为第一多边形,将第二配送团队的配送区域记为第二多边形;
如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
2.根据权利要求1所述的同城订单配送范围绘制方法,其特征在于,所述如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉,包括:
如果所述第一多边形的所有顶点都在所述第二多边形外,所述第二多边形的所有顶点都在所述第一多边形外,且组成所述第一多边形的线段与组成所述第二多变性的线段不存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
所述如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉,包括:
如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,或者组成所述第一多边形的线段与组成所述第二多变性的线段存在交点,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
3.根据权利要求1或2所述的同城订单配送范围绘制方法,其特征在于,判断点在多边形内或者多边形外的方法包括:
以所述点为起点,做一条射线;
如果所述射线与所述多边形的交点数量是奇数,则判断所述点在所述多边形内;
如果所述射线与所述多边形的交点数量是偶数或者0,则判断所述点在所述多边形外。
4.根据权利要求1所述的同城订单配送范围绘制方法,其特征在于,还包括:
修改所述边界线,调整至少一个配送团队的配送区域。
5.根据权利要求1所述的同城订单配送范围绘制方法,其特征在于,还包括:
响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队。
6.根据权利要求5所述的同城订单配送范围绘制方法,其特征在于,还包括:
获取每个配送团队的配送区域的中心点;
所述响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队,包括:
响应于所述用户终端发送的订单,获取与所述订单的发件地址距离最近的中心点并记为第一中心点,查询与所述第一中心点相应的配送区域并记为第一配送区域;
如果所述订单的发件地址在所述第一配送区域内,则将所述订单分配给所述第一配送区域的配送团队。
7.根据权利要求6所述的同城订单配送范围绘制方法,其特征在于,所述响应于用户终端发送的订单,匹配出与所述订单的发件地址相应的配送区域,将订单分配给所匹配出的配送区域的配送团队,还包括:
如果所述订单的发件地址在所述第一配送区域外,则获取与所述订单的发件地址距离最近的N个中心点,将所述N个中心点按照与所述发件地址的距离从近到远的方式记为第一中心点至第N中心点,查询与第二中心点至第N中心点相应的配送区域并记为第二配送区域至第N配送区域;N是大于1的整数;
判断所述订单的发件地址是否在所述第i配送区域内;如果是,则将所述订单分配给所述第i配送区域的配送团队;否则判断所述订单的发件地址是否在所述第i+1配送区域内;i是大于1且小于N的整数;
当i=N-1时,如果所述订单的发件地址不在所述第N配送区域内,则判断所述订单不在任意配送团队的配送区域内。
8.一种同城订单配送范围绘制装置,其特征在于,包括:
区域配置模块,用于在地图上绘制边界线,利用所述边界线配置每个配送团队的配送区域;
选取模块,用于选取任意两个配送团队记为第一配送团队、第二配送团队,将第一配送团队的配送区域记为第一多边形,将第二配送团队的配送区域记为第二多边形;
第一判断模块,用于如果所述第一多边形的所有顶点都在所述第二多边形外,且所述第二多边形的所有顶点都在所述第一多边形外,则判断所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉;
第二判断模块,用于如果所述第一多边形存在顶点在所述第二多边形内的情况,或者所述第二多边形存在顶点在所述第一多边形内的情况,则判断所述第一配送团队、所述第二配送团队的配送区域之间存在交叉,并修改所述边界线,以使所述第一配送团队、所述第二配送团队的配送区域之间不存在交叉。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器执行所述存储器存储的计算机指令,使得所述电子设备执行权利要求1至7任一项所述的同城订单配送范围绘制方法。
10.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1至7任一项所述的同城订单配送范围绘制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119658.XA CN111340364A (zh) | 2020-02-26 | 2020-02-26 | 同城订单配送范围绘制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119658.XA CN111340364A (zh) | 2020-02-26 | 2020-02-26 | 同城订单配送范围绘制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111340364A true CN111340364A (zh) | 2020-06-26 |
Family
ID=71183673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119658.XA Pending CN111340364A (zh) | 2020-02-26 | 2020-02-26 | 同城订单配送范围绘制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340364A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034087A (zh) * | 2021-04-16 | 2021-06-25 | 拉扎斯网络科技(上海)有限公司 | 区域修正方法、装置、电子设备、存储介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287002B1 (en) * | 2000-02-18 | 2007-10-23 | National Systems Corporation | System for placing product delivery orders through the internet |
CN106920056A (zh) * | 2017-02-27 | 2017-07-04 | 广州云移信息科技有限公司 | 多个门店配送范围智能设定方法及终端 |
CN107451673A (zh) * | 2017-06-14 | 2017-12-08 | 北京小度信息科技有限公司 | 配送区域划分方法和装置 |
CN110633262A (zh) * | 2019-09-25 | 2019-12-31 | 重庆邮电大学 | 基于Spark的地图相交区域面积计算方法及系统 |
-
2020
- 2020-02-26 CN CN202010119658.XA patent/CN111340364A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287002B1 (en) * | 2000-02-18 | 2007-10-23 | National Systems Corporation | System for placing product delivery orders through the internet |
CN106920056A (zh) * | 2017-02-27 | 2017-07-04 | 广州云移信息科技有限公司 | 多个门店配送范围智能设定方法及终端 |
CN107451673A (zh) * | 2017-06-14 | 2017-12-08 | 北京小度信息科技有限公司 | 配送区域划分方法和装置 |
CN110633262A (zh) * | 2019-09-25 | 2019-12-31 | 重庆邮电大学 | 基于Spark的地图相交区域面积计算方法及系统 |
Non-Patent Citations (1)
Title |
---|
孙立镌: "《计算机图形学》", 31 December 2000 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034087A (zh) * | 2021-04-16 | 2021-06-25 | 拉扎斯网络科技(上海)有限公司 | 区域修正方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108985671B (zh) | 订单处理方法和装置 | |
JPH11316541A (ja) | 地図応用システムおよび地図表示制御方法 | |
CN112784002B (zh) | 一种虚拟场景生成方法、装置、设备和存储介质 | |
CN102368259A (zh) | 电子地图数据存储和查询方法、装置及系统 | |
CN110968798B (zh) | 房源显示方法、装置、可读存储介质及处理器 | |
CN110288232A (zh) | 订单调度方法及装置 | |
CN111080171A (zh) | 一种基于物流调配算法的物流调配方法 | |
CN111858795A (zh) | 一种地图加载处理方法和装置 | |
CN107944697B (zh) | 基于供需关系的热地图计算方法和系统、服务器、介质 | |
WO2021232278A1 (zh) | 地图获取方法、装置、计算机设备和存储介质 | |
CN111340364A (zh) | 同城订单配送范围绘制方法及装置 | |
US20130159207A1 (en) | Identifying location in package and mail delivery systems | |
CN112541624B (zh) | 一种揽投网点的选址方法、装置、介质及电子设备 | |
CN111159451A (zh) | 一种基于空间数据库的电力线路点云动态单体化方法 | |
CN114792111A (zh) | 一种数据获取方法、装置、电子设备及存储介质 | |
CN106294484A (zh) | 一种更新电子地图数据的方法及装置 | |
US20210311971A1 (en) | Geocoding methods and systems of correcting latitude and longitude of a point of interest | |
CN111881573A (zh) | 一种基于城市内涝风险评估的人口空间分布模拟方法及装置 | |
JP5081311B2 (ja) | 地図情報処理装置、地図情報処理方法、地図情報処理プログラム、及び記録媒体 | |
CN110390511A (zh) | 信贷申请审批方法、装置、设备和存储介质 | |
CN113919595A (zh) | 店铺配送路径规划方法、装置、设备和存储介质 | |
CN112182438A (zh) | 一种车位图元标注的方法及系统 | |
WO2021135106A1 (zh) | 地理位置数据的匹配方法、装置、电子设备及存储介质 | |
CN115221159A (zh) | 定位方法和相关装置 | |
CN111882457A (zh) | 一种变电站选址方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200626 |
|
RJ01 | Rejection of invention patent application after publication |