CN109657022B - 商户查找方法、装置、电子设备和存储介质 - Google Patents
商户查找方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN109657022B CN109657022B CN201811498594.8A CN201811498594A CN109657022B CN 109657022 B CN109657022 B CN 109657022B CN 201811498594 A CN201811498594 A CN 201811498594A CN 109657022 B CN109657022 B CN 109657022B
- Authority
- CN
- China
- Prior art keywords
- index tree
- user
- merchant
- distribution area
- longitude
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Remote Sensing (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及电商技术领域,公开了一种商户查找方法,包括:获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形,其中,外接矩形为覆盖商户配送区域的最小外接矩形;确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域;将目标配送区域对应的商户作为地理位置对应的可配送商户;其中,索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。本发明采用了基于索引树的空间位置搜索方案,利用商户的外接矩形建立索引树。当用户查找商户时,大大降低了运算量,可快速找到符合搜索条件的商户。
Description
技术领域
本发明涉及电商技术领域,尤其涉及一种商户查找方法、装置、电子设备和存储介质。
背景技术
随着互联网的发展,网上购物越来越普遍,在餐饮、酒店等行业,用户通过网络便可实现快速下单。例如外卖行业,用户下单过程中,先定位到自己的位置,然后根据点餐需求选择商户进行下单。这个过程包含了基于位置服务(LBS)的空间位置搜索的过程,即根据用户定位的位置搜索到附近可以为用户提供配送服务的商家列表。
目前有关LBS空间搜索的实现方案,相关技术一是利用关系型数据库管理系统(PostgreSQL)的空间查询功能,这种方案在搜索商家时,采用的是对所有商户配送区域逐一比较的方式,适合商户配送区域数量较少的情况,当面对商户配送区域数量上万的情况,显然这种方案不能接受;相关技术二是利用搜索引擎Lucene空间查询,将配送区域划分为若干个网格之后,利用网格与用户位置的关系进行索引及查询,其在性能上有一定提升,但是此方案因为增加了空间数据量,当空间数据达到百万、千万级别的情况下,索引太大,会导致查询结果存在误差。
发明内容
本发明实施方式的目的在于提供一种商户查找方法、装置、电子设备和存储介质,采用基于索引树的空间位置搜索方案及外接矩形过滤的思想,将距离相近的商户进行聚合,当用户查找商户时,可快速找到符合搜索条件的商户。
为解决上述技术问题,本发明的实施方式提供了一种商户查找方法,包括:获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形,其中,外接矩形为覆盖商户配送区域的最小外接矩形;确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域;将目标配送区域对应的商户作为地理位置对应的可配送商户;其中,索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
本发明的实施方式还提供了一种商户查找装置,包括:查找模块,用于获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形,其中,外接矩形为覆盖商户配送区域的最小外接矩形;目标配送区域确定模块,用于确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域;可配送商户确定模块,用于将目标配送区域对应的商户作为地理位置对应的可配送商户;其中,索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行以实现:获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形,其中,外接矩形为覆盖商户配送区域的最小外接矩形;确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域;将目标配送区域对应的商户作为地理位置对应的可配送商户;其中,索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
本发明的实施方式还提供了一种非易失性存储介质,用于存储计算机可读程序,计算机可读程序用于供计算机执行如上的商户查找方法。
本发明实施方式相对于现有技术而言,主要区别及其效果在于:采用了基于索引树的空间位置搜索方案,利用商户的外接矩形的左下顶点和右上顶点分别建立索引树。当用户查找商户时,查找数据量只包括每个配送区域的两个顶点的数据,大大降低了运算量,可快速找到符合搜索条件的商户。
另外,用户的地理位置和配送区域用经纬度坐标表示。利用经纬度信息,获取地理位置更准确,更方便。
另外,外接矩形根据如下步骤确定:确定商户配送区域内的经纬度极值,经纬度极值包括最大经度、最小经度、最大纬度、最小纬度;根据经纬度极值确定外接矩形。可以得到包含商户配送区域在内的最小外接矩形,减少查找过程中的计算量。
另外,获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形之前,还包括:获取用户的地理位置,根据地理位置确定用户所属的商圈及商圈对应的索引树。以商圈为单位建立每个商圈的索引树,进而选择与用户位置所在商圈对应的索引树进行查找对应的配送区域,提高查找速度。
另外,获取用户的地理位置,利用预先建立的索引树查找覆盖用户的地理位置的外接矩形,包括:利用第一索引树查找经度值小于用户位置的经度值且纬度值小于用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合;利用第二索引树查找经度值大于用户位置的经度值且纬度值大于用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合;计算第一集合与第二集合的交集,得到覆盖地理位置的外接矩形。根据外接矩形的左下顶点和右上顶点分别建立索引树,用户查找商户时,可利用索引树对商户进行快速筛选,查找数据量只包括每个配送区域的两个顶点的数据,提高了查找的速度。
另外,当覆盖地理位置的外接矩形为至少两个时,确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域,包括:采用并行计算方式,同时判断地理位置是否被覆盖地理位置的每个外接矩形对应的配送区域覆盖,若是,则确定外接矩形对应的配送区域为目标配送区域。同时判断地理位置是否被覆盖地理位置的每个外接矩形对应的配送区域覆盖。提高用户获取查找结果的速度。
另外,在将目标配送区域对应的商户作为地理位置对应的可配送商户之后,还包括:发送可配送商户的信息到用户的终端设备,由终端设备显示可配送商户的信息。便于用户查看和选择,提升用户体验。
另外,第一索引树或第二索引树的切分点采用外接矩形的顶点。采用外接矩形的顶点作为切分点,充分利用数据,有利于减少树深度,进而提高查找效率。
附图说明
图1是根据本发明第一实施方式提供的商户查找方法流程图;
图2是根据本发明第一实施方式中的确定商圈内配送区域的外接矩形的流程图;
图3是根据本发明第一实施方式中的商圈内配送区域的外接矩形的示意图;
图4(a)是根据本发明第二实施方式中的构建第一索引树的示意图;
图4(b)是根据本发明第二实施方式中的第一索引树与用户位置关系的示意图;
图5(a)是根据本发明第二实施方式中的构建第二索引树的示意图;
图5(b)是根据本发明第二实施方式中的第二索引树与用户位置关系的示意图;
图6(a)和图6(b)是根据本发明第二实施方式中的第一索引树和第二索引树的示意图;
图7是根据本发明第三实施方式提供的商户查找装置示意图;
图8是根据本发明第四实施方式提供的电子设备示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种商户查找方法,本实施方式可以应用在终端侧,如应用在手机,平板电脑等终端设备中,也可以应用在网络侧的服务器中。
餐饮领域中,一个商圈例如是一个城市、一个区等。商圈内包含若干个商户,每个商户有固定服务的配送区域,即商户只为位于自己配送区域范围内的用户提供下单及配送服务。用户通过网络下单时,会先搜索到自己所在位置所属配送区域对应的商户列表,然后选择商户进行下单。
图1是根据本发明第一实施方式提供的商户查找方法流程图,该方法包括:
S101、获取用户的地理位置,利用预先构建的索引树查找覆盖用户的地理位置的外接矩形。
本实施方式中,索引树具体为KD索引树,即k-Dimension tree(K维空间索引树),是用于做空间数据存储的树状数据结构,其利用K维空间中的点对空间数据进行分割,每次分割时分割点取中值,将数据分成两半,通过多次划分,不断递归,直到分割点两侧没有数据。KD索引树通过对空间数据的折半划分,提高对空间数据的查找效率。
具体地,外接矩形为覆盖一个商户的配送区域的最小外接矩形。商户的配送区域对应一定的地理范围,配送区域的形状可能是规则的矩形,也可能是不规则形状。
进一步地,用户的地理位置和商户的配送区域的地理位置信息为经纬度。根据本发明第一实施方式中的确定商户配送区域的外接矩形的流程如图2所示,根据商户配送区域的经纬度极值确定外接矩形,经纬度极值包括最大经度、最小经度、最大纬度和最小纬度。具体包括:
S1011、提取商户配送区域边界上的经纬度信息。
经纬度信息包括商户配送区域边界上所有点的经度值和纬度值。
S1012、从经纬度信息中提取经纬度极值,即最大经度、最小经度、最大纬度和最小纬度。
具体地,在提取到的配送区域边界上的所有经度值中,找到最大经度和最小经度;在提取到的配送区域边界上的所有纬度值中,找到最大纬度和最小纬度。最大经度和最小经度例如分别为Wmax和Wmin,最大纬度和最小纬度例如分别为Nmax和Nmin。
S1013、根据最小经度和最小纬度确定外接矩形的左下顶点,根据最大经度和最大纬度确定外接矩形的右上顶点。
例如,根据最小经度Wmin和最小纬度确定的外接矩形的左下顶点坐标为pa(Wmin,Nmin),根据最大经度Wmax和最大纬度Nmax确定的外接矩形的右上顶点坐标为pb(Wmax,Nmax)。
S1014、根据左下顶点和右上顶点确定外接矩形。
本实施方式中,以左下顶点pa(Wmin,Nmin)和右上顶点pb(Wmax,Nmax)之间的连线作为外接矩形的对角线,确定出配送区域对应的外接矩形。具体地,根据如上步骤S1011-S1014,确定出商圈内所有商户的配送区域的外接矩形如图3所示。例如商圈内共有6个商户及其对应的配送区域,对应的外接矩形分别为p1、p2、p3、p4、p5、p6。
本实施方式中,以商圈为单位建立KD索引树,即针对每一个商圈中包含的商户数量及每个商户的配送区域,建立起对应该商圈的KD索引树。进一步地,KD索引树是依据商圈内商户的配送区域的外接矩形预先构建的。具体地说,预先构建的KD索引树包括依据外接矩形的左下顶点位置数据构建的第一KD索引树和依据外接矩形的右上顶点位置数据构建的第二KD索引树。第一KD索引树或第二KD索引树的第一层切分线可选择纵向切分线,例如纬线,也可以选择横向切分线,例如经线。第一KD索引树和第二KD索引树每一层切分线的的切分点可以选择外接矩形的顶点,也可以选择不属于外接矩形的顶点的坐标点。
本实施方式中,当需要查找与用户位置匹配的商户时,首先根据用户的地理位置确定用户所属的商圈以及该商圈对应的索引树,例如第一KD索引树和第二KD索引树。再利用第一KD索引树和第二KD索引树进行搜索,可得到覆盖该用户地理位置的外接矩形。
S102、确定用户地理位置被外接矩形对应的配送区域覆盖的目标配送区域。
本实施方式中,根据步骤S101中查找到的覆盖用户位置的外接矩形,进而可以得到对应的商户。因为商户的外接矩形覆盖的地理范围并不同于商户的配送区域覆盖的地理范围,因此该商户的外接矩形包含用户位置,并不代表该商户的配送区域覆盖的地理范围也包含用户位置。因此进一步地,将用户位置的经纬度信息与覆盖用户位置的外接矩形对应的配送区域的覆盖范围进行比较,判断用户位置是否在外接矩形对应的配送区域的覆盖范围内,从而确定覆盖用户位置的目标配送区域。
若用户位置的经纬度信息在该外接矩形对应的配送区域的覆盖范围内,说明该外接矩形对应的商户可为该用户提供配送服务,确定该外接矩形对应的配送区域为目标配送区域。
若用户位置的经纬度信息不在该外接矩形对应的配送区域的覆盖范围内,说明该外接矩形对应的商户不能为该用户提供配送服务。
进一步地,当覆盖用户位置的外接矩形数量有多个时,本步骤中判断该多个商户的配送区域是否覆盖用户位置时,可采用串行计算方式对多个配送区域依次进行判断,或者采用并行计算方式对多个配送区域同时进行判断。其中,串行计算方式是指对该多个商户的配送区域,逐个依次计算并判断每个商户的配送区域是否覆盖用户位置;并行计算方式是指对该多个商户的配送区域,同时计算并判断每个商户的配送区域是否覆盖用户位置。
S103、将目标配送区域对应的商户作为用户地理位置对应的可配送商户。
本实施方式中,目标配送区域覆盖用户的地理位置,也就是说目标配送区域对应的商户能够为该用户提供配送服务,将该商户确定为该用户的可配送商户,也即该用户的地理位置对应的可配送商户。
本实施方式中,当确定了用户的可配送商户之后,发送可配送商户的信息到用户的终端设备,由该终端设备显示可配送商户的信息。例如发送可配送商户列表到用户的手机上,并在手机等移动终端屏幕上显示可配送商户列表中商户的信息,显示内容可包括商户的ID、商户名称、商户到用户的距离、配送费、起送价等。
本实施方式中,商户、商户的配送区域、配送区域的外接矩形通过商户的特征参数建立联系,商户的特征参数例如为商户的ID。
本发明实施方式采用了基于索引树的空间位置搜索方案,利用商户的外接矩形的左下顶点和右上顶点分别建立索引树。当用户查找商户时,查找数据量只包括每个配送区域的两个顶点的数据,大大降低了运算量,可快速找到符合搜索条件的商户。另外根据配送区域边界上的最大经纬度和最小经纬度确定外接矩形,可以得到包含商户配送区域在内的最小外接矩形,减少查找过程中的计算量。
本发明的第二实施方式涉及一种商户查找方法,本实施方式可以应用在终端侧,如应用在手机,平板电脑等终端设备中,也可以应用在网络侧的服务器中。本发明实施方式的商户查找方法包括:
S101、获取用户的地理位置,利用预先构建的索引树查找覆盖用户的地理位置的外接矩形。
本实施方式中,外接矩形为覆盖一个商户的配送区域的最小外接矩形。外接矩形的确定方法如第一实施方式中的步骤S1011-1014,示意图如图3所示,例如商圈内共有6个商户及其对应的配送区域,对应的外接矩形分别为p1、p2、p3、p4、p5、p6。其中,p1的左下顶点为pa1,右上顶点为pb1,对角线为pa1-pb1;p2的左下顶点为pa2,右上顶点为pb2,对角线为pa2-pb2;p3的左下顶点为pa3,右上顶点为pb3,对角线为pa3-pb3;p4的左下顶点为pa4,右上顶点为pb4,对角线为pa4-pb4;p5的左下顶点为pa5,右上顶点为pb5,对角线为pa5-pb5;p6的左下顶点为pa6,右上顶点为pb6,对角线为pa6-pb6。某一用户A的地理位置位于外接矩形p4中,同时还位于外接矩形p5中。
本实施方式中,以商圈为单位建立KD索引树,即针对每一个商圈中包含的商户数量及每个商户的配送区域,建立起对应该商圈的KD索引树。进一步地,KD索引树是依据商圈内商户的配送区域的外接矩形预先构建的。具体地说,预先构建的KD索引树包括依据外接矩形的左下顶点位置数据构建的第一KD索引树和依据外接矩形的右上顶点位置数据构建的第二KD索引树。第一KD索引树或第二KD索引树的第一层切分线可选择纵向切分线,例如纬线,也可以选择横向切分线,例如经线。第一KD索引树和第二KD索引树每一层切分线的切分点可以选择外接矩形的顶点,也可以选择不属于外接矩形的顶点的坐标点。例如,当某一层待切分的顶点数为奇数时,选择待切分的顶点中,具有中间地理位置的顶点作为切分点;当某一层待切分的顶点数为偶数时,选择待切分的顶点中,居于中间位置的两个顶点中的其中一个作为切分点,或者选择居于该两个顶点之间的某一坐标点作为切分点。
在本发明的一个具体实施方式中,结合图3所示,商圈内共有6个商户及其对应的配送区域,对应的外接矩形分别为p1、p2、p3、p4、p5、p6。6个外接矩形左下顶点的经纬度坐标分别为pa1(120,29.3),pa2(120.5,31.5),pa3(121.5,31.3),pa4(122.8,30.6),pa5(122.2,29.5),pa6(124.5,31.2);6个外接矩形右上顶点的经纬度坐标分别为pb1(121.5,30.5),pb2(122.5,34.8),pb3(125,33),pb4(124.3,31.6),pb5(125.4,31),pb6(125.8,32.2)。依据以上6个外接矩形的左下顶点和右上顶点构建第一KD索引树和第二KD索引树的步骤如下:
S1015、依据外接矩形的左下顶点构建第一KD索引树。
进一步地,图4(a)是根据本发明第二实施方式中的构建第一KD索引树的示意图,图4(b)是根据本发明第二实施方式中的第一KD索引树与用户位置关系的示意图。具体地,如图4(a),构建第一KD索引树的过程如下:
(1)、选择经线L0作为第一KD索引树第一层的切分线。
切分线L0对应的经度值为122。L0将6个左下顶点划分为两部分,第一部分包含3个左下顶点为pa1、pa2、pa3,第二部分包含3个左下顶点为pa4、pa5、pa6。
(2)、选择纬线L3和纬线L4作为第一KD索引树第二层的切分线。
切分线L3经过左下顶点pa3(121.5,31.3),即对应的纬度值为31.3。L3将3个左下顶点pa1、pa2、pa3划分为两部分,设定位于切分线L3上的左下顶点,即pa3(121.5,31.3),既属于第一部分,又属于第二部分。因此,第一部分包含2个左下顶点为pa1、pa3,第二部分包含2个左下顶点为pa2、pa3。
切分线L4经过左下顶点pa4(122.8,30.6),即对应的纬度值为30.6。L4将3个左下顶点pa4、pa5、pa6划分为两部分,其中,左下顶点pa4既属于第一部分,又属于第二部分。因此,第一部分包含2个左下顶点为pa4、pa5,第二部分包含2个左下顶点为pa4、pa6。
(3)、选择经线L1、L2、L5、L6作为第一KD索引树第三层的切分线。
切分线L1经过左下顶点pa1(120,29.3),即对应的经度值为120。L1将2个左下顶点pa1、pa3划分为两部分,其中,左下顶点pa1既属于第一部分,又属于第二部分。因此,第一部分包含1个左下顶点为pa1,第二部分包含2个左下顶点为pa1、pa3。
切分线L2经过左下顶点pa2(120.5,31.5),即对应的经度值为120.5。L2将2个左下顶点pa2、pa3划分为两部分,其中,左下顶点pa2既属于第一部分,又属于第二部分。因此,第一部分包含1个左下顶点为pa2,第二部分包含2个左下顶点为pa2、pa3。
切分线L5经过左下顶点pa5(122.2,29.5),即对应的经度值为122.2。L5将2个左下顶点pa4、pa5划分为两部分,其中,左下顶点pa5既属于第一部分,又属于第二部分。因此,第一部分包含1个左下顶点为pa5,第二部分包含2个左下顶点为pa4、pa5。
切分线L6经过左下顶点pa6(124.5,31.2),即对应的经度值为124.5。L6将2个左下顶点pa4、pa6划分为两部分,其中,左下顶点pa6既属于第一部分,又属于第二部分。因此,第一部分包含1个左下顶点为pa6,第二部分包含2个左下顶点为pa4、pa6。
此时,所有的左下顶点都作为切分点位于各层切分线上,即第三层切分线两侧已没有左下顶点数据,第一KD索引树构建完成。当利用第一KD索引树查找覆盖用户位置的外接矩形时,如图4(b)所示,A用户的经纬度坐标为A(124,31)。覆盖A用户位置的外接矩形的左下顶点应当位于如图4(b)中所示的阴影区域中。
S1016、依据外接矩形的右上顶点构建第二KD索引树。
进一步地,图5(a)是根据本发明第二实施方式中的构建第二KD索引树的示意图,图5(b)是根据本发明第二实施方式中的第二KD索引树与用户位置关系的示意图。具体地,如图5(a),构建第二KD索引树的过程如下:
(1)、选择经线L0作为第二KD索引树第一层的切分线。
切分线L0对应的经度值为124.5。L0将6个右上顶点划分为两部分,第一部分包含3个右上顶点为pb1、pb2、pb4,第二部分包含3个右上顶点为pb3、pb5、pb6。
(2)、选择纬线L4和纬线L6作为第二KD索引树第二层的切分线。
切分线L4经过右上顶点pb4(124.3,31.6),即对应的纬度值为31.6。L4将3个右上顶点pb1、pb2、pb4划分为两部分,设定位于切分线L4上的右上顶点即pb4(124.3,31.6)对应的右上顶点,既属于第一部分,又属于第二部分。因此,第一部分包含2个右上顶点为pb1、pb4,第二部分包含2个右上顶点为pb2、pb4。
切分线L6经过右上顶点pb6(125.8,32.2),即对应的纬度值为32.2。L6将3个右上顶点pb3、pb5、pb6划分为两部分,其中,右上顶点pb6既属于第一部分,又属于第二部分。因此,第一部分包含2个右上顶点为pb3、pb6,第二部分包含2个右上顶点为pb5、pb6。
(3)、选择经线L1、L2、L3、L5作为第二KD索引树第三层的切分线。
切分线L1经过右上顶点pb1(121.5,30.5),即对应的经度值为121.5。L1将2个右上顶点pb1、pb4划分为两部分,其中,右上顶点pb1既属于第一部分,又属于第二部分。因此,第一部分包含1个右上顶点为pb1,第二部分包含2个右上顶点为pb1、pb4。
切分线L2经过右上顶点pb2(122.5,34.8),即对应的经度值为122.5。L2将2个右上顶点pb2、pb4划分为两部分,其中,右上顶点pb2既属于第一部分,又属于第二部分。因此,第一部分包含1个右上顶点为pb2,第二部分包含2个右上顶点为pb2、pb4。
切分线L3经过右上顶点pb3(125,33),即对应的经度值为125。L3将2个右上顶点pb3、pb6划分为两部分,其中,右上顶点pb3既属于第一部分,又属于第二部分。因此,第一部分包含1个右上顶点为pb3,第二部分包含2个右上顶点为pb3、pb6。
切分线L5经过右上顶点pb5(125.4,31),即对应的经度值为125.4。L5将2个右上顶点pb5、pb6划分为两部分,其中,右上顶点pb5既属于第一部分,又属于第二部分。因此,第一部分包含1个右上顶点为pb5,第二部分包含2个右上顶点为pb5、pb6。
此时,所有的右上顶点都作为切分点位于各层切分线上,即第三层切分线两侧已没有右上顶点数据,第二KD索引树构建完成。当利用第二KD索引树查找覆盖用户位置的外接矩形时,如图5(b)所示,A用户的位置对应的经纬度坐标为A(124,31)。覆盖A用户位置的外接矩形的右上顶点应当位于如图5(b)中所示的阴影区域中。
综上,第一KD索引树和第二KD索引树构建完成,如图6(a)和图6(b)是根据本发明第二实施方式中的第一KD索引树和第二KD索引树的示意图。
本实施方式中,当需要查找与用户位置匹配的商户时,首先根据用户的地理位置确定用户所属的商圈以及该商圈对应的索引树,例如第一KD索引树和第二KD索引树。再利用第一KD索引树和第二KD索引树进行搜索,可得到覆盖该用户地理位置的外接矩形。具体地,查找过程包括:
S1017、利用第一KD索引树查找经度值小于用户位置的经度值且纬度值小于用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合。
一并参见图4(b)和图6(a),获取到A用户的经纬度坐标为A(124,31),即经度为124,纬度为31。根据图4(b),覆盖A用户位置的外接矩形应当满足:左下顶点位于图中的阴影区域中,即该左下顶点的经度值小于或等于124,纬度值小于或等于31。从图4(b)容易知道,符合条件的外接矩形的左下顶点包括:pa3(121.5,31.3),pa4(122.8,30.6),pa5(122.2,29.5)。要找到pa3、pa4、pa5,利用图6(a)所示的第一KD索引树进行查找时,从根节点开始向下逐层查找,第一查找条件为:左下顶点的经度值小于或等于124,纬度值小于或等于31。具体地如:
(1)、查找第一KD索引树的第一层。
根节点为经度122,位于根节点左侧的集合中的左下顶点的经度值都小于或等于122,符合第一查找条件中的经度条件,经度条件即经度值小于或等于124;位于根节点右侧的集合中的左下顶点的经度值均大于或等于122,与经度条件有交集。即下一步分别在根节点的左侧集合与右侧集合中继续查找。
(2)、查找第一KD索引树的第二层。
要查找的两个子节点分别为纬度31.3和纬度30.6,对于子节点:纬度31.3,其左侧集合中的左下顶点的纬度值都小于或等于31.3,与第一查找条件中的纬度条件有交集,纬度条件即纬度值小于或等于31;其右侧集合中的左下顶点的纬度值都大于或等于31.3,不符合纬度条件。
对于子节点:纬度30.6,其左侧集合中的左下顶点的纬度值都小于或等于30.6,符合纬度条件;其右侧集合中的左下顶点的纬度值都大于或等于30.6,与纬度条件有交集。此时说明位于该切分线上的左下顶点必然同时符合第一查找条件中的经度条件和纬度条件。本步骤中得到一个符合第一查找条件的左下顶点为pa4(122.8,30.6)。
如上,下一步分别在子节点纬度31.3的左侧集合、子节点纬度30.6的左侧集合与右侧集合中继续查找。
(3)、查找第一KD索引树的第三层。
第三层为叶子节点,要查找的三个叶子节点分别为经度120、经度122.2、经度124.5的三条经线,分别判断这三条经线的经度值是否符合第一查找条件中的经度条件。对于经线120,符合经度条件;对于经线122.2,符合经度条件;对于经线124.5,不符合经度条件。则进一步得到,位于经线120和经线122.2上的左下顶点必然同时符合第一查找条件中的经度条件和纬度条件。因此本步骤中得到两个符合第一查找条件的左下顶点为pa1(120,29.3)和pa5(122.2,29.5)。
根据以上步骤(1)-(3),得到符合第一查找条件的三个左下顶点为:pa1(120,29.3)、pa4(122.8,30.6)、pa5(122.2,29.5)。根据查找到的三个左下顶点,得到对应的第一外接矩形的第一集合为S1={p1、p4、p5}。
S1018、利用第二KD索引树查找经度值大于用户位置的经度值且纬度值小于用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合。
一并参见图5(b)和图6(b),获取到A用户的经纬度坐标为A(124,31),即经度为124,纬度为31。根据图5(b),覆盖A用户位置的外接矩形应当满足:右上顶点位于图中的阴影区域中,即该右上顶点的经度值大于或等于124,纬度值大于或等于31。从图5(b)容易知道,符合条件的外接矩形的右上顶点包括:pb3(125,33),pb4(124.3,31.6),pb5(125.4,31),pb6(125.8,32.2)。要找到pb3,pb4,pb5,pb6,利用图6(b)所示的第二KD索引树进行查找时,从根节点开始向下逐层查找,第二查找条件为:右上顶点的经度值大于或等于124,纬度值大于或等于31。具体地如:
(1)、查找第二KD索引树的第一层。
根节点为经度124.5,位于根节点左侧的集合中的右上顶点的经度值都小于或等于124.5,与第二查找条件中的经度条件有交集,经度条件即经度值大于或等于124;位于根节点右侧的集合中的右上顶点的经度值均大于或等于124.5,符合经度条件。即下一步分别在根节点的左侧集合与右侧集合中继续查找。
(2)、查找第二KD索引树的第二层。
要查找的两个子节点分别为纬度31.6和纬度32.2,对于子节点:纬度31.6,其左侧集合中的右上顶点的纬度值都小于或等于31.6,与第二查找条件中的纬度条件有交集,纬度条件即纬度值大于或等于31;其右侧集合中的右上顶点的纬度值都大于或等于31.3,符合纬度条件。此时说明位于该切分线上的右上顶点必然同时符合第二查找条件中的经度条件和纬度条件。本步骤中得到一个符合第二查找条件的右上顶点为pb4(124.3,31.6)。
对于子节点:纬度32.2,其左侧集合中的右上顶点的纬度值都小于或等于32.2,与纬度条件有交集;其右侧集合中的右上顶点的纬度值都大于或等于32.2,符合纬度条件。此时说明位于该切分线上的右上顶点必然同时符合第二查找条件中的经度条件和纬度条件。本步骤中得到一个符合第二查找条件的右上顶点为pb6(125.8,32.2)。
如上,下一步分别在子节点纬度31.6的左侧集合与右侧集合、子节点纬度32.2的左侧集合与右侧集合中继续查找。
(3)、查找第二KD索引树的第三层。
第三层为叶子节点,要查找的四个叶子节点分别为经度121.5、经度122.5、经度125.4、经度125的四条经线,分别判断这四条经线的经度值是否符合第二查找条件中的经度条件。对于经线121.5,不符合经度条件;对于经线122.5,不符合经度条件;对于经线125.4,符合经度条件;对于经线125,符合经度条件。则进一步得到,位于经线125.4和经线125上的右上顶点必然同时符合第二查找条件中的经度条件和纬度条件。因此本步骤中得到两个符合第二查找条件的右上顶点为pb3(125,33)和pb5(125.4,31)。
根据以上步骤(1)-(3),得到符合第二查找条件的四个右上顶点为:pb3(125,33)、pb4(124.3,31.6)、pb5(125.4,31)、pb6(125.8,32.2)。根据查找到的四个右上顶点,得到对应的外接矩形的第二集合为S2={p3、p4、p5、p6}。
S1019、计算第一集合与第二集合的交集,得到覆盖用户地理位置的外接矩形。
根据步骤S1017得到的外接矩形的第一集合S1和步骤S1018得到的外接矩形的第二集合S2,计算两个集合的交集,即
S=S1∩S2={p4、p5}
因此,得到覆盖用户地理位置的外接矩形包括p4和p5。
S102、确定用户地理位置被外接矩形对应的配送区域覆盖的目标配送区域。
本实施方式中,目标配送区域的确定方法如第一实施方式中的步骤S102。
S103、将目标配送区域对应的商户作为用户地理位置对应的可配送商户。
本实施方式中,目标配送区域覆盖用户的地理位置,也就是说目标配送区域对应的商户能够为该用户提供配送服务,将该商户确定为该用户的可配送商户,也即该用户的地理位置对应的可配送商户。
本发明实施方式采用了基于索引树的空间位置搜索方案,利用商户的外接矩形的左下顶点和右上顶点分别建立索引树。当用户查找商户时,查找数据量只包括每个配送区域的两个顶点的数据,大大降低了运算量,可快速找到符合搜索条件的商户。另外建立索引树时,以外接矩形的左下顶点或右上顶点作为切分点,有利于减小树的深度,进一步提高了查找的速度。
本发明的第三实施方式涉及一种商户查找装置,图7是根据本发明第三实施方式提供的商户查找装置示意图,该商户查找装置700包括:
查找模块701,用于获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形,其中,外接矩形为覆盖商户配送区域的最小外接矩形;用户的地理位置和配送区域用经纬度信息表示。
目标配送区域确定模块702,用于确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域。
可配送商户确定模块703,用于将目标配送区域对应的商户作为地理位置对应的可配送商户。
其中,索引树包括依据商圈内商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
进一步地,查找模块701在获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形之前,获取用户的地理位置,根据所述地理位置确定所述用户所属的商圈及所述商圈对应的所述索引树。
本发明实施方式中,查找模块701包括第一查找模块7011、第二查找模块7012、目标外接矩形确定模块7013。其中,第一查找模块7011用于利用第一索引树查找经度值小于用户位置的经度值且纬度值小于用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合;第二查找模块7012用于利用第二索引树查找经度值大于用户位置的经度值且纬度值大于用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合;目标外接矩形确定模块7013用于计算第一集合与第二集合的交集,得到覆盖用户地理位置的外接矩形。
进一步地,当覆盖用户的地理位置的外接矩形为至少两个时,可配送商户确定模块703采用并行计算方式,同时判断用户的地理位置是否被覆盖用户的地理位置的每个外接矩形对应的配送区域覆盖,若是,则确定外接矩形对应的配送区域为目标配送区域。
本发明实施方式中,该商户查找装置700还包括索引树创建模块704,用于根据商圈内商户的配送区域创建索引树。具体地,索引树创建模块704包括外接矩形确定模块7041、第一索引树创建模块7042和第二索引树创建模块7043。
具体地,外接矩形确定模块7041用于根据商圈内商户的配送区域确定外接矩形,具体为:确定商户配送区域内的经纬度极值,经纬度极值包括最大经度、最小经度、最大纬度和最小纬度;根据经纬度极值确定外接矩形。
更为具体地,第一索引树创建模块7042用于依据商户配送区域的外接矩形的左下顶点位置数据建立第一索引树。
更为具体地,第二索引树创建模块7043用于依据商户配送区域的外接矩形的右上顶点位置数据建立第二索引树。
进一步地,第一索引树或第二索引树的切分点采用外接矩形的顶点。
本发明第四实施方式涉及一种电子设备,图8是根据本发明第四实施方式提供的电子设备示意图,该电子设备包括:至少一个处理器801;以及,与至少一个处理器801通信连接的存储器802;以及,分别与处理器801和存储器802均为通信连接的通信组件803,通信组件803在处理器801的控制下接收和发送数据;其中,存储器802存储有可被至少一个处理器801执行的指令,指令被至少一个处理器801执行以实现:
获取用户的地理位置,利用预先建立的索引树查找覆盖地理位置的外接矩形,其中,外接矩形为覆盖商户配送区域的最小外接矩形;确定地理位置被外接矩形对应的配送区域覆盖的目标配送区域;将目标配送区域对应的商户作为地理位置对应的可配送商户;其中,索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据所商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
该电子设备包括:一个或多个处理器801以及存储器802,图6中以一个处理器801为例。处理器801、存储器802可以通过总线或者其他方式连接,图6中以通过总线连接为例。存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器801通过运行存储在存储器802中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述商户查找方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储商户的ID、商户的配送区域的经纬度信息等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器802中,当被一个或者多个处理器801执行时,执行上述任意方法实施方式中的商户查找方法。
上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本发明的第五实施方式涉及一种非易失性存储介质,用于存储计算机可读程序,计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
本申请实施例公开了A1.一种商户查找方法,包括:
获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形,其中,所述外接矩形为覆盖商户配送区域的最小外接矩形;
确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域;
将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户;
其中,所述索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据所述商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
A2.如A1所述的商户查找方法,所述用户的地理位置和所述配送区域用经纬度坐标表示。
A3.如A2所述的商户查找方法,所述外接矩形根据如下步骤确定:
确定商户配送区域内的经纬度极值,所述经纬度极值包括最大经度、最小经度、最大纬度、最小纬度;
根据所述经纬度极值确定所述外接矩形。
A4.如A1所述的商户查找方法,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形之前,还包括:
获取用户的地理位置,根据所述地理位置确定所述用户所属的商圈及所述商圈对应的所述索引树。
A5.如A2-A4中任一项所述的商户查找方法,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述用户的地理位置的外接矩形,包括:
利用第一索引树查找经度值小于所述用户位置的经度值且纬度值小于所述用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合;
利用第二索引树查找经度值大于所述用户位置的经度值且纬度值大于所述用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合;
计算所述第一集合与所述第二集合的交集,得到覆盖所述地理位置的外接矩形。
A6.如A5所述的商户查找方法,当覆盖所述地理位置的外接矩形为至少两个时,所述确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域,包括:
采用并行计算方式,同时判断所述地理位置是否被覆盖所述地理位置的每个所述外接矩形对应的配送区域覆盖,若是,则确定所述外接矩形对应的配送区域为目标配送区域。
A7.如A1所述的商户查找方法,在所述将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户之后,还包括:
发送所述可配送商户的信息到所述用户的终端设备,由所述终端设备显示所述可配送商户的信息。
A8.如A1所述的商户查找方法,所述第一索引树或所述第二索引树的切分点采用所述外接矩形的顶点。
本申请实施例公开了B1.一种商户查找装置,包括:
查找模块,用于获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形,其中,所述外接矩形为覆盖商户配送区域的最小外接矩形;
目标配送区域确定模块,用于确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域;
可配送商户确定模块,用于将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户;
其中,所述索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据所述商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
本申请实施例公开了C1.一种电子设备,包括:至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行以实现:获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形,其中,所述外接矩形为覆盖商户配送区域的最小外接矩形;确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域;将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户;其中,所述索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据所述商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
C2.如C1所述的电子设备,所述用户的地理位置和所述配送区域用经纬度坐标表示。
C3.如C2所述的电子设备,所述外接矩形根据如下步骤确定:
确定商户配送区域内的经纬度极值,所述经纬度极值包括最大经度、最小经度、最大纬度、最小纬度;
根据所述经纬度极值确定所述外接矩形。
C4.如C1所述的电子设备,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形之前,还包括:
获取用户的地理位置,根据所述地理位置确定所述用户所属的商圈及所述商圈对应的所述索引树。
C5.如C2-C4中任一项所述的电子设备,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述用户的地理位置的外接矩形,包括:
利用第一索引树查找经度值小于所述用户位置的经度值且纬度值小于所述用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合;
利用第二索引树查找经度值大于所述用户位置的经度值且纬度值大于所述用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合;
计算所述第一集合与所述第二集合的交集,得到覆盖所述地理位置的外接矩形。
C6.如C5所述的电子设备,当覆盖所述地理位置的外接矩形为至少两个时,所述确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域,包括:
采用并行计算方式,同时判断所述地理位置是否被覆盖所述地理位置的每个所述外接矩形对应的配送区域覆盖,若是,则确定所述外接矩形对应的配送区域为目标配送区域。
C7.如C1所述的电子设备,在所述将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户之后,还包括:
发送所述可配送商户的信息到所述用户的终端设备,由所述终端设备显示所述可配送商户的信息。
C8.如C1所述的电子设备,所述第一索引树或所述第二索引树的切分点采用所述外接矩形的顶点。
本申请实施例公开了D1.一种非易失性存储介质,用于存储计算机可读程序,其特征在于,所述计算机可读程序用于供计算机执行如权利要求1至8中任一项所述的商户查找方法。
Claims (17)
1.一种商户查找方法,其特征在于,包括:
获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形,其中,所述外接矩形为覆盖商户配送区域的最小外接矩形;
确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域;
将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户;
其中,所述索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据所述商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
2.根据权利要求1所述的方法,其特征在于,所述用户的地理位置和所述配送区域用经纬度坐标表示。
3.根据权利要求2所述的方法,其特征在于,所述外接矩形根据如下步骤确定:
确定商户配送区域内的经纬度极值,所述经纬度极值包括最大经度、最小经度、最大纬度、最小纬度;
根据所述经纬度极值确定所述外接矩形。
4.根据权利要求1所述的方法,其特征在于,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形之前,还包括:
获取用户的地理位置,根据所述地理位置确定所述用户所属的商圈及所述商圈对应的所述索引树。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述用户的地理位置的外接矩形,包括:
利用第一索引树查找经度值小于所述用户位置的经度值且纬度值小于所述用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合;
利用第二索引树查找经度值大于所述用户位置的经度值且纬度值大于所述用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合;
计算所述第一集合与所述第二集合的交集,得到覆盖所述地理位置的外接矩形。
6.根据权利要求5所述的方法,其特征在于,当覆盖所述地理位置的外接矩形为至少两个时,所述确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域,包括:
采用并行计算方式,同时判断所述地理位置是否被覆盖所述地理位置的每个所述外接矩形对应的配送区域覆盖,若是,则确定所述外接矩形对应的配送区域为目标配送区域。
7.根据权利要求1所述的方法,其特征在于,在所述将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户之后,还包括:
发送所述可配送商户的信息到所述用户的终端设备,由所述终端设备显示所述可配送商户的信息。
8.根据权利要求1所述的方法,其特征在于,所述第一索引树或所述第二索引树的切分点采用所述外接矩形的顶点。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行以实现:
获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形,其中,所述外接矩形为覆盖商户配送区域的最小外接矩形;确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域;将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户;其中,所述索引树包括依据商户配送区域的外接矩形的左下顶点位置数据建立的第一索引树和依据所述商户配送区域的外接矩形的右上顶点位置数据建立的第二索引树。
10.根据权利要求9所述的电子设备,其特征在于,所述用户的地理位置和所述配送区域用经纬度坐标表示。
11.根据权利要求10所述的电子设备,其特征在于,所述外接矩形根据如下步骤确定:
确定商户配送区域内的经纬度极值,所述经纬度极值包括最大经度、最小经度、最大纬度、最小纬度;
根据所述经纬度极值确定所述外接矩形。
12.根据权利要求9所述的电子设备,其特征在于,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述地理位置的外接矩形之前,还包括:
获取用户的地理位置,根据所述地理位置确定所述用户所属的商圈及所述商圈对应的所述索引树。
13.根据权利要求10-12任一项所述的电子设备,其特征在于,所述获取用户的地理位置,利用预先建立的索引树查找覆盖所述用户的地理位置的外接矩形,包括:
利用第一索引树查找经度值小于所述用户位置的经度值且纬度值小于所述用户位置的纬度值的左下顶点集合,得到外接矩形的第一集合;
利用第二索引树查找经度值大于所述用户位置的经度值且纬度值大于所述用户位置的纬度值的右上顶点集合,得到外接矩形的第二集合;
计算所述第一集合与所述第二集合的交集,得到覆盖所述地理位置的外接矩形。
14.根据权利要求13所述的电子设备,其特征在于,当覆盖所述地理位置的外接矩形为至少两个时,所述确定所述地理位置被所述外接矩形对应的配送区域覆盖的目标配送区域,包括:
采用并行计算方式,同时判断所述地理位置是否被覆盖所述地理位置的每个所述外接矩形对应的配送区域覆盖,若是,则确定所述外接矩形对应的配送区域为目标配送区域。
15.根据权利要求9所述的电子设备,其特征在于,在所述将所述目标配送区域对应的商户作为所述地理位置对应的可配送商户之后,还包括:
发送所述可配送商户的信息到所述用户的终端设备,由所述终端设备显示所述可配送商户的信息。
16.根据权利要求9所述的电子设备,其特征在于,所述第一索引树或所述第二索引树的切分点采用所述外接矩形的顶点。
17.一种非易失性存储介质,用于存储计算机可读程序,其特征在于,所述计算机可读程序用于供计算机执行如权利要求1至8中任一项所述的商户查找方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811498594.8A CN109657022B (zh) | 2018-12-08 | 2018-12-08 | 商户查找方法、装置、电子设备和存储介质 |
US17/311,576 US20220027427A1 (en) | 2018-12-08 | 2019-11-26 | Business searching methods and apparatuses, electronic devices and storage media |
PCT/CN2019/120840 WO2020114273A1 (zh) | 2018-12-08 | 2019-11-26 | 商户查找方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811498594.8A CN109657022B (zh) | 2018-12-08 | 2018-12-08 | 商户查找方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657022A CN109657022A (zh) | 2019-04-19 |
CN109657022B true CN109657022B (zh) | 2020-06-30 |
Family
ID=66113885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811498594.8A Active CN109657022B (zh) | 2018-12-08 | 2018-12-08 | 商户查找方法、装置、电子设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220027427A1 (zh) |
CN (1) | CN109657022B (zh) |
WO (1) | WO2020114273A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657022B (zh) * | 2018-12-08 | 2020-06-30 | 拉扎斯网络科技(上海)有限公司 | 商户查找方法、装置、电子设备和存储介质 |
CN110389994A (zh) * | 2019-07-17 | 2019-10-29 | 拉扎斯网络科技(上海)有限公司 | 数据处理方法、装置、定位方法、存储介质和电子设备 |
CN112862951A (zh) * | 2021-01-28 | 2021-05-28 | 晟通科技集团有限公司 | 配件建模方法、计算机装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338492A (zh) * | 2015-11-18 | 2016-02-17 | 南京大学 | 一种基于地理围栏技术的智能电子导游系统 |
CN106599129A (zh) * | 2016-12-02 | 2017-04-26 | 山东科技大学 | 一种顾及地形特点的多波束点云数据去噪方法 |
CN107423373A (zh) * | 2017-07-04 | 2017-12-01 | 东南大学 | 一种城市级三维建筑模型索引方法 |
CN107562895A (zh) * | 2017-09-06 | 2018-01-09 | 上海享骑电动车服务有限公司 | 地理围栏 |
CN107908722A (zh) * | 2017-11-14 | 2018-04-13 | 华东师范大学 | 基于距离的逆向k排名查询方法 |
CN108038118A (zh) * | 2017-11-01 | 2018-05-15 | 华东师范大学 | 一种位置优先并维护最小外接矩形的kd树构建方法 |
CN108171357A (zh) * | 2016-12-08 | 2018-06-15 | 北京京东尚科信息技术有限公司 | 物流信息系统中的信息处理方法和装置 |
Family Cites Families (12)
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 |
US7619913B2 (en) * | 2004-11-30 | 2009-11-17 | Hewlett-Packard Development Company, L.P. | Device, method and program for managing area information |
CN101459569B (zh) * | 2008-12-12 | 2011-08-10 | 华为技术有限公司 | 建立路由索引树的方法、装置和查找路由索引树的方法、装置 |
JP5237837B2 (ja) * | 2009-01-07 | 2013-07-17 | 株式会社日立製作所 | 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム |
JP6167531B2 (ja) * | 2013-01-24 | 2017-07-26 | 富士通株式会社 | 領域検索方法、領域インデックス構築方法および領域検索装置 |
CN103258007B (zh) * | 2013-04-16 | 2019-02-01 | 中国科学院地理科学与资源研究所 | 一种利用冲突检测机制的地图标注方法及装置 |
US9087091B2 (en) * | 2013-08-07 | 2015-07-21 | Sap Se | Determination of differences in hierarchical data |
CN104424189B (zh) * | 2013-08-20 | 2019-03-26 | 中国电信集团公司 | 基于云平台的定位解算方法和系统 |
CN104268243B (zh) * | 2014-09-29 | 2017-11-17 | 华为技术有限公司 | 一种位置数据处理方法及装置 |
US20180253445A1 (en) * | 2015-10-02 | 2018-09-06 | Entit Software Llc | Geo-positioning information indexing |
CN108090150B (zh) * | 2017-12-11 | 2020-12-15 | 厦门亿力吉奥信息科技有限公司 | Gis空间对象存储方法及其系统 |
CN109657022B (zh) * | 2018-12-08 | 2020-06-30 | 拉扎斯网络科技(上海)有限公司 | 商户查找方法、装置、电子设备和存储介质 |
-
2018
- 2018-12-08 CN CN201811498594.8A patent/CN109657022B/zh active Active
-
2019
- 2019-11-26 US US17/311,576 patent/US20220027427A1/en active Pending
- 2019-11-26 WO PCT/CN2019/120840 patent/WO2020114273A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338492A (zh) * | 2015-11-18 | 2016-02-17 | 南京大学 | 一种基于地理围栏技术的智能电子导游系统 |
CN106599129A (zh) * | 2016-12-02 | 2017-04-26 | 山东科技大学 | 一种顾及地形特点的多波束点云数据去噪方法 |
CN108171357A (zh) * | 2016-12-08 | 2018-06-15 | 北京京东尚科信息技术有限公司 | 物流信息系统中的信息处理方法和装置 |
CN107423373A (zh) * | 2017-07-04 | 2017-12-01 | 东南大学 | 一种城市级三维建筑模型索引方法 |
CN107562895A (zh) * | 2017-09-06 | 2018-01-09 | 上海享骑电动车服务有限公司 | 地理围栏 |
CN108038118A (zh) * | 2017-11-01 | 2018-05-15 | 华东师范大学 | 一种位置优先并维护最小外接矩形的kd树构建方法 |
CN107908722A (zh) * | 2017-11-14 | 2018-04-13 | 华东师范大学 | 基于距离的逆向k排名查询方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020114273A1 (zh) | 2020-06-11 |
US20220027427A1 (en) | 2022-01-27 |
CN109657022A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110726418B (zh) | 兴趣点区域确定方法、装置、设备及存储介质 | |
CN109657022B (zh) | 商户查找方法、装置、电子设备和存储介质 | |
CN110378175B (zh) | 道路边沿的识别方法和装置 | |
KR20160100809A (ko) | 목표 주소를 확정하기 위한 방법 및 장치 | |
CN110556049B (zh) | 一种地图数据处理方法、装置、服务器和存储介质 | |
US20200311100A1 (en) | Generating varied-scale topological visualizations of multi-dimensional data | |
CN114066718A (zh) | 一种图像风格迁移方法、装置、存储介质及终端 | |
CN105761309A (zh) | 一种处理数字地面模型接缝的方法及装置 | |
CN110428386B (zh) | 地图网格合并方法、装置、存储介质、电子装置 | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
US20220011136A1 (en) | Road data processing method, apparatus, device, and storage medium | |
CN110647596A (zh) | 地图数据处理方法和装置 | |
CN111859187B (zh) | 基于分布式图数据库的poi查询方法、装置、设备及介质 | |
EP2996086A1 (en) | System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering | |
CN112348317A (zh) | 一种智慧城市的项目规划条件生成方法和系统 | |
WO2017036409A1 (zh) | 地点获取方法、服务器、客户端以及系统 | |
CN112685429B (zh) | 树状结构模型生成及加载方法、装置、存储介质及设备 | |
TW201445341A (zh) | 基於範圍選取的搜索系統及方法 | |
WO2023005934A1 (zh) | 数据处理方法、系统及电子设备 | |
CN109685751B (zh) | 配送区域的合并方法、装置、电子设备及存储介质 | |
CN112487539A (zh) | 一种智能的建筑模型生成方法、电子设备及存储介质 | |
US20150143301A1 (en) | Evaluating Three-Dimensional Geographical Environments Using A Divided Bounding Area | |
CN106447753B (zh) | 一种物体模型的渲染简化的方法及系统 | |
CN116992943B (zh) | 深度神经网络模型的链路剪枝方法、装置、设备和介质 | |
CN116152446B (zh) | 一种基于ue4的地质模型剖分方法、装置、终端及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |