区域订单分析方法、系统和计算机可读介质与流程

文档序号:23765548发布日期:2021-01-29 20:09阅读:91来源:国知局
区域订单分析方法、系统和计算机可读介质与流程

[0001]
本发明主要涉及互联网技术领域,尤其涉及一种区域订单分析方法、系统和计算机可读介质。


背景技术:

[0002]
随着互联网、大数据等技术的飞速发展,与互联网、大数据相关的各种技术已深入应用到社会生活的方方面面。许多门店接收来自互联网平台的订单并提供例如餐饮、外卖、送货等服务。在一些场景中,需要对某个区域(例如商圈)的数据深入分析以便于更精细化地运营。然而,目前并没有合适的工具分析及展示区域的订单数据。


技术实现要素:

[0003]
本发明要解决的技术问题是提供一种区域订单分析方法、系统和计算机可读介质,可以对一个或多个区域中的订单进行基于位置或坐标的分析。
[0004]
为解决上述技术问题,本发明提供了一种区域订单分析方法,包括以下步骤:获取多个订单;根据城市地图数据获取城市网格信息,所述城市网格信息包括多个城市网格;建立城市订单分布模型,并使用城市订单分布模型生成所述多个订单中的每一订单的经纬度信息;根据所述每一订单的经纬度信息判断所述每一订单所落入的城市网格;将城市网格与落入所述城市网格中的一个或多个订单关联;以及计算多个城市网格所组成的区域的订单数据。
[0005]
在本发明的一实施例中,根据城市地图数据获取城市网格信息的步骤包括:在所述城市地图数据中的多个坐标点绘制网格;将所述城市地图数据的平面坐标系转换为曲面坐标系,将所述城市地图数据中的经纬度信息转换为真实的坐标信息。
[0006]
在本发明的一实施例中,建立城市订单分布模型的步骤包括:使用实际数据建立真实的城市订单分布模型作为目标模型;给定一个粗略的订单分布范围;使用拟合算法在所述订单分布范围中计算城市订单分布模型的粗略模型,并与所述目标模型对比,且根据对比结果对所述粗略模型的参数进行调整,直至所述粗略模型与所述目标模型一致,并输出最优城市订单分布模型。
[0007]
在本发明的一实施例中,生成所述多个订单中的每一订单的经纬度信息的步骤包括:以门店的坐标为中心点,以分布距离的边界值为半径画一个同心圆;以及在所述同心圆的覆盖的面积中随机生成坐标点并赋予订单。
[0008]
在本发明的一实施例中,根据所述每一订单的经纬度信息判断所述每一订单所落入的城市网格的步骤包括:通过geohash算法,将所述经纬度信息转换为geohash值;通过所述geohash值查询生成城市网格过程保存的网格集合;通过射线法判断所述经纬度信息在哪个网格内。
[0009]
在本发明的一实施例中,所述城市网格包括有效城市网格和无效城市网格,根据所述每一订单的经纬度信息判断所述每一订单所落入的城市网格时,还包括:当订单的经
纬度信息落入无效城市网格时,重新分配订单落入的城市网格;当订单的经纬度信息落入有效城市网格时,建立订单与所述有效城市网格的关联。
[0010]
在本发明的一实施例中,重新分配订单落入的城市网格的步骤包括:选出所述无效城市网格周围多个圈的城市网格,按照内圈到外圈优先级依次降低;如果第一个圈含有有效城市网格,则将订单平均分给所述有效城市网格,如第一个圈没有有效城市网格则取第二个圈,依次类推,如到最后一个圈仍无有效城市网格,则丢该订单。
[0011]
在本发明的一实施例中,根据城市地图数据获取城市网格信息的步骤包括在城市地图数据中使用无效区域色卡标注无效城市网格。
[0012]
本发明的另一方面提出一种区域订单分析系统,包括存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上所述的方法。
[0013]
本发明的另一方面提出一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。
[0014]
与现有技术相比,本发明根据城市订单分布模型生成订单的经纬度信息,然后根据订单的经纬度信息判断所述订单所落入的城市网格。这种方式使得订单分布均衡符合常识,且能正确地反映出该区域应有的订单特性。
附图说明
[0015]
包括附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
[0016]
图1是本申请一实施例的区域订单分析系统的框图。
[0017]
图2是本申请一实施例的区域订单分析方法流程图。
[0018]
图3是本申请一实施例的城市地图计算流程图。
[0019]
图4是本申请一实施例的城市地图中的网格示意图。
[0020]
图5是本申请一实施例的区域示意图。
[0021]
图6是本申请一实施例的单个网格示意图。
[0022]
图7是本申请一实施例的坐标系转换示意图。
[0023]
图8是本申请一实施例的区域订单分析结果示意图。
[0024]
图9是本申请一实施例的区域订单分析系统的硬件实施环境。
具体实施方式
[0025]
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
[0026]
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0027]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0028]
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。
[0029]
应当理解,当一个部件被称为“在另一个部件上”、“连接到另一个部件”、“耦合于另一个部件”或“接触另一个部件”时,它可以直接在该另一个部件之上、连接于或耦合于、或接触该另一个部件,或者可以存在插入部件。相比之下,当一个部件被称为“直接在另一个部件上”、“直接连接于”、“直接耦合于”或“直接接触”另一个部件时,不存在插入部件。同样的,当第一个部件被称为“电接触”或“电耦合于”第二个部件,在该第一部件和该第二部件之间存在允许电流流动的电路径。该电路径可以包括电容器、耦合的电感器和/或允许电流流动的其它部件,甚至在导电部件之间没有直接接触。
[0030]
本申请的实施例描述区域订单分析方法和系统,可以对某个区域中的订单进行分析,并按照坐标(或位置)进行整合及呈现。
[0031]
在本申请的上下文中,区域是城市中的地理区域,例如行政区域或者商业区域(或者商圈)。订单是向门店购买的商品,例如外卖、衣物。或者订单是向门店购买的服务,例如电影、餐饮、教育等。坐标可以与门店关联的地理坐标。在一个实例中,地理坐标是经纬度。
[0032]
可以将区域分为多个网格,从而将该区域中的订单与网格进行匹配。举例来说,指定地址所在的网格和周围若干个(例如数十个)网格组成一个区域。在一个实施例中,对城市地图进行处理,得到包含网格的城市地图。
[0033]
图1是本申请一实施例的区域订单分析系统的框图。参考图1所示,系统100包括数仓101、订单整理模块102、地图计算模块103以及区域计算模块104。数仓101适于收集运用的门店数据,例如订单。订单整理模块102用于从数仓101获取例如订单的数据,并进行整理后提供给区域计算模块104。另一方面,地图处理模块103用于根据城市地图数据获取城市网格信息,并提供给区域计算模块104。区域计算模块104会结合订单及城市网格信息,进行一系列计算并最终计算区域中的订单数据。
[0034]
图2是本申请一实施例的区域订单分析方法流程图。参考图2所示,本实施例的区域订单分析方法,包括以下步骤:
[0035]
在步骤201,获取多个订单。
[0036]
在此,订单可为数据仓101提供的原始门店订单。订单中不包含诸如经纬度数据的
坐标信息。订单整理模块102通过连接数据仓101获取订单原始数据。
[0037]
在步骤202,根据城市地图数据获取城市网格信息。城市网格信息包括多个城市网格。
[0038]
例如,可以调用地图处理模块103获取城市网格信息。图4是本申请一实施例的城市网格示意图。图5是本申请一实施例的区域示意图。参考图4所示,一个城市的大部分或全部区域可覆盖城市网格。参考图5所示,城市网格是一个城市中所有的六边形网格中的任意一个。许多城市网格组成图5所示的大致呈大六边形的网格。
[0039]
在一个实施例中,区分有效城市网格和无效城市网格。有效城市网格是城市网格集合中居住、办公、商业和道路等中的网格。无效城市网格是在城市网格集合中公园、河流、湖泊和山川等中的网格。
[0040]
在步骤203,建立城市订单分布模型,并使用城市订单分布模型生成多个订单中的每一订单的经纬度信息。
[0041]
城市订单分布模型定义了一个城市中订单在各个地理位置中如何分布。订单数据通常只包含下单的门店的信息,而没有订单来源的地理位置。为此,在本申请的一实施例中,建立城市订单分布模型,并调用城市订单分布模型生成每个订单的以经纬度信息限定的地理位置。
[0042]
在一个实施例中,订单分布模型是数仓101通过拟合算法,拟合出最符合订单分布规律的数学模型。更具体而言,使用实际数据建立真实的城市订单分布模型作为目标模型。例如针对城市的一个区域的订单进行调研,得知各个订单的地理位置分布,从而建立真实的城市订单分布模型。接着给定一个粗略的订单分布范围,如0-100米、100-500米或500-1000米等。这一范围是某个门店订单来源的范围。这一范围可以是根据经验来确定,并可以在后续过程中调整。然后使用拟合算法计算城市订单分布模型的粗略模型。在这一过程中,可以使用订单分布范围内的分布规则来进行拟合。例如以门店为中心,将门店产生的订单按照一定比例分配到订单分布范围内的多个区域中,然后将每笔订单随机打散到这些区域内。得到粗略模型后与目标模型对比,且根据对比结果对粗略模型的参数进行调整,直至粗略模型与目标模型一致,并输出最优城市订单分布模型。
[0043]
在一个实施例中,订单整理模块102根据上步骤的订单分布模型为订单生成经纬度信息,订单的经纬度生产算法为随机坐标生成。例如,以门店的坐标为中心点,以分布距离的边界值为半径画一个同心圆,在同心圆的覆盖的面积中随机生成坐标点并赋予订单。
[0044]
在没有使用范围订单占比模型和坐标随机生产算法时,热力订单分布图中订单分布不均匀且有些不该有订单的地方(例如无人居住的水域)出现大量的订单,显得很不真实,且不能反映出真实的区域的信息。使用前述的比例模型后订单分布均衡符合常识,且能正确地反映出该区域应有的订单特性。
[0045]
在步骤204,根据所述每一订单的经纬度信息判断每一订单所落入的城市网格。
[0046]
在一个实施例中,具体方法如下:通过geohash算法将订单的经纬度信息转换为geohash值;通过该geohash值查询出生成城市网格过程保存的网格集合;通过射线法判断所述经纬度信息在哪个网格内。
[0047]
当城市网格区分了有效和无效网格时,可以进一步判断是落入有效还是无效网格。当订单的经纬度信息落入无效城市网格时,重新分配订单落入的城市网格;当订单的经
纬度信息落入有效城市网格时,建立订单与所述有效城市网格的关联。参考图5所示,在一个实施例中,重新分配订单落入的城市网格的步骤包括:选出无效城市网格周围多个圈(图中红色圈,例如4个)的城市网格,按照内圈到外圈优先级依次降低;如果第一个圈含有有效城市网格,则将订单平均分给有效城市网格,如第一个圈没有有效城市网格则取第二个圈,依次类推,如到最后一个圈仍无有效城市网格,则丢弃该订单。
[0048]
在步骤205,将城市网格与落入城市网格中的一个或多个订单关联。
[0049]
在此,将城市网格信息以及网格中的订单数据建立关联后存储,并提交到区域计算模块104。
[0050]
在步骤206,计算多个城市网格所组成的区域的订单数据。
[0051]
在此,区域计算模块104以每一个单个网格为一个中心,以及该网格周围60个网格组成一个区域,并计算该区域中的订单数据。图8是本申请一实施例的区域订单分析结果示意图。参考图8所示,在用户输入了某个地址后,可以该地址所在网格为中心,计算周围60个网格组成的区域中的订单数据。例如,统计该区域中的商户总数723家,外卖月订单为99.2w 单,从而让用户准确地得知该区域的商业信息。另外,可以对订单按照品类进行分项数据展示,让用户得知某个感兴趣分项的信息。
[0052]
另外,此步骤还可通知相关人员计算已完成,并触发数据备份机制,备份历史区域数据。备份历史数据是为了错误回溯,并优化城市订单分布模型。
[0053]
图3是本申请一实施例的城市地图计算流程图。参考图3所示,本实施例的城市地图计算过程如下。
[0054]
在步骤301,获得城市地图数据和无效区域色卡。
[0055]
在此步骤中,用户可提交需要生成城市网格的城市名称以及地图无效区域的颜色码,通过颜色码可以看出有效或无效区域。因为同一类型的区域的背景色总是一样的,我们就可以通过背景色标出一系列的无效区域。例如蓝色的水域和绿色的植被为无效区域。系统100的地图处理模块103 可以获得城市地图数据及无效区域色卡,进行后续处理。
[0056]
在步骤302,在城市地图数据中的多个坐标点绘制网格。
[0057]
例如,调用高德云获取城市地理坐标的最大值经纬度和最小经纬度,作为基准坐标绘制城市网格。
[0058]
在一个示例中,绘制的网格为半径500米的正六边形,如图6所示。城市经纬度范围为地图上一个城市的最西北角到最东南角的经纬度范围。绘制网格的顺序可为先由西向东横向绘制,满足条件后再起一行重新横向绘制。示例性的顺序为从最西北角的坐标点开始,以此坐标点作为第一个网格的点1,绘制第一个网格;第二个网格以第一个网格的点3作为其点1,绘制第二个网格;第三个网格以第二个网格的点5作为其点1,绘制第三个网格;后续网格横向绘制以此类推,即:第奇数n个网格,以前一个网格 (n-1)的点5作为其点1进行绘制;第偶数m个网格,以前一个网格(m-1) 的点3作为其点1进行绘制。直至某个网格的点4大于城市范围的经度时,则该行的横向绘制结束,开始进入下一行的横向绘制。第x行开始绘制时,该行第一个网格以上一行第一个网格的点6作为其点2开始绘制,横向绘制规则同前述规则。直至某行的第一个网格的点5小于城市范围的纬度时,则该行为该城市的最后一行绘制,横向绘制完成后结束绘制。绘制计算中记录每个网格的6个点的坐标及其坐标点的geohash值,并对网格进行编号。
[0059]
在步骤303,将平面坐标系转换为曲面坐标系,将平面上的经纬度信息转换为真实且有效的坐标信息。
[0060]
具体地说,上述的六边形绘制过程中,如果实现的过程的思路是在平面坐标系中,则会出现图形变形失真。这是因为是地球是个球面,所以平面上的直线500米感官距离要比曲面上的感官距离大。
[0061]
在此,将平面长度计算规则算法转换为球面几何长度计算方法。如图 7,设若角aob(球心角)为θ,地球的半径为r,a点纬度、经度为(x1,y1), b点纬度、经度为(x2,y2),则a、b两点球面距离为rθ。
[0062]
球面距离计算公式为:
[0063]
d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2))
[0064]
其中,x1,y1是纬度/经度的弧度单位。
[0065]
而当y1=y2时,公式就变为:d=r*|x1-x2|
[0066]
平面正六边形在地球曲面上会失真变形,采用本实施例的平面六边形转换算法,将平面的六边形坐标转换为球面坐标后,六边形在地图上展示不再失真变形。
[0067]
在步骤304,生成城市地图网格坐标数据。
[0068]
在此步骤中,可以利用步骤302的城市网格和步骤303的坐标转换结果,生成每个网格坐标数据。
[0069]
在步骤305,根据将生成好的网格坐标数据提交到生成包括城市网格图形的图片。
[0070]
在步骤306,根据生成好的图片和无效色卡一起计算,标注无效网格和无效订单比例。
[0071]
在一实施例中,使用图形计算单元来进行这一计算。图形计算单元识别并计算出无效网格,并计算出每个网格的区域。计算的结果数据含有无效网格编号、无效网格中无效订单比例以及每个网格的区域信息。
[0072]
因为提交了无效色卡,如果网格被无效色完整填充,则该网格为100%无效,即落入该格子的订单全部为无效订单,会全部重新计算。若无效色只占网格的一部分,则图形计算单元会计算出部分无效色在网格中的占比,该占比就是该网格中无效订单比例。
[0073]
举例来说,在一个网格中,代表水域的蓝色占了一半,则无效色占比为50%,无效订单比例也为50%。这50%的无效订单需要分配到其他有效网格中。
[0074]
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0075]
图9是本申请一实施例的区域订单分析的系统硬件实施环境。分析系统 900可包括内部通信总线901、处理器(processor)902、只读存储器(rom) 903、随机存取存储器(ram)904、以及通信端口905。当应用在个人计算机上时,分析系统900还可以包括硬盘907。内部通信总线901可以实现分析系统900组件间的数据通信。处理器902可以进行判断和发出提示。在一些实施例中,处理器902可以由一个或多个处理器组成。通信端口905 可以实现分析系统900与外部的数据通信。在一些实施例中,分析系统900 可以通过通信端口905从网络发送和接受信息及数据。分析系统900还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘907,只读存储器(rom)903和随机存取存储器(ram)904,能够存储计
算机处理和 /或通信使用的各种数据文件,以及处理器902所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给用户设备,在用户界面上显示。
[0076]
上述的区域订单分析的方法可以实施为计算机程序,保存在硬盘907 中,并可记载到处理器902中执行,以实施本申请的区域订单分析的方法。
[0077]
本申请还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的区域订单分析方法。
[0078]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
[0079]
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0080]
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带
……
)、光盘(例如,压缩盘cd、数字多功能盘dvd
……
)、智能卡以及闪存设备(例如,卡、棒、键驱动器
……
)。
[0081]
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
[0082]
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0083]
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点
可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
[0084]
虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1