Order delivery area determination method and device, medium and computer equipment

By smoothing the boundary points of the order delivery area, the number of boundary points is reduced, and the problem of excessive number of boundary points in the prior art is solved, resource demand is reduced and the coverage of the distribution range is ensured.

CN120146723APending Publication Date: 2025-06-13SHENGDOUSHI SHANGHAI SCI & TECH DEV CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311697775.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-11
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

In the prior art, the shape of the order distribution area is usually an irregular polygon, resulting in the need for more boundary points to be characterized, increasing the need for processing resources and storage resources to allocate distribution capacity.

Method used

By obtaining the set of boundary points of the original order delivery area, smoothing the process in the order of boundary points, reducing the number of boundary points, and determining the target order delivery area based on the smoothed boundary points.

Benefits of technology

Effectively reduce the number of boundary points required to characterize the order distribution area, reduce the need for storage and processing resources, and ensure that the distribution capacity can cover the required distribution range.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120146723A_ABST
    Figure CN120146723A_ABST
Patent Text Reader

Abstract

The invention discloses an order delivery area determination method and device, a medium and computer equipment. The method comprises the following steps: acquiring a boundary point set of an original order delivery area of a current store; according to the sequence of the plurality of boundary points in the boundary point set, sequentially obtaining the plurality of boundary points; carrying out smoothing processing on the plurality of boundary points obtained in sequence; the number of the smoothed boundary points is smaller than the number of the boundary points in the boundary point set; obtaining a target order delivery area of the current store based on the smoothed boundary point; the target order delivery area is a range in which delivery capacity can deliver the order of the current store.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of logistics technologies, and in particular, to a method and apparatus for determining an order delivery area, a medium, and a computer device. Background Art

[0002] In the field of logistics, delivery capacity is allocated according to the order delivery area of a store. The delivery area of a store is usually characterized by a set of boundary points of the order delivery area, and the area enclosed by the boundary points in the boundary point set is the order delivery area of the store. However, the shape of the order delivery area is usually an irregular polygon, and the number of boundary points required to represent the order delivery area is large, which not only increases the processing resources required for allocating delivery capacity, but also increases the storage resources required for storing the boundary point set. Summary of the Invention

[0003] In a first aspect, an embodiment of the present disclosure provides a method for determining an order delivery area, the method including: obtaining a set of boundary points of an original order delivery area of a current store; sequentially obtaining a plurality of the boundary points according to the order of the plurality of boundary points in the set of boundary points; performing smoothing processing on the sequentially obtained plurality of boundary points; the number of the boundary points after the smoothing processing is less than the number of the boundary points in the set of boundary points; determining a target order delivery area of the current store based on the boundary points after the smoothing processing; the target order delivery area is a range within which delivery capacity can deliver orders of the current store.

[0004] In some embodiments, the obtaining a set of boundary points of an original order delivery area of a current store includes: obtaining candidate points within the original order delivery area; if at least one neighborhood point of the candidate point is not within the original order delivery area, determining the candidate point as the boundary point; determining the set of the boundary points as the set of boundary points.

[0005] In some embodiments, before obtaining candidate points within the original order delivery area, the method further includes: obtaining grid points in the physical space; if each neighborhood point of the grid point is within the original order delivery area and the grid point is outside the original order delivery area, adding the grid point to the original order delivery area.

[0006] In some embodiments, the order of the multiple boundary points is determined in the following manner: starting from a first starting point in the set of boundary points, visit the current boundary point in the set of boundary points; obtain a first direction sequence corresponding to the current boundary point; the first direction sequence is a sequence composed of multiple directions, and the first direction sequence is determined based on the relative position between the current boundary point and the previous boundary point of the current boundary point; according to the multiple directions indicated by the first direction sequence, find the next boundary point in the set of boundary points whose order is after the current boundary point; update the next boundary point as the current boundary point, and return to the step of visiting the current boundary point in the set of boundary points until the order of each boundary point in the set of boundary points is obtained.

[0007] In some embodiments, the obtaining the first direction sequence corresponding to the current boundary point includes: obtaining a second direction sequence corresponding to the previous boundary point of the current boundary point; obtaining the target direction of the current boundary point relative to the previous boundary point; moving each direction between the target direction and the last direction of the second direction sequence to before the first direction of the second direction sequence to obtain the first direction sequence.

[0008] In some embodiments, the set of boundary points includes an unvisited set of boundary points; the finding the next boundary point of the current boundary point from the set of boundary points includes: if the unvisited set of boundary points is not empty, finding the next boundary point of the current boundary point from the unvisited set of boundary points; if the unvisited set of boundary points is empty, finding the next boundary point of the current boundary point from the visited set of boundary points; if the next boundary point found from the visited set of boundary points is empty or coincides with the first starting point, it is determined that the order of each boundary point in the set of boundary points is obtained.

[0009] In some embodiments, the method further includes: if the unvisited set of boundary points is not empty, the next boundary point of the current boundary point is not found from the unvisited set of boundary points, and the next boundary point found from the visited set of boundary points is not empty, determining the current boundary point as the previous boundary point, updating the next boundary point found from the visited set of boundary points as the current boundary point, and returning to the step of finding the next boundary point of the current boundary point from the unvisited set of boundary points.

[0010] In some embodiments, the method further includes: if the number of the boundary point sets is greater than 1, after obtaining the order of each of the boundary points in the boundary point set, updating the next boundary point set of the boundary point set to the boundary point set, and returning to the step of accessing the current boundary point in the boundary point set starting from the first starting point in the boundary point set until the order of each of the boundary points in all the boundary point sets is obtained.

[0011] In some embodiments, the smoothing process for the sequentially obtained multiple boundary points includes: obtaining multiple consecutive boundary points that meet a preset condition; performing a smoothing process on the multiple consecutive boundary points that meet the preset condition; wherein the preset condition includes: only being on the boundary of the original order delivery area of the current store; or being on the common boundary of the original order delivery areas of the current store and the same adjacent store.

[0012] In some embodiments, the obtaining of multiple consecutive boundary points that meet the preset condition includes: obtaining the marking information of the boundary points, where the marking information is used to indicate the probability that a boundary point belongs to only one store; obtaining the association relationship between the boundary points and the stores, where the association relationship is used to determine the store to which each boundary point belongs; and determining multiple consecutive boundary points that meet the preset condition based on the marking information and the association relationship.

[0013] In some embodiments, multiple consecutive boundary points that meet the preset condition are stored in a temporary boundary list; the obtaining of multiple consecutive boundary points that meet the preset condition includes: when the marking information of the current boundary point in the boundary point set is the second marking information, if the current boundary point is the end point in the boundary point set or the current boundary point belongs to multiple stores, determining the boundary points already stored in the temporary boundary list as multiple consecutive boundary points that meet the preset condition, where the second marking information is used to indicate that the probability that the current boundary point belongs to only one store is greater than the probability that the current boundary point belongs to multiple stores; the method further includes: after performing a smoothing process on multiple consecutive boundary points that meet the preset condition, clearing the temporary boundary list and adding the current boundary point to the temporary boundary list.

[0014] In some embodiments, the method further includes: when the marking information of the current boundary point is the second marking information, if the current boundary point is not the end point in the boundary point set and the current boundary point belongs to only one store, adding the current boundary point to the temporary boundary list.

[0015] In some embodiments, the method further includes: if the current boundary point is the second starting point in the set of boundary points, and the second starting point belongs to only one store, adding the current boundary point to the temporary boundary list, and setting the marking information of the next boundary point of the current boundary point to the second marking information, where the marking information of the second starting point is the first marking information different from the second marking information.

[0016] In some embodiments, a plurality of consecutive boundary points that meet the preset conditions are stored in the temporary boundary list; the method further includes: when the marking information of the current boundary point in the set of boundary points is the third marking information, if the current boundary point is the end point in the set of boundary points, or the current boundary point belongs to only one store, obtaining the third starting point of the temporary boundary list, where the third marking information is used to indicate that the probability that the current boundary point belongs to only one store is less than the probability that the current boundary point belongs to multiple stores; obtaining the target boundary point, where the target boundary point is the previous boundary point of the third starting point in the set of boundary points; determining the list of stores to which the target boundary point belongs and the candidate stores to which the third starting point belongs; neither the list of stores nor the candidate stores includes the current store; if the candidate store is not in the list of stores, determining the boundary points already stored in the temporary boundary list as a plurality of consecutive boundary points that meet the preset conditions; after smoothing the plurality of consecutive boundary points that meet the preset conditions, clearing the temporary boundary list, and adding the current boundary point to the temporary boundary list.

[0017] In some embodiments, the method further includes: if the candidate store is in the list of stores, determining whether the target boundary point and the third starting point are neighborhood points in the original order delivery area of the candidate store; if so, updating the third starting point to the target boundary point, updating the next boundary point of the third starting point in the temporary boundary list to the third starting point, and returning to the step of determining the list of stores to which the target boundary point belongs.

[0018] In some embodiments, the method further includes: if the target boundary point and the third starting point are not neighborhood points in the original order delivery area of the candidate store, determining the boundary points between the third starting point and the end point of the temporary boundary list as a plurality of consecutive boundary points that meet the preset conditions; after smoothing the plurality of consecutive boundary points that meet the preset conditions, clearing the temporary boundary list, and adding the current boundary point to the temporary boundary list.

[0019] In some embodiments, the smoothing process for a plurality of consecutive boundary points that meet a preset condition includes: if the number of boundary points between the third starting point and the ending point of the temporary boundary list is greater than 0, obtain a pre-stored set of common boundary points. The boundary points in the set of common boundary points are the boundary points after smoothing, and the ending point of the set of common boundary points corresponds to the third starting point of the temporary boundary list, and the starting point of the set of common boundary points corresponds to the ending point of the temporary boundary list; determine the boundary points in the set of common boundary points as the boundary points after smoothing corresponding to the plurality of consecutive boundary points that meet the preset condition; if the number of boundary points between the third starting point and the ending point of the temporary boundary list is equal to 0, perform a smoothing process on the boundary points already stored in the temporary boundary list.

[0020] In some embodiments, the method further includes: when the marking information of the current boundary point is the third marking information, if the current boundary point is not the ending point in the set of boundary points and the current boundary point belongs to multiple stores, determine whether the current boundary point and the previous boundary point of the current boundary point in the set of boundary points are neighborhood points within the original order delivery area of the candidate store; if so, add the current boundary point to the temporary boundary list; otherwise, return to the step of obtaining the third starting point of the temporary boundary list.

[0021] In some embodiments, the method further includes: if the current boundary point is the second starting point in the set of boundary points and the second starting point belongs to multiple stores, add the current boundary point to the temporary boundary set, and set the marking information of the next boundary point of the current boundary point to the third marking information, where the marking information of the second starting point is the first marking information different from the third marking information.

[0022] In a second aspect, an embodiment of the present disclosure provides a device for determining an order delivery area. The device includes: a first acquisition module for acquiring a set of boundary points of the original order delivery area of the current store; a second acquisition module for sequentially acquiring a plurality of the boundary points according to the order of the plurality of boundary points in the set of boundary points; a smoothing process module for performing a smoothing process on the sequentially acquired plurality of boundary points; the number of the boundary points after smoothing is less than the number of the boundary points in the set of boundary points; a determination module for determining the target order delivery area of the current store based on the boundary points after smoothing; the target order delivery area is the range within which the delivery capacity can deliver the orders of the current store.

[0023] In some embodiments, the first acquisition module is configured to: acquire candidate points within the delivery area of the original order; if at least one neighborhood point of a candidate point is not within the delivery area of the original order, determine the candidate point as a boundary point;

[0024] Determine the set of boundary points as the boundary point set.

[0025] In some embodiments, the apparatus further includes: a third acquisition module, configured to acquire grid points in the physical space; a first addition module, configured to add a grid point to the delivery area of the original order if all neighborhood points of the grid point are within the delivery area of the original order and the grid point is outside the delivery area of the original order.

[0026] In some embodiments, the order of multiple boundary points is determined based on the following modules: an access module, configured to start from a first starting point in the boundary point set and access the current boundary point in the boundary point set; a fourth acquisition module, configured to acquire a first direction sequence corresponding to the current boundary point; the first direction sequence is a sequence composed of multiple directions, and the first direction sequence is determined based on the relative position between the current boundary point and the previous boundary point of the current boundary point; a search module, configured to search for the next boundary point after the current boundary point in the boundary point set according to the multiple directions indicated by the first direction sequence; a first update module, configured to update the next boundary point as the current boundary point and return to the step of accessing the current boundary point in the boundary point set until the order of each boundary point in the boundary point set is acquired.

[0027] In some embodiments, the fourth acquisition module is configured to: acquire a second direction sequence corresponding to the previous boundary point of the current boundary point; acquire the target direction of the current boundary point relative to the previous boundary point; move each direction between the target direction and the last direction of the second direction sequence to before the first direction of the second direction sequence to obtain the first direction sequence.

[0028] In some embodiments, the boundary point set includes an unvisited boundary point set; the search module is configured to: if the unvisited boundary point set is not empty, search for the next boundary point of the current boundary point in the unvisited boundary point set; if the unvisited boundary point set is empty, search for the next boundary point of the current boundary point in the visited boundary point set; if the next boundary point found in the visited boundary point set is empty or coincides with the first starting point, determine that the order of each boundary point in the boundary point set is acquired.

[0029] In some embodiments, the device further includes: a second determination module, configured to, if the set of unvisited boundary points is not empty, fail to find the next boundary point of the current boundary point from the set of unvisited boundary points, and the next boundary point found from the set of visited boundary points is not empty, determine the current boundary point as the previous boundary point, update the next boundary point found from the set of visited boundary points as the current boundary point, and return to the step of finding the next boundary point of the current boundary point from the set of unvisited boundary points.

[0030] In some embodiments, the device further includes: a second update module, configured to, if the number of the set of boundary points is greater than 1, after obtaining the order of each boundary point in the set of boundary points, update the next set of boundary points of the set of boundary points as the set of boundary points, and return to the step of accessing the current boundary point in the set of boundary points starting from the first starting point in the set of boundary points until the order of each boundary point in all sets of boundary points is obtained.

[0031] In some embodiments, the smoothing processing module is configured to: obtain a plurality of consecutive boundary points that meet a preset condition; perform smoothing processing on the plurality of consecutive boundary points that meet the preset condition; wherein the preset condition includes: only being on the boundary of the original order delivery area of the current store; or being on the common boundary of the original order delivery areas of the current store and the same adjacent store.

[0032] In some embodiments, the smoothing processing module is configured to: obtain the marking information of the boundary point, where the marking information is used to indicate the probability that the boundary point belongs to only one store; obtain the association relationship between the boundary point and the store, where the association relationship is used to determine the store to which each boundary point belongs; based on the marking information and the association relationship, determine a plurality of consecutive boundary points that meet the preset condition.

[0033] In some embodiments, a plurality of consecutive boundary points that meet a preset condition are stored in a temporary boundary list; the obtaining of a plurality of consecutive boundary points that meet the preset condition includes: when the marking information of the current boundary point in the boundary point set is second marking information, if the current boundary point is the end point in the boundary point set, or the current boundary point belongs to multiple stores, determining the boundary points already stored in the temporary boundary list as a plurality of consecutive boundary points that meet the preset condition, where the second marking information is used to indicate that the probability that the current boundary point belongs to only one store is greater than the probability that the current boundary point belongs to multiple stores; the apparatus further includes: a first clearing module, configured to clear the temporary boundary list after smoothing a plurality of consecutive boundary points that meet the preset condition, and add the current boundary point to the temporary boundary list.

[0034] In some embodiments, the apparatus further includes: a second adding module, configured to, when the marking information of the current boundary point is the second marking information, if the current boundary point is not the end point in the boundary point set and the current boundary point belongs to only one store, add the current boundary point to the temporary boundary list.

[0035] In some embodiments, the apparatus further includes: a third adding module, configured to, if the current boundary point is the second starting point in the boundary point set and the second starting point belongs to only one store, add the current boundary point to the temporary boundary list and set the marking information of the next boundary point of the current boundary point to the second marking information, where the marking information of the second starting point is first marking information different from the second marking information.

[0036] In some embodiments, a plurality of consecutive boundary points that meet preset conditions are stored in a temporary boundary list; the apparatus further includes: a third starting point obtaining module, configured to, when the marking information of the current boundary point in the boundary point set is third marking information, if the current boundary point is the end point in the boundary point set, or the current boundary point belongs to only one store, obtain a third starting point of the temporary boundary list, where the third marking information is used to indicate that the probability that the current boundary point belongs to only one store is less than the probability that the current boundary point belongs to multiple stores; a target boundary point obtaining module, configured to obtain a target boundary point, where the target boundary point is the previous boundary point of the third starting point in the boundary point set; a third determining module, configured to determine a store list to which the target boundary point belongs and a candidate store to which the third starting point belongs; neither the store list nor the candidate store includes the current store; a fourth determining module, configured to, if the candidate store is not in the store list, determine the boundary points already stored in the temporary boundary list as a plurality of consecutive boundary points that meet preset conditions; a second clearing module, configured to, after smoothing a plurality of consecutive boundary points that meet preset conditions, clear the temporary boundary list and add the current boundary point to the temporary boundary list.

[0037] In some embodiments, the apparatus further includes: a first determining module, configured to, if the candidate store is in the store list, determine whether the target boundary point and the third starting point are neighborhood points within the original order delivery area of the candidate store; a third updating module, configured to, if so, update the third starting point to the target boundary point, update the next boundary point of the third starting point in the temporary boundary list to the third starting point, and return to the step of determining the store list to which the target boundary point belongs.

[0038] In some embodiments, the apparatus further includes: a fifth updating module, configured to, if the target boundary point and the third starting point are not neighborhood points within the original order delivery area of the candidate store, determine the boundary points between the third starting point and the end point of the temporary boundary list as a plurality of consecutive boundary points that meet preset conditions; a third clearing module, configured to, after smoothing a plurality of consecutive boundary points that meet preset conditions, clear the temporary boundary list and add the current boundary point to the temporary boundary list.

[0039] In some embodiments, the smoothing processing module is configured to: if the number of boundary points between the third starting point and the ending point of the temporary boundary list is greater than 0, obtain a pre-stored set of common boundary points, where the boundary points in the set of common boundary points are boundary points after smoothing processing, and the ending point of the set of common boundary points corresponds to the third starting point of the temporary boundary list, and the starting point of the set of common boundary points corresponds to the ending point of the temporary boundary list; determine the boundary points in the set of common boundary points as the boundary points after smoothing processing corresponding to a plurality of consecutive boundary points that meet the preset conditions; if the number of boundary points between the third starting point and the ending point of the temporary boundary list is equal to 0, perform smoothing processing on the boundary points stored in the temporary boundary list.

[0040] In some embodiments, the apparatus further includes: a second determination module, configured to, when the marking information of the current boundary point is the third marking information, if the current boundary point is not the ending point in the set of boundary points and the current boundary point belongs to multiple stores, determine whether the current boundary point and the previous boundary point of the current boundary point in the set of boundary points are neighborhood points in the original order delivery area of the candidate store; a fourth addition module, configured to, if so, add the current boundary point to the temporary boundary list; otherwise, return to the step of obtaining the third starting point of the temporary boundary list.

[0041] In some embodiments, the apparatus further includes: a fifth addition module, configured to, if the current boundary point is the second starting point in the set of boundary points and the second starting point belongs to multiple stores, add the current boundary point to the temporary boundary set and set the marking information of the next boundary point of the current boundary point to the third marking information, where the marking information of the second starting point is a first marking information different from the third marking information.

[0042] In a third aspect, an embodiment of the present disclosure provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method described in any embodiment of the present disclosure is implemented.

[0043] In a fourth aspect, an embodiment of the present disclosure provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the program, the method described in any embodiment of the present disclosure is implemented.

[0044] In the embodiments of the present disclosure, obtaining a plurality of boundary points in sequence according to the order of the plurality of boundary points in the boundary point set can accurately obtain the boundary of the order delivery area; since the number of boundary points after smoothing processing is less than the number of the boundary points in the boundary point set, therefore, it is possible to effectively reduce the number of boundary points required to represent the order delivery area, thereby reducing the storage resources required for the boundary point set and reducing the processing resources occupied when processing the boundary point set.

[0045] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and do not limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The drawings herein are incorporated into the specification and constitute a part of the present disclosure. These drawings illustrate embodiments consistent with the present disclosure and, together with the specification, are used to explain the technical solutions of the present disclosure.

[0047] Figure 1 It is a schematic diagram of the order delivery area and boundary points in the embodiments of the present disclosure.

[0048] Figure 2 It is a flowchart of the method for determining the order delivery area in the embodiments of the present disclosure.

[0049] Figure 3 It is a schematic diagram of the original order delivery area and sub-areas in the embodiments of the present disclosure.

[0050] Figure 4A and Figure 4B They are respectively schematic diagrams of neighborhood points in the embodiments of the present disclosure.

[0051] Figure 5 It is a schematic diagram of boundary points in the embodiments of the present disclosure.

[0052] Figure 6 It is a schematic diagram of a cavity in the embodiments of the present disclosure.

[0053] Figure 7 It is a schematic diagram of the numbering of boundary points in the embodiments of the present disclosure.

[0054] Figure 8 It is a schematic diagram of the relationship between the first direction sequence and the second direction sequence in the embodiments of the present disclosure.

[0055] Figure 9 It is a schematic diagram of the sorting process of boundary points in the embodiments of the present disclosure.

[0056] Figure 10 It is a general flowchart of the sorting process in the embodiments of the present disclosure.

[0057] Figure 11AIt is a schematic diagram of boundary points of the original order delivery area of adjacent stores in an embodiment of the present disclosure.

[0058] Figure 11B It is a schematic diagram of the smoothing process of boundary points of the original order delivery area of adjacent stores in an embodiment of the present disclosure.

[0059] Figure 12 It is a schematic diagram of boundary points of the original order delivery area of adjacent stores in an embodiment of the present disclosure and their numbers.

[0060] Figure 13 It is a general flowchart of the boundary point smoothing process in an embodiment of the present disclosure.

[0061] Figure 14 It is a schematic diagram of boundary points of the original order delivery area of adjacent stores in another embodiment of the present disclosure and their numbers.

[0062] Figure 15 It is a schematic diagram of boundary points of the original order delivery area of adjacent stores in still another embodiment of the present disclosure and their numbers.

[0063] Figure 16 It is a schematic diagram of boundary points and their marking information in an embodiment of the present disclosure.

[0064] Figure 17A and Figure 17B It is a schematic diagram of the smoothing process in an embodiment of the present disclosure.

[0065] Figure 18 It is a schematic diagram of the process of selecting a second starting point in an embodiment of the present disclosure.

[0066] Figure 19 It is a block diagram of a device for determining an order delivery area in an embodiment of the present disclosure.

[0067] Figure 20 It is a schematic diagram of a computer device in an embodiment of the present disclosure. Detailed implementation manners

[0068] Here, exemplary embodiments will be described in detail, and examples thereof are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0069] The terms used in this disclosure are for the purpose of describing particular embodiments only and are not intended to limit the disclosure. The singular forms "a", "the", and "said" used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. Additionally, the term "at least one" as used herein means any one of a plurality or any combination of at least two of a plurality.

[0070] It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this disclosure, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "when" or "while" or "in response to determining".

[0071] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of this disclosure and to make the above-mentioned objects, features, and advantages of the embodiments of this disclosure more obvious and understandable, the technical solutions in the embodiments of this disclosure will be further described in detail below with reference to the accompanying drawings.

[0072] The delivery area of a store is usually characterized by a set of boundary points of the order delivery area. Figure 1 A schematic diagram showing the order delivery area and boundary points is presented. Among them, the area where the five-pointed star is located represents the store, the polygonal area where the store is located represents the order delivery area of the store, and the black dots on the boundary line of the order delivery area represent the boundary points of the order delivery area. When allocating delivery capacity based on the order delivery area, it is necessary to load the set of boundary points that make up the order delivery area. However, the shape of the order delivery area is usually an irregular polygon, and the number of boundary points required to characterize the order delivery area is relatively large. This results in more processing resources being occupied when allocating delivery capacity and more storage resources being required to store the set of boundary points.

[0073] Based on this, the embodiments of this disclosure provide a method for determining an order delivery area, see Figure 2 , the method includes:

[0074] Step S1: Obtain the set of boundary points of the original order delivery area of the current store;

[0075] Step S2: Sequentially obtain a plurality of boundary points according to the order of the plurality of boundary points in the set of boundary points;

[0076] Step S3: Smooth the multiple boundary points obtained in sequence; the number of boundary points after smoothing is less than the number of boundary points in the boundary point set.

[0077] Step S4: Determine the target order delivery area of the current store based on the boundary points after smoothing; the target order delivery area is the range within which the delivery capacity can deliver the orders of the current store.

[0078] In the embodiment of the present disclosure, since the boundary of the order delivery area is formed by sequentially connecting multiple boundary points, therefore, by sequentially obtaining multiple boundary points in the order of the multiple boundary points in the boundary point set, the boundary of the order delivery area can be accurately obtained. Then, smooth the multiple boundary points obtained in sequence, and then obtain the target order delivery area of the current store based on the boundary points after smoothing. Since the number of boundary points after smoothing is less than the number of boundary points in the boundary point set, therefore, the number of boundary points required to represent the order delivery area can be effectively reduced, thereby reducing the storage resources required for the boundary point set and reducing the processing resources occupied when processing the boundary point set. The specific solutions of the embodiments of the present disclosure will be illustrated by examples below.

[0079] In step S1, the current store is the store for which the boundary point smoothing is currently performed. The original order delivery area of the current store can be a pre-generated area. For example, it can be manually delimited by the user or automatically generated according to a certain algorithm. The original order delivery area includes multiple sub-areas, and each sub-area can be divided according to longitude and latitude. As Figure 3 shown, multiple grid points can be divided in the physical space according to the first interval in the longitude direction and the second interval in the latitude direction. Each grid point is a sub-area and can be called a Grid of Interest (GOI), as shown by the squares in the figure. Among them, the first interval and the second interval can be equal or unequal. In other examples, the sub-areas can also be areas of other shapes (such as hexagons), or the sub-areas can also be areas with specific semantic information, such as an office building, a community, a hospital, etc. The target area can also be divided into multiple sub-areas in other ways, which will not be listed one by one here.

[0080] The sub-areas within the original order delivery area can include boundary sub-areas and non-boundary sub-areas. Among them, the boundary sub-area is the sub-area located on the boundary of the original order delivery area and is also called a boundary point. The non-boundary sub-area is the sub-area within the original order delivery area other than the boundary sub-area and is also called a non-boundary point. The set composed of boundary points is called the boundary point set.

[0081] In some embodiments, candidate points within the delivery area of the original order can be obtained. Among them, a candidate point can be any sub - area within the delivery area of the original order. The neighborhood points of a candidate point are the sub - areas adjacent to the candidate point, and the neighborhood points of a candidate point can include four adjacent sub - areas located above, below, to the left, and to the right of the candidate point. As Figure 4A shown, each square represents a sub - area. The neighborhood points of candidate point a in the figure include the sub - areas represented by the gray squares. The neighborhood points of a candidate point can also include eight adjacent sub - areas located above, below, to the left, to the right, in the upper - left, in the lower - left, in the upper - right, and in the lower - right of the candidate point. As Figure 4B shown, the neighborhood points of candidate point a in the figure include the sub - areas represented by the gray squares and the sub - areas represented by the black squares.

[0082] If at least one neighborhood point of a candidate point is not within the delivery area of the original order, determine that candidate point as a boundary point. The following takes reference to Figure 5 as an example to illustrate boundary points and non - boundary points. As Figure 5 shown, in the embodiment where the neighborhood points include eight adjacent sub - areas as shown in Figure 4B shown, the upper - left and lower - right neighborhood points of candidate point a are not within the delivery area of the original order. Therefore, candidate point a is a boundary point; while all eight neighborhood points of candidate point b are within the delivery area of the original order. Therefore, candidate point b is not a boundary point.

[0083] In some embodiments, the neighborhood points of a candidate point can be determined whether they are within the delivery area of the original order in a preset order. For example, in the embodiment where the neighborhood points include four adjacent sub - areas as shown in Figure 4A shown, the preset order can be left → up → right → down. In the embodiment where the neighborhood points include eight adjacent sub - areas as shown in Figure 4B shown, the preset order can be left → upper - left → up → upper - right → right → lower - right → down → lower - left. Taking the candidate point a shown in Figure 5 as an example, in the embodiment including eight adjacent sub - areas, the left neighborhood point of candidate point a can be searched first, then the upper - left neighborhood point of candidate point a, and then the upper neighborhood point of candidate point a, and so on. It can be understood that the above is only an exemplary illustration. In addition to the above order, other orders can also be used to determine whether the neighborhood points of a candidate point are within the delivery area of the original order, and they will not be listed one by one here.

[0084] In some embodiments, there may be voids within the delivery area of the original order. If the sub - areas surrounding a group of connected sub - areas (including one or more sub - areas) are all included in the delivery area of the original order, but this group of sub - areas is not included in the delivery area of the original order, then this group of sub - areas is a void. As Figure 6As shown, each square represents a sub-region. The sub-regions represented by the gray squares are interconnected. If all other sub-regions (i.e., the sub-regions represented by the black squares) around the sub-region represented by the gray square are included in the original order delivery area, but the sub-region represented by the gray square is not included in the original order delivery area, then the sub-region represented by the gray square is an air bubble.

[0085] Grid points in the physical space can be obtained. If all the neighboring points of a grid point are within the original order delivery area and the grid point is outside the original order delivery area, the grid point is added to the original order delivery area. In this way, the air bubbles in the original order delivery area can be filled in to remove the air bubbles. After removing the air bubbles, the boundary points are determined based on whether all the neighboring points of a candidate point are within the original order delivery area, thus avoiding incorrect determination of boundary points caused by the existence of air bubbles.

[0086] In step S2, the order of multiple boundary points in the boundary point set can be obtained by sorting these multiple boundary points. When sorting, a starting point (referred to as the first starting point) in the boundary point set can be pre-selected. Starting from the starting point, the next boundary point is found for each boundary point in turn until each boundary point in the boundary point set is traversed, thereby obtaining the order of each boundary point in the boundary point set.

[0087] Specifically, starting from the first starting point, the current boundary point in the boundary point set can be accessed. For example, when accessing the first starting point, the first starting point is a boundary point. When accessing the next boundary point of the first starting point, the next boundary point of the first starting point is a boundary point. And so on. When accessing the current boundary point, the first direction sequence corresponding to the current boundary point can be obtained. Among them, the first direction sequence is a sequence composed of multiple directions. In some embodiments, the first direction sequence can be a clockwise direction sequence starting from a certain direction. For example, if the starting direction is "up", the first direction sequence can be {up, upper right, right, lower right, down, lower left, left, upper left}. Another example, if the starting direction is "upper right", the first direction sequence can be {upper right, right, lower right, down, lower left, left, upper left, up}. Other directions can also be used as the starting direction to obtain other first direction sequences, which will not be listed one by one here.

[0088] The first direction sequence can be determined based on the relative position between the current boundary point and the previous boundary point of the current boundary point. As the current boundary point is updated, the relative position between the current boundary point and the previous boundary point may also be updated. Therefore, the first direction sequence corresponding to the current boundary point may also be updated. For example, see Figure 7, when the current boundary point is the boundary point numbered 2, the previous boundary point is the boundary point numbered 1, and the relative position between the current boundary point and the previous boundary point is "lower right". When the current boundary point is the boundary point numbered 3, the previous boundary point is the boundary point numbered 2, and the relative position between the current boundary point and the previous boundary point changes from "lower right" to "right". Therefore, the first direction sequence when the current boundary point is the boundary point numbered 2 may be different from the first direction sequence when the current boundary point is the boundary point numbered 3. After obtaining the first direction sequence, the next boundary point (hereinafter referred to as the next boundary point of the current boundary point) whose order is after the current boundary point can be found from the set of boundary points according to the multiple directions indicated by the first direction sequence. Among them, the next boundary point of the current boundary point is the neighborhood point of the current boundary point. Assume that the first direction sequence is {up, upper right, right, lower right, down, lower left, left, upper left}, then the neighborhood point above the current boundary point can be found from the set of boundary points first. If not found, the neighborhood point in the upper right of the current boundary point can be found from the set of boundary points. If not found, the neighborhood point on the right of the current boundary point can be found from the set of boundary points. And so on.

[0089] After finding the next boundary point of the current boundary point, the next boundary point can be updated as the current boundary point, and the step of accessing the current boundary point in the set of boundary points can be returned until the order of each boundary point in the set of boundary points is obtained. See Figure 7 , each black dot represents a boundary point, and the number next to the boundary point represents the number of the boundary point. In some embodiments, the number of the boundary point can be determined based on the longitude and latitude of the boundary point. For example, the longitude and latitude of the boundary point can be concatenated to obtain the identification information of the boundary point. Assume that the longitude and latitude of a boundary point are (119.94475, 31.7682), then its number is 11994475317682. In addition, the number of the boundary point can also be determined in other ways, as long as each boundary point can be uniquely identified. For the sake of simplicity, the following takes the numbers of the boundary points as positive integers such as 1, 2, 3, etc. as an example for illustration.

[0090] Assume that the boundary point numbered 1 is the starting point, then the starting point can be used as the current boundary point first, and the next boundary point for this starting point can be found. Assume that the next boundary point of the starting point is the boundary point numbered 2. At this time, the boundary point numbered 2 can be used as the current boundary point, and the next boundary point for this starting point can be found. And so on, until the order of all 23 boundary points numbered from 1 to 23 is obtained.

[0091] In some embodiments, a second direction sequence corresponding to the previous boundary point of the current boundary point can be obtained, a target direction of the current boundary point relative to the previous boundary point can be obtained, and each direction between the target direction and the last direction of the second direction sequence is moved before the first direction of the second direction sequence to obtain a first direction sequence.

[0092] Taking Figure 7 as an example, assume that the current boundary point is the boundary point numbered 11, the previous boundary point is the boundary point numbered 10, and assume that the second direction sequence corresponding to the boundary point numbered 10 is {up, upper right, right, lower right, down, lower left, left, upper left}. Since the boundary point numbered 11 is to the left of the boundary point numbered 10, that is, the first target direction of the current boundary point relative to the previous boundary point is "left", therefore, as Figure 8 shown, each direction from "left" until the last direction "upper left" in the second direction sequence (including "left" and "upper left") is moved before the first direction "up" of the second direction sequence to obtain a first direction sequence of {left, upper left, up, upper right, right, lower right, down, lower left}. In this way, when searching for the next boundary point of the boundary point numbered 11, according to the first direction sequence corresponding to the boundary point numbered 11, the next boundary point will be searched first from the left of the boundary point numbered 11, so as to directly locate the boundary point numbered 12, improving the search efficiency of the next boundary point.

[0093] The first direction sequence and the second direction sequence shown in the above embodiments are both clockwise direction sequences. In practical applications, a counterclockwise direction sequence can also be used. For example, the second direction sequence of a certain boundary point a can be {left, lower left, down, lower right, right, upper right, up, upper left}. Assume that the next boundary point of boundary point a is the current boundary point, and the current boundary point is to the right of boundary point a, then the first direction sequence corresponding to the current boundary point is {right, upper right, up, upper left, left, lower left, down, lower right}, which is also a counterclockwise direction sequence.

[0094] In the above embodiments, the first starting point can be the boundary point with the largest longitude, the boundary point with the smallest longitude, the boundary point with the largest latitude, or the boundary point with the smallest latitude in the boundary point set. In this way, there is no need to search for the next boundary point of the first starting point in all directions, thereby improving the search efficiency of the next boundary point. For example, assume that the first starting point is the boundary point with the largest latitude in the boundary point set, then the next boundary point of the first starting point will not appear above, above the left, and above the right of the first starting point. Therefore, it is only necessary to search for the next boundary point of the first starting point in the five directions of the left, lower left, down, lower right, and right of the first starting point.

[0095] In some embodiments, the boundary point with the largest latitude in the boundary point set can be determined as the first starting point. If the number of boundary points with the largest latitude is greater than 1, the boundary point with the largest longitude among the boundary points with the largest latitude is determined as the first starting point. In this way, since the first starting point is the highest point in the boundary point set, the next boundary point of the first starting point must appear below or to the lower right of the first starting point, so it is only necessary to search for the next boundary point of the first starting point in the two directions of below and to the lower right of the first starting point, thereby improving the search efficiency. Figure 7 For example, according to the selection rule of the first starting point, the boundary point numbered 1 has the highest latitude and the largest longitude, and is selected as the first starting point. Next, we start looking for the next boundary point of the first starting point. Among the 8 neighboring points around the boundary point numbered 1, only the boundary point numbered 2 and the boundary point numbered 3 are in the boundary point set. Assuming that the first direction sequence corresponding to the first starting point is {up, upper right, right, lower right, bottom, lower left, left and upper left}, the boundary point numbered 2 will be detected first, and the boundary point numbered 2 will be determined as the next boundary point of the first starting point.

[0096] In some embodiments, the boundary point set includes an unvisited boundary point set. If the unvisited boundary point set is not empty, the next boundary point of the current boundary point is searched from the unvisited boundary point set. Figure 7 For example, when looking for the next boundary point with boundary point numbered 4 as the current boundary point, among the 8 neighboring points around it, only boundary point numbered 3 and boundary point numbered 5 are in the boundary point set, so boundary point numbered 3 and boundary point numbered 5 are both candidates for the next boundary point, but boundary point numbered 3 has been visited, while boundary point numbered 5 has not been visited, so boundary point numbered 5 is used as the next boundary point of the current boundary point.

[0097] Furthermore, the boundary point set also includes the visited boundary point set. Each time a boundary point is visited, the boundary point can be added to the visited boundary point set. If the unvisited boundary point set is empty, the next boundary point of the current boundary point is searched from the visited boundary point set. Figure 7 As shown in the figure, assuming that the boundary points numbered 1 to 23 have all been visited, the unvisited boundary point set is empty, and the visited boundary point set includes the boundary points numbered 1 to 23. At this time, the next boundary point of the current boundary point can be found from the visited boundary point set.

[0098] If the next boundary point found from the visited boundary point set is empty or coincides with the first starting point, determine the order in which each boundary point in the boundary point set is obtained. Figure 7, when the current key point is the boundary point numbered 23, the next boundary point is the boundary point numbered 1, and this boundary point coincides with the first starting point, it indicates that all boundary points in the boundary point set have been visited.

[0099] If the set of unvisited boundary points is not empty, but the next boundary point of the current boundary point cannot be found in the set of unvisited boundary points, and the next boundary point found in the set of visited boundary points is not empty, then the current boundary point is determined as the previous boundary point, the next boundary point found in the set of visited boundary points is updated as the current boundary point, and the step of finding the next boundary point of the current boundary point from the set of unvisited boundary points is returned.

[0100] If the set of unvisited boundary points is not empty, it means that there are still boundary points in the boundary point set that have not been sorted. The next boundary point of the current boundary point cannot be found in the set of unvisited boundary points, indicating that none of the currently unvisited boundary points are within the neighborhood range of the current boundary point. See Figure 9 , assuming that the current boundary point is the boundary point numbered 8, the set of visited boundary points includes boundary points numbered 1 to 7, and the set of unvisited boundary points includes boundary points numbered 9 to 11. At this time, the boundary points numbered 9 to 11 are not within the neighborhood range of the boundary point numbered 8. Therefore, the boundary point numbered 8 is updated as the previous boundary point, and the current boundary point is found from the set of visited boundary points, and the current boundary point is the boundary point numbered 7. Then, the next boundary point of the current boundary point is found from the set of unvisited boundary points, and the next boundary point is the boundary point numbered 9.

[0101] In the related art, there will be a problem of boundary point loss during sorting. For example, when sorting the boundary points numbered 7 to 9, usually the boundary point numbered 9 is directly determined as the next boundary point of the boundary point numbered 7. In this way, the boundary point numbered 8 will be lost. Through the method of this embodiment, each boundary point in the boundary point set can be sorted, reducing the loss of boundary points.

[0102] In some embodiments, if the number of boundary point sets is greater than 1, after obtaining the order of each boundary point in the boundary point set, the next boundary point set of the boundary point set is updated as the boundary point set, and the step of accessing the current boundary point in the boundary point set starting from the first starting point in the boundary point set is returned until the order of each boundary point in all boundary point sets is obtained. Such as Figure 7As shown, it is assumed that the set of boundary points 1 includes boundary points numbered from 1 to 23, and the set of boundary points 2 includes boundary points numbered from 24 to 31. After sorting the boundary points numbered from 1 to 23 in the set of boundary points 1, the set of boundary points 2 can be processed next to sort the boundary points numbered from 24 to 31 in the set of boundary points 2.

[0103] The overall flowchart of the sorting process in the embodiments of the present disclosure is as Figure 10 shown. For an unsorted set of boundary points G, a first starting point can be determined therefrom and the current boundary point can be accessed starting from the first starting point. Then, a next boundary point is searched for the current boundary point. When searching for the next boundary point, first search for the next boundary point in the set of unvisited boundary points U. If the next boundary point in the set of unvisited boundary points U is empty, then search for the next boundary point in the set of visited boundary points V. If the next boundary point cannot be obtained from the set of unvisited boundary points U, then update the current boundary point to the previous boundary point, obtain the current boundary point from the visited boundary points, and continue to search for the next boundary point for the current boundary point in the set of unvisited boundary points U. If the next boundary point is empty or coincides with the first starting point, the process ends.

[0104] After sorting each boundary point in the set of boundary points, an index of the boundary points of the current store can be established based on the order of each boundary point in the set of boundary points. This index is used to associatively store the order of each boundary point on the boundary of the original order delivery area of the current store, the number of each boundary point, and the identification information of the current store. By querying the index, it can be determined which boundary point in the set of boundary points is the nth boundary point on the boundary of the original order delivery area of the current store. When querying the index, the number of the boundary point and the identification information of the current store can be input, so as to obtain the order of the boundary point according to the input information. Alternatively, the order of the boundary point and the identification information of the current store can be input, so as to obtain the number of the boundary point according to the input information.

[0105] In step S3, multiple sequentially obtained boundary points can be smoothed. Smoothing can reduce the number of boundary points, thereby reducing the storage resources occupied by the set of boundary points and the processing resources required to process the set of boundary points. For example, referring to Figure 17A , for multiple boundary points a, b, and c that are collinear or approximately collinear (the angle is close to 180°), removing boundary point a does not affect the scope of the order delivery area. Therefore, boundary point a can be removed through smoothing, and only boundary point b and boundary point c are retained. Another example, referring to Figure 17B, since there is an upper limit on the number of boundary points that the business system can handle, even if sacrificing the scope of the order delivery area after removing boundary point a, it is still necessary to remove boundary point a to ensure that the number of boundary points does not exceed the upper limit of the number of boundary points that the business system can handle. However, in practical applications, smoothing the boundary points may cause the target order delivery areas of adjacent stores to overlap with each other. As Figure 11A shown, the boundary points of the original order delivery area of store A and the boundary points of the original order delivery area of store B overlap in some areas and do not overlap in some areas. If the common boundary points of stores A and B are continuous, then with the same boundary smoothing process, stores A and B will not form an overlap at the continuous common boundary points. But if it is as Figure 11B shown, if there are non-common boundary points between two segments of continuous common boundary points, after boundary smoothing, the boundary points of store A are shown as the gray solid line in the figure, and the boundary points of store B after boundary smoothing are shown as the gray dashed line in the figure. It can be seen that the target order delivery areas of stores A and B overlap with each other.

[0106] To solve the above problems, the embodiments of the present disclosure can obtain a plurality of continuous boundary points that meet the preset conditions and perform smoothing processing on the above-mentioned plurality of continuous boundary points. Among them, the preset conditions include: only on the boundary of the original order delivery area of the current store (hereinafter referred to as condition one), or on the common boundary of the original order delivery areas of the current store and the same adjacent store (hereinafter referred to as condition two).

[0107] As Figure 12As shown in the figure, assume that the current store is Store A. Each black dot in the figure represents a boundary point, and the numbers in the figure represent the numbers of the boundary points. The boundary points numbered 13 to 16 are consecutive boundary points unique to Store A; the boundary points numbered 8 to 10 are consecutive common boundary points on the common boundary between Store A and Store C. The boundary formed by the boundary points numbered 8 to 10 is the common boundary between Store A and Store C, and the boundary points numbered 8 to 10 are the common boundary points on the common boundary between Store A and Store C; the boundary points numbered 17 to 21 are consecutive common boundary points on the common boundary between Store A and Store B. The boundary formed by the boundary points numbered 17 to 21 is the common boundary between Store A and Store B, and the boundary points numbered 17 to 21 are the common boundary points on the common boundary between Store A and Store B. Therefore, for Store A, the boundary points numbered 13 to 16 can be used as a group of boundary points (i.e., the consecutive multiple boundary points that meet the first condition above) for smoothing, the boundary points numbered 8 to 10 can be used as another group of boundary points (i.e., the consecutive multiple boundary points that meet the second condition above) for smoothing, and the boundary points numbered 17 to 21 can also be used as a group of boundary points (i.e., the consecutive multiple boundary points that meet the second condition above) for smoothing.

[0108] After each group of boundary points is smoothed, it can be used to determine the target order delivery area of the store to which the corresponding boundary point belongs. For example, the boundary points numbered 13 to 16 are a group of consecutive boundary points unique to Store A. Therefore, after the boundary points numbered 13 to 16 are smoothed, they are used to determine the target order delivery area of Store A. The boundary points numbered 8 to 10 are a group of consecutive common boundary points on the common boundary between Store A and Store C. Therefore, after the boundary points numbered 8 to 10 are smoothed, they are used to determine the target order delivery areas of Store A and Store B respectively. The boundary points numbered 17 to 21 are a group of consecutive common boundary points on the common boundary between Store A and Store B. Therefore, after the boundary points numbered 8 to 10 are smoothed, they are used to determine the target order delivery areas of Store A and Store C respectively.

[0109] Since the same group of boundary points for smoothing only includes consecutive boundary points unique to the current store or only includes consecutive boundary points on the common boundary between the current store and the adjacent store, after smoothing such a group of boundary points, the target order delivery areas of adjacent stores will not overlap.

[0110] In some embodiments, to facilitate determining a series of consecutive boundary points that meet a preset condition, marking information may be set for each boundary point. The marking information is used to indicate the probability that a boundary point belongs to only one store. If the probability that a boundary point belongs to only one store is greater than the probability that the boundary point belongs to multiple stores, the marking information of the boundary point is the second marking information. If the probability that a boundary point belongs to only one store is less than the probability that the boundary point belongs to multiple stores, the marking information of the boundary point is the third marking information. Herein, a boundary point belonging to only one store means that the boundary point is on the boundary of the order delivery area of this store, and a boundary point belonging to multiple stores means that the boundary point is on the common boundary of the order delivery areas of these multiple stores. In particular, to identify the starting point (hereinafter referred to as the second starting point) in the set of boundary points, the identification information of the second starting point may also be set as the first identification information.

[0111] The second starting point may be different from the first starting point in the foregoing embodiments. The second starting point may be the starting point of a series of consecutive boundary points that meet a preset condition. Still taking Figure 12 as an example, and assuming that the boundary points are connected in a clockwise direction, the boundary point numbered 13 is the starting point of a series of consecutive boundary points that meet condition one, and the boundary points numbered 10 and 21 are the starting points of a series of consecutive boundary points that meet condition two. Therefore, the boundary point numbered 13, the boundary point numbered 10, or the boundary point numbered 21 may be determined as the second starting point. When the foregoing boundary points are used as the second starting point, a series of consecutive boundary points after the second starting point may be processed using the same smoothing processing logic as the same group of boundary points as the second starting point, thereby reducing the number of times of switching the smoothing processing logic, reducing the complexity of the smoothing processing, and improving the smoothing processing efficiency. For example, when the boundary point numbered 9 is used as the second starting point, only the boundary point numbered 9 and the boundary point numbered 8 can be processed as a group of boundary points, the boundary points numbered 13 to 16 can be processed as a group of boundary points, the boundary points numbered 21 to 17 can be processed as a group of boundary points, and then the boundary point numbered 10 is processed. In this way, it takes four processes to finally complete the boundary smoothing processing of store A. When the boundary point numbered 13 is used as the second starting point, first, the boundary points numbered 13 to 16 can be processed as a group of boundary points, then the boundary points numbered 21 to 17 can be processed as a group of boundary points, and then the boundary points numbered 10 to 8 can be processed as a group of boundary points. In this way, only three processes are required.

[0112] In the case where the current boundary point belongs to multiple stores, the condition for the current boundary point to be selected as the second starting point is that both the current boundary point and the previous boundary point are common boundary points, but not the common boundary points of the current store and the same store. When the previous boundary point is a common boundary point, but the current boundary point only belongs to the current store, the previous boundary point is used as the second starting point. That is to say, the second starting point is a common boundary point and belongs to the same store as its next boundary point. See Figure 18 , suppose there are three stores, denoted as A, B, and C respectively. Among them, store A has 4 boundary points, and their numbers are 1, 2, 3, and 4 respectively, and these 4 boundary points are in order, and the order is 1→2→3→4→1, forming a closed loop. The boundary point G numbered 2 2 is the common boundary point of store A and store B, that is, f(G 2 ) = {A, B}, and the boundary point G numbered 3 3 is the common boundary point of store A and store C, then f(G 3 ) = {A, C}. Initialize the starting point flag st = 0, indicating that the first starting point in the default order is the second starting point, that is, the boundary point G numbered 1 in this example 1 . For G 1 , its previous boundary point is the boundary point G numbered 4 4 , and f(G 1 ) = f(G 4 ) = {A}, that is, the boundary point numbered 1 and the boundary point numbered 4 both belong to the boundary points of store A.

[0113] Define p = f(G 4 ) - f(G 1 ), q = f(G 1 ) - f(G 4 ), then At this time, the starting point flag st is not updated. For the boundary point G numbered 2 2 , its previous point is G 1 , at this time f(G 2 ) = {A, B}, f(G 1 ) = {A}, then q = {B}, at this time the starting point flag st is not updated. For the boundary point G numbered 3 3 , its previous point is G 2 , at this time f(G 3 ) = {A, C}, f(G 2 ) = {A, B}, then p = {B}, q = {C}, at this time update the starting point flag st = G 3 . For the boundary point G numbered 4 4 , its previous point is G 3 , at this time f(G4 ) = {A}, f(G 3 ) = {A, C}, then p = {C}, At this time, update the starting point identifier st = G3. Finally, the second starting point is G 3 , and its final order is 3 → 4 → 1 → 2 → 3.

[0114] Any two of the first identification information, the second identification information, and the third identification information are different. In some embodiments, the marking information may include numbers, letters, and / or symbols. Taking the marking information including numbers as an example, the first marking information may be -1, the marking information of other boundary points (referred to as non-starting points) other than the second starting point may be 0 or 1, where the second marking information may be 0 and the third marking information may be 1. Assuming the marking information is denoted as Flag, the setting method of the marking information of each boundary point is shown in the following table:

[0115] Second starting point Non - starting point Higher probability of belonging to one store Flag = - 1 Flag = {0, 1} Higher probability of belonging to multiple stores Flag = - 1 Flag = {0, 1}

[0116] It can be understood that the above is an exemplary illustration, and the representation methods of various marking information are not limited to those described in the above embodiments. In practical applications, there are often multiple consecutive boundary points that belong to only one store, or multiple consecutive boundary points that belong to multiple stores. Therefore, when the previous boundary point of a certain boundary point belongs to only one store, it is highly probable that this boundary point also belongs to one store; similarly, when the previous boundary point of a certain boundary point belongs to multiple stores, it is highly probable that this boundary point also belongs to multiple stores. Therefore, the identification information of the boundary point can be determined based on the number of stores to which the previous boundary point of this boundary point belongs. When the identification information of the boundary points is different, different smoothing processing procedures can be adopted. By setting different marking information for the boundary points, some unnecessary processing procedures can be omitted, thereby improving the smoothing processing efficiency.

[0117] It is also possible to obtain the association relationship between the boundary point and the store, and this association relationship is used to determine the store to which each boundary point belongs. By obtaining the association relationship between the boundary point and the store, it can be determined whether the boundary point belonging to multiple stores is a common boundary point of the current store and the same adjacent store. Among them, the association relationship can be denoted as f(g). Assuming that f(g) of a boundary point = {A, B}, it means that the stores to which this boundary point belongs include store A and store B, that is, this boundary point is a common boundary point on the common boundary of store A and store B.

[0118] Based on the marking information and the association relationship, multiple continuous boundary points that meet the preset conditions can be determined. For example, assuming that the marking information of multiple continuous boundary points is all 0, then these multiple continuous boundary points are only on the boundary of the original order delivery area of ​​the current store, that is, these multiple continuous boundary points are boundary points that meet condition one. If the marking information of multiple continuous boundary points is all 1, the store to which these multiple continuous boundary points belong can be determined based on the association relationship. If the stores to which these multiple continuous boundary points belong are all the current store and the same store, then these multiple continuous boundary points are boundary points that meet condition two.

[0119] In some embodiments, a temporary boundary list can be established. Each time a boundary point is obtained, the boundary point can be added to the temporary boundary list, and the next boundary point can be obtained. When it is determined that the preset condition satisfied by the current boundary point has changed relative to the previous boundary point, the boundary points stored in the temporary boundary list can be obtained, and the obtained boundary points can be used as a group of boundary points for smoothing to obtain smoothed boundary points. Among them, the previous boundary point and the next boundary point of the current boundary point can be determined according to a pre-established index. For example, assuming that the boundary points stored in the temporary boundary list are all boundary points that meet condition one, and the current boundary point does not meet condition one, the boundary points in the temporary boundary list can be smoothed. The acquired boundary points can also be cleared from the temporary boundary list to facilitate smoothing of the next group of boundary points, and after clearing, the current boundary point is added to the temporary boundary list. The smoothed boundary points can be added to the final boundary list. After all boundary points of the current store are processed, the boundary points stored in the final boundary list are obtained, and the target order delivery area of ​​the current store is determined based on these boundary points. The following is combined with Figure 12 , Figure 13 and Figure 14 , an example is given to illustrate the method of obtaining multiple continuous boundary points that meet the preset conditions.

[0120] In the case where the marking information of the current boundary point in the boundary point set is the second marking information, if the current boundary point is the end point in the boundary point set, or the current boundary point belongs to multiple stores, the boundary points stored in the temporary boundary list (tmp) can be determined as a plurality of continuous boundary points that meet the preset conditions and smoothed. After the smoothing process, the temporary boundary list can be cleared and the current boundary point can be added to the temporary boundary list.

[0121] Among them, if the previous boundary point of the current boundary point in the boundary point set belongs to a store, the marking information of the current boundary point can be set as the second marking information, indicating that the current boundary point has a high probability of belonging to only one store. However, if the current boundary point actually belongs to multiple stores, it means that the current boundary point and the previous boundary point meet different preset conditions. The current boundary point is probably the starting point of multiple consecutive common boundary points, and the previous boundary point is probably the end point of multiple consecutive boundary points belonging to a single store. Therefore, the boundary points already stored in the temporary boundary list are determined as multiple boundary points that meet the preset conditions, that is, a group of boundary points that need to be smoothed. The boundary points already stored in the temporary boundary list can be smoothed and these boundary points are cleared from the temporary boundary list. Then, the current boundary point is used as a new starting point that needs to be smoothed and added to the temporary boundary list.

[0122] As Figure 12 shown, assume that the current store is store B, the previous boundary point is the boundary point numbered 7, and the current boundary point is the boundary point numbered 8. The boundary points stored in the temporary boundary list include the boundary points numbered from 1 to 7. It can be seen that the boundary point numbered 7 is the end point of multiple consecutive boundary points that only belong to store B, and the boundary point numbered 8 is the starting point of multiple consecutive common boundary points of store B and store A. Therefore, the boundary points stored in the temporary boundary list (including the boundary points numbered from 1 to 7) are smoothed as a group of boundary points. After clearing the temporary boundary list, the boundary point numbered 8 is added to the temporary boundary list as the starting point of another group of boundary points that need to be smoothed. If the current boundary point is the end point in the boundary point set, it means that all the boundary points in the boundary point set have been smoothed, and thus the entire process can be ended.

[0123] When the marking information of the current boundary point is the second marking information, if the current boundary point is not the end point in the boundary point set and the current boundary point only belongs to one store, the current boundary point can be added to the temporary boundary list. Among them, if the previous boundary point of the current boundary point in the boundary point set belongs to a store, the marking information of the current boundary point can be set as the second marking information, indicating that the current boundary point has a high probability of belonging to only one store. If the current boundary point is actually also on the boundary of the original order delivery area of only one store, it means that the previous boundary point and the current boundary point are both multiple consecutive boundary points belonging to a single store and belong to the same group of multiple consecutive boundary points that need to be smoothed. Still referring to Figure 12, assume that the previous boundary point is the boundary point numbered 6 and the current boundary point is the boundary point numbered 7. Then these two boundary points need to be smoothed as a group of boundary points. Therefore, continue to add the current boundary point to the temporary boundary list, then update the current boundary point to the previous boundary point, and update the next boundary point of the current boundary point to the current boundary point, so as to further determine whether the end point of this group of boundary points has been traversed.

[0124] To facilitate identifying the second starting point, the marking information of the second starting point can be recorded as the first marking information different from the second marking information. If the current boundary point is the second starting point and the second starting point belongs to only one store, add the current boundary point to the temporary boundary list. And, as described above, the second starting point is the starting point of a continuous plurality of boundary points that meet the preset conditions (condition one or condition two). Since the second starting point is only on the boundary of the original order delivery area of one store, it can be determined that the second starting point is the starting point of a continuous plurality of boundary points that meet condition one. Therefore, there is a high probability that several boundary points after the second starting point also meet condition one, that is, they belong to only one store. Thus, the marking information of the next boundary point can be set as the second marking information. As Figure 12 shown, assume that the second starting point is the boundary point numbered 1. Then it means that the next several points are likely to be continuous boundary points belonging to a single store. Therefore, the marking information of the next boundary point (i.e., the boundary point numbered 2) is the second marking information, indicating that this boundary point is likely to belong to only one store.

[0125] In the case where the marking information of the current boundary point in the boundary point set is the third marking information, if the current boundary point is the end point in the boundary point set or the current boundary point belongs to only one store, the third starting point of the temporary boundary list can be obtained, and the previous boundary point (referred to as the target boundary point) of the third starting point in the boundary point set can be obtained. Determine the store list to which the target boundary point belongs and the candidate store to which the third starting point belongs (neither the store list nor the candidate store includes the current store). If the candidate store is not in the store list, determine the boundary points stored in the temporary boundary list as a continuous plurality of boundary points that meet the preset conditions. After smoothing the continuous plurality of boundary points that meet the preset conditions, clear the temporary boundary list and add the current boundary point to the temporary boundary list.

[0126] Among them, if the previous boundary point of the current boundary point in the boundary point set belongs to multiple stores, the marking information of the current boundary point can be set to the third marking information, indicating that there is a high probability that the current boundary point also belongs to multiple stores. However, if the current boundary point belongs to only one store, it means that the previous boundary point is the end point of multiple consecutive common boundary points on the common boundary, and the current boundary point is the starting point of multiple consecutive boundary points belonging to a single store. Therefore, it is necessary to smooth the previous boundary point of the current boundary point and the boundary points before it. However, in the case where the previous boundary point belongs to multiple stores, it is also necessary to determine whether the consecutive boundary points of the current store are also consecutive boundary points in other stores. Only when these consecutive common boundary points are consecutive boundary points in both the current store and other stores, can these consecutive common boundary points be smoothed as a group of boundary points. For example, assume that the boundary point numbered 1 and the boundary point numbered 2 are consecutive boundary points of store A, but the consecutive boundary points of store B are the boundary point numbered 1, the boundary point numbered 3, and the boundary point numbered 2 in sequence. Then, the boundary point numbered 1 and the boundary point numbered 2 are not consecutive boundary points of store B, and these three boundary points cannot be smoothed as a group of boundary points. If the boundary point numbered 1 and the boundary point numbered 2 are also consecutive boundary points of store B, these two boundary points can be smoothed as a group of boundary points.

[0127] Denote the third starting point of the temporary boundary list as g s , assuming that the third starting point is the boundary point with the sequence number i in the boundary point set, then the target boundary point is the boundary point with the sequence number i - 1 in the boundary point set, denoted as g p . It is possible to determine the list of stores f(g p ) to which the original order delivery area where the target boundary point is located belongs. For example, assume that the target boundary point is a common boundary point between store A and store B, then f(g p ) = {A, B}. It is also possible to determine the candidate store o to which the third starting point belongs. If the candidate store o is not in the store list f(g p ), it indicates that the target boundary point g p and the third starting point g s are not common boundary points of the current store and the same adjacent store. If the candidate store o is in the store list f(g p ), it indicates that the target boundary point g p and the third starting point g s are common boundary points of the current store and the same adjacent store.

[0128] Therefore, if the candidate store o is not in the store list f(g p ), it indicates that the third starting point is the starting point of another group of boundary points that need to be smoothed. For example Figure 14As shown, assume that the boundary points numbered from 21 to 17 are the common boundary points of store A and store C, the boundary points numbered from 10 to 8 are the common boundary points of store A and store B, the boundary points numbered from 13 to 16 are the boundary points that only belong to store A, the boundary points numbered from 1 to 7 are the boundary points that only belong to store B, and the boundary points numbered 22 and 23 are the boundary points that only belong to store C. Assume that the third starting point is the boundary point numbered 10, and the previous boundary point (i.e., the target boundary point) of the third starting point in the set of boundary points is the boundary point numbered 17. It can be seen that the list of stores f(g p ) to which the previous boundary point belongs includes {C}, and the candidate store o to which the third starting point belongs includes {B}. Since the candidate store o is not included in the list of stores f(g p ), therefore, the target boundary point g p and the third starting point g s are not the common boundary points of the current store and the same adjacent store. That is to say, the target boundary point g p is the common boundary point of the current store and a certain adjacent store, while the third starting point is the common boundary point of the current store and another adjacent store. Therefore, the boundary points starting from the third starting point (i.e., the boundary points already stored in the temporary boundary list) are multiple consecutive boundary points that meet the preset conditions. After smoothing the boundary points already stored in the temporary boundary list, the temporary boundary list can be cleared, and the current boundary point can be added to the temporary boundary list.

[0129] If the candidate store is in the list of stores, it can be determined whether the target boundary point and the third starting point are neighborhood points (i.e., adjacent boundary points) within the original order delivery area of the candidate store. If so, update the third starting point to the target boundary point, update the next boundary point of the third starting point in the temporary boundary list to the third starting point, and return to the step of determining the list of stores to which the target boundary point belongs.

[0130] As Figure 14 shown, assume that the third starting point is the boundary point numbered 9, and the target boundary point is the boundary point numbered 10. It can be seen that the list of stores f(g p ) to which the previous boundary point belongs includes {B}, and the candidate store o to which the target boundary point belongs also includes {B}. Since the candidate store o is in the list of stores f(g p ), therefore, the target boundary point g p and the third starting point g s are the common boundary points of the current store and the same adjacent store. If the target boundary point g p and the third starting point g s are also adjacent boundary points in store B, that is, |k(g s ,o)-k(g p, if |k(gs, o)| = 1, it can be smoothed as a set of boundary points. However, the third starting point g s may not be the end point of multiple consecutive boundary points that meet condition two. Therefore, the third starting point g s (i.e., the boundary point numbered 9) can be updated to the target boundary point g p , and the next boundary point of the third starting point g s in the temporary boundary list (i.e., the boundary point numbered 8) can be updated to the third starting point g s , and the step of determining the store list to which the target boundary point g p belongs can be returned, so as to determine the end point of multiple consecutive boundary points that meet condition two.

[0131] If the target boundary point and the third starting point are not neighborhood points within the original order delivery area of the candidate store, i.e., |k(gs, o) - k(gp, o)| > 1, each boundary point between the third starting point and the end point g e in the temporary boundary list can be determined as multiple consecutive boundary points that meet the preset conditions. After smoothing the multiple consecutive boundary points that meet the preset conditions, the temporary boundary list is cleared, and the current boundary point is added to the temporary boundary list.

[0132] As Figure 15 shown, assume that the boundary points numbered 10, 9, 25, and 8 are the common boundary points of store A and store B, the boundary point numbered 24 is the boundary point that belongs to store B alone, the temporary boundary list includes the boundary points numbered 10, 9, 25, and 8, the third starting point is the boundary point numbered 25, the target boundary point is the boundary point numbered 9, and the boundary point numbered 8 is the end point of the temporary boundary list. It can be seen that the boundary point numbered 9 and the boundary point numbered 25 are not adjacent boundary points in store B. Therefore, the boundary point numbered 9 can be ignored, and the boundary points numbered 25 and 8 can be smoothed as multiple consecutive boundary points that meet the preset conditions.

[0133] In some embodiments, after smoothing the boundary points on the common boundary between the current store and the adjacent store, the smoothed boundary points can be stored in the common boundary point set. When smoothing the boundary points of the adjacent store, the smoothed boundary points can be directly obtained from the common boundary point set and added to the final boundary list of the adjacent store to generate the target order delivery area of the adjacent store. In this way, on the one hand, it can ensure that the boundary points on the common boundary are smoothed in the same smoothing manner, avoiding the overlap of the target order delivery ranges of the current store and the adjacent store; on the other hand, the common boundary points do not need to be smoothed multiple times and can be directly read from the common boundary point set, thus improving the smoothing efficiency.

[0134] Similarly, when smoothing the common boundary points between the current store and adjacent stores, the smoothed boundary points corresponding to the above common boundary points can also be read from the set of common boundary points first. If read, directly determine the boundary points in the set of common boundary points as the smoothed boundary points corresponding to multiple consecutive boundary points (i.e., the above common boundary points) that meet the preset conditions. If not read, then use the smoothing algorithm to smooth the common boundary points.

[0135] Specifically, if the third starting point g of the temporary boundary list s and the end point g of the temporary boundary list e The number P(g of the boundary points between s , g e ) is greater than 0, the starting point and the end point in the set of common boundary points can be obtained. Since each store sorts the boundary points in the same direction (for example, all in the clockwise direction), the end point of the set of common boundary points corresponds to the third starting point of the temporary boundary list, and the starting point of the set of common boundary points corresponds to the end point of the temporary boundary list. Each boundary point between the end point of the common boundary point and the starting point of the common boundary point can be added to the final boundary list of the current store in sequence. As Figure 14 shown, assume that store A is the current store, and the numbers of the points in the set of common boundary points between store A and store B are 10, 9, and 8 in sequence, where the boundary point numbered 10 is the starting point in the set of common boundary points, and the boundary point numbered 8 is the end point in the set of common boundary points. Then, the three boundary points numbered 8, 9, and 10 can be added to the final boundary list of store A in sequence. If the third starting point g of the temporary boundary list s and the end point g of the temporary boundary list e The number P(g of the boundary points between s , g e ) is equal to 0, then directly smooth the boundary points stored in the temporary boundary list.

[0136] In some embodiments, when the marking information of the current boundary point is the third marking information, if the current boundary point is not the end point in the set of boundary points and the current boundary point belongs to multiple stores, it can be determined whether the current boundary point and the previous boundary point of the current boundary point in the set of boundary points are neighborhood points in the original order delivery area of the candidate store. If so, add the current boundary point to the temporary boundary list. Otherwise, return to the step of obtaining the third starting point of the temporary boundary list.

[0137] Among them, if the previous boundary point of the current boundary point in the boundary point set belongs to multiple stores, the marking information of the current boundary point can be set to the third marking information, indicating that there is a high probability that the current boundary point also belongs to multiple stores. If the current boundary point actually belongs to multiple stores, it is necessary to determine whether the current boundary point and its previous boundary point are adjacent boundary points of the same store. If so, the current boundary point can be added to the temporary boundary list, the next boundary point of the current boundary point can be updated to the current boundary point, and the current boundary point can be updated to the previous boundary point of the current boundary point. Repeat the above operations until it is determined that the current boundary point and the previous boundary point are not adjacent boundary points of the same store. When it is determined that the current boundary point and the previous boundary point are not adjacent boundary points of the same store, the boundary points stored in the temporary boundary list can be smoothed. As described above, the corresponding boundary points can be obtained from the common boundary point set and used as the boundary points after smoothing. The specific method can refer to the foregoing embodiments and will not be elaborated here.

[0138] If the current boundary point is the second starting point in the boundary point set and the second starting point belongs to multiple stores, the current boundary point is added to the temporary boundary set. And, as described above, the second starting point is the starting point of a continuous plurality of boundary points that meet the preset conditions (condition one or condition two). Since the second starting point is on the boundary of the original order delivery areas of multiple stores, it can be determined that the second starting point is the starting point of a continuous plurality of boundary points that meet condition two. Therefore, there is a high probability that several boundary points after the second starting point also meet condition two, that is, belong to multiple stores. Thus, the marking information of the next boundary point of the current boundary point can be set to the third marking information. As Figure 12 shown, assuming that the second starting point is the boundary point numbered 21, it means that the next multiple points have a high probability of being continuous multiple boundary points belonging to multiple stores. Therefore, the marking information of the next boundary point (i.e., the boundary point numbered 20) is the third marking information, indicating that this boundary point has a high probability of belonging to multiple stores.

[0139] After smoothing the continuous plurality of boundary points that meet the preset conditions, the boundary points after smoothing can be added to the final boundary list, and the step of obtaining the continuous plurality of boundary points that meet the preset conditions can be returned until all the boundary points in the boundary point set are obtained. The boundary points in the final boundary list can be used to obtain the target order delivery area of the current store. As Figure 12As shown, it is assumed that first, a group of boundary points numbered from 21 to 17 are smoothed and added to the final boundary list. Since the boundary points of store A have not been completely processed, the next group of boundary points to be smoothed is obtained, that is, a group of boundary points numbered from 10 to 8. After smoothing them, they are added to the final boundary list. Then, the next group of boundary points to be smoothed is obtained, that is, a group of boundary points numbered from 13 to 16. After smoothing them, they are added to the final boundary list. At this time, all the boundary points of store A have been processed, and thus, the target order delivery area of store A can be obtained based on the three sections of smoothed boundary points in the final boundary list.

[0140] After determining the target order delivery area, delivery capacity can be allocated to the orders within the target order delivery area. Specifically, the orders of the users within the target order delivery area for the store to which the target order delivery area belongs can be obtained, and based on the current location and current order-carrying quantity of the delivery capacity within the target order delivery area (i.e., the number of orders currently undertaken by the delivery capacity), delivery capacity can be allocated to the orders of the users within the target order delivery area for the store to which the target order delivery area belongs.

[0141] In some embodiments, the marking information of each boundary point is as Figure 16 shown. The numbers in parentheses represent the marking information of the boundary points, and the numbers without parentheses represent the numbers of the boundary points. The current store is store A, and the adjacent store of the current store is store B. The boundary point numbered 1 is the second starting point, and its marking information is recorded as -1, and it is added to the temporary boundary list. Since the second starting point belongs to only one store, the marking information of its next boundary point (i.e., the boundary point numbered 2) is 0, indicating that it probably belongs to only one store. It can be seen that the boundary point numbered 2 actually belongs to one store, so the boundary point numbered 2 can be added to the temporary boundary list. Similarly, the boundary points numbered 3 to 5 can be processed. After processing the boundary point numbered 5, the temporary boundary list includes the boundary points numbered 1 to 5. Since the boundary point numbered 5 belongs to only one store, it is predicted that the probability of the boundary point numbered 6 belonging to one store is relatively large, and its marking information is set to 0. However, the boundary point numbered 6 belongs to multiple stores, so the boundary points numbered 1 to 5 are taken out from the temporary boundary list, smoothed, and added to the final boundary list. Then, the boundary point numbered 6 is added to the temporary boundary list.

[0142] At this time, there is only a boundary point numbered 6 in the temporary boundary list. Since it belongs to multiple stores and it is predicted that its next boundary point also belongs to multiple stores, the marking information of the boundary point numbered 7 is set to 1. However, the boundary point numbered 7 belongs to only one store. Therefore, the third starting point of the temporary boundary list (i.e., the boundary point numbered 6) and its previous boundary point on the boundary of the original order delivery area (i.e., the boundary point numbered 5, which is also the target boundary point) are obtained. The candidate store to which the third starting point belongs is not in the store list to which the target boundary point belongs. Therefore, each boundary point between the third starting point of the temporary boundary list and the end point of the temporary boundary list is obtained. Since the number of boundary points between the third starting point of the temporary boundary list and the end point of the temporary boundary list is equal to 0, the boundary point already stored in the temporary boundary list (i.e., the boundary point numbered 6) is directly smoothed and then added to the final boundary list, and the boundary point numbered 6 is cleared from the temporary boundary list. Then, the boundary point numbered 7 is added to the temporary boundary list. The processing methods of the remaining boundary points can be referred to the methods described in the foregoing embodiments, and will not be elaborated here.

[0143] See Figure 19 , an embodiment of the present disclosure further provides a device for determining an order delivery area, the device includes:

[0144] A first acquisition module 11, configured to acquire a set of boundary points of the original order delivery area of the current store;

[0145] A second acquisition module 12, configured to sequentially acquire a plurality of the boundary points according to the order of the plurality of boundary points in the set of boundary points;

[0146] A smoothing processing module 13, configured to perform smoothing processing on the sequentially acquired plurality of boundary points; the number of the boundary points after smoothing processing is less than the number of the boundary points in the set of boundary points;

[0147] A determination module 14, configured to determine a target order delivery area of the current store based on the boundary points after smoothing processing; the target order delivery area is a range within which the delivery capacity can deliver orders of the current store.

[0148] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the foregoing method embodiments, and the specific implementation can refer to the description of the foregoing method embodiments. For the sake of brevity, it will not be elaborated here.

[0149] An embodiment of the present disclosure further provides a computer device, which at least includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the method described in any of the foregoing embodiments is implemented.

[0150] Figure 20 FIG. 2 shows a more specific schematic diagram of the hardware structure of a computing device provided by an embodiment of the present disclosure. The device may include: a processor 21, a memory 22, an input / output interface 23, a communication interface 24, and a bus 25. Among them, the processor 21, the memory 22, the input / output interface 23, and the communication interface 24 are communicatively connected to each other inside the device through the bus 25.

[0151] The processor 21 may be implemented in the form of a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present disclosure. The processor 21 may further include a graphics card, and the graphics card may be an Nvidia titan X graphics card or a 1080Ti graphics card, etc.

[0152] The memory 22 may be implemented in the form of a read-only memory (ROM), a random access memory (RAM), a static storage device, a dynamic storage device, etc. The memory 22 may store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of the present disclosure through software or firmware, the relevant program codes are stored in the memory 22 and are called and executed by the processor 21.

[0153] The input / output interface 23 is used to connect to an input / output module to implement information input and output. The input / output module may be configured as a component in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Among them, the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0154] The communication interface 24 is used to connect to a communication module (not shown in the figure) to implement communication interaction between this device and other devices. Among them, the communication module may implement communication in a wired manner (such as USB, network cable, etc.) or in a wireless manner (such as mobile network, WIFI, Bluetooth, etc.).

[0155] The bus 25 includes a path for transmitting information between various components of the device (such as the processor 21, the memory 22, the input / output interface 23, and the communication interface 24).

[0156] It should be noted that although the above device only shows the processor 21, the memory 22, the input / output interface 23, the communication interface 24, and the bus 25, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device may also only include the components necessary to implement the solution of the embodiments of the present disclosure, and does not necessarily include all the components shown in the figure.

[0157] The embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements the method described in any one of the foregoing embodiments.

[0158] Computer-readable media includes both permanent and non-permanent, removable and non-removable media and can be implemented by any method or technology for storing information. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.

[0159] From the description of the above embodiments, those skilled in the art can clearly understand that the embodiments of the present disclosure can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solutions of the embodiments of the present disclosure, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product can be stored in a storage medium such as ROM / RAM, magnetic disk, optical disc, etc., and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments of the present disclosure.

[0160] The systems, devices, modules or units illustrated in the above embodiments may be specifically implemented by a computer device or entity, or by a product with certain functions. A typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver device, a game console, a tablet computer, a wearable device, or a combination of any several of these devices.

[0161] Each embodiment in the present disclosure is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the device embodiments, since they are basically similar to the method embodiments, they are described relatively simply. For the relevant parts, reference can be made to the partial descriptions of the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separated. When implementing the solutions of the embodiments of the present disclosure, the functions of the various modules may be implemented in one or more software and / or hardware. It is also possible to select some or all of the modules according to actual needs to achieve the purpose of the solutions of this embodiment. A person of ordinary skill in the art can understand and implement it without creative efforts.

[0162] The above are only the specific implementation manners of the embodiments of the present disclosure. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the embodiments of the present disclosure, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the embodiments of the present disclosure.

Claims

1. A method for determining an order delivery area, the method comprises: Obtaining a set of boundary points of the original order delivery area of the current store; Sequentially obtaining a plurality of the boundary points according to the order of the plurality of boundary points in the set of boundary points; Performing smoothing processing on the sequentially obtained plurality of boundary points; the number of the boundary points after smoothing processing is less than the number of the boundary points in the set of boundary points; Determining the target order delivery area of the current store based on the boundary points after smoothing processing; The target order delivery area is the range within which the delivery capacity can deliver the orders of the current store.

2. The method according to claim 1, wherein obtaining the set of boundary points of the original order delivery area of the current store, comprises: Obtaining candidate points within the original order delivery area; If at least one neighborhood point of the candidate point is not within the original order delivery area, determining the candidate point as the boundary point; Determining the set of the boundary points as the set of boundary points.

3. The method according to claim 2, before obtaining the candidate points within the original order delivery area, the method further comprises: Obtaining grid points in the physical space; If each neighborhood point of the grid point is within the original order delivery area and the grid point is outside the original order delivery area, adding the grid point to the original order delivery area.

4. The method according to claim 1, the order of the plurality of boundary points is determined based on the following method: Starting from the first starting point in the set of boundary points, accessing the current boundary point in the set of boundary points; Obtaining a first direction sequence corresponding to the current boundary point; the first direction sequence is a sequence composed of a plurality of directions, and the first direction sequence is determined based on the relative position between the current boundary point and the previous boundary point of the current boundary point; Searching for the next boundary point in the set of boundary points whose order is after the current boundary point according to the plurality of directions indicated by the first direction sequence; Updating the next boundary point as the current boundary point, and returning to the step of accessing the current boundary point in the set of boundary points until the order of each boundary point in the set of boundary points is obtained.

5. The method according to claim 4, wherein obtaining the first direction sequence corresponding to the current boundary point, comprises: Obtaining a second direction sequence corresponding to the previous boundary point of the current boundary point; Obtaining the target direction of the current boundary point relative to the previous boundary point; Moving each direction between the target direction and the last direction of the second direction sequence to before the first direction of the second direction sequence to obtain the first direction sequence.

6. The method according to claim 4, the set of boundary points includes a set of unvisited boundary points ; Searching for the next boundary point of the current boundary point in the set of boundary points, includes: If the set of unvisited boundary points is not empty, searching for the next boundary point of the current boundary point in the set of unvisited boundary points; If the set of unvisited boundary points is empty, find the next boundary point of the current boundary point from the set of visited boundary points; If the next boundary point found from the set of visited boundary points is empty or coincides with the first starting point, determine the order of obtaining each boundary point in the boundary point set.

7. The method according to claim 6, the method further comprises: If the set of unvisited boundary points is not empty, and the next boundary point of the current boundary point cannot be found from the set of unvisited boundary points, and the next boundary point found from the set of visited boundary points is not empty, determine the current boundary point as the previous boundary point, update the next boundary point found from the set of visited boundary points as the current boundary point, and return to the step of finding the next boundary point of the current boundary point from the set of unvisited boundary points.

8. The method according to claim 4, the method further comprises: If the number of boundary point sets is greater than 1, after obtaining the order of each boundary point in the boundary point set, update the next boundary point set of the boundary point set as the boundary point set, and return to the step of accessing the current boundary point in the boundary point set starting from the first starting point in the boundary point set until the order of each boundary point in all boundary point sets is obtained.

9. The method according to claim 1, the smoothing process for a plurality of sequentially obtained boundary points comprises: Obtain a plurality of consecutive boundary points that meet the preset conditions; Perform a smoothing process on a plurality of consecutive boundary points that meet the preset conditions; wherein, the preset conditions include: Only on the boundary of the original order delivery area of the current store; or On the common boundary of the original order delivery areas of the current store and the same adjacent store.

10. The method according to claim 9, the obtaining of a plurality of consecutive boundary points that meet the preset conditions comprises: Obtain the marking information of the boundary point, and the marking information is used to indicate the probability that the boundary point belongs to only one store; Obtain the association relationship between the boundary point and the store, and the association relationship is used to determine the store to which each boundary point belongs; Based on the marking information and the association relationship, determine a plurality of consecutive boundary points that meet the preset conditions.

11. The method according to claim 10, a plurality of consecutive boundary points that meet the preset conditions are stored in a temporary boundary list; the obtaining of a plurality of consecutive boundary points that meet the preset conditions comprises: In the case where the marking information of the current boundary point in the boundary point set is the second marking information, if the current boundary point is the end point in the boundary point set, or the current boundary point belongs to multiple stores, determine the boundary points already stored in the temporary boundary list as a plurality of consecutive boundary points that meet the preset conditions, and the second marking information is used to indicate that the probability that the current boundary point belongs to only one store is greater than the probability that the current boundary point belongs to multiple stores; The method further comprises: After smoothing a plurality of consecutive boundary points that meet the preset conditions, clear the temporary boundary list and add the current boundary point to the temporary boundary list.

12. The method according to claim 11, the method further includes: When the marking information of the current boundary point is the second marking information, if the current boundary point is not the end point in the boundary point set and the current boundary point belongs to only one store, add the current boundary point to the temporary boundary list.

13. The method according to claim 11 or 12, the method further includes: If the current boundary point is the second starting point in the boundary point set and the second starting point belongs to only one store, add the current boundary point to the temporary boundary list and set the marking information of the next boundary point of the current boundary point to the second marking information, where the marking information of the second starting point is the first marking information different from the second marking information.

14. The method according to claim 10, a plurality of consecutive boundary points that meet the preset conditions are stored in the temporary boundary list ; The method further includes: When the marking information of the current boundary point in the boundary point set is the third marking information, if the current boundary point is the end point in the boundary point set or the current boundary point belongs to only one store, obtain the third starting point of the temporary boundary list, and the third marking information is used to indicate that the probability that the current boundary point belongs to only one store is less than the probability that the current boundary point belongs to multiple stores; Obtain a target boundary point, where the target boundary point is the boundary point before the third starting point in the boundary point set; Determine the store list to which the target boundary point belongs and the candidate store to which the third starting point belongs; neither the store list nor the candidate store includes the current store; If the candidate store is not in the store list, determine the boundary points already stored in the temporary boundary list as a plurality of consecutive boundary points that meet the preset conditions; After smoothing a plurality of consecutive boundary points that meet the preset conditions, clear the temporary boundary list and add the current boundary point to the temporary boundary list.

15. The method according to claim 14, the method further includes: If the candidate store is in the store list, determine whether the target boundary point and the third starting point are neighborhood points in the original order delivery area of the candidate store; If so, update the third starting point to the target boundary point, update the next boundary point of the third starting point in the temporary boundary list to the third starting point, and return to the step of determining the store list to which the target boundary point belongs.

16. The method according to claim 15, the method further includes: If the target boundary point and the third starting point are not neighborhood points in the original order delivery area of the candidate store, determine the boundary points between the third starting point and the end point of the temporary boundary list as a plurality of consecutive boundary points that meet the preset conditions; After smoothing a plurality of consecutive boundary points that meet preset conditions, clear the temporary boundary list and add the current boundary point to the temporary boundary list.

17. The method according to any one of claims 14 to 16, wherein the smoothing of a plurality of consecutive boundary points that meet preset conditions comprises: If the number of boundary points between the third starting point and the ending point of the temporary boundary list is greater than 0, obtain a pre-stored set of common boundary points. The boundary points in the set of common boundary points are boundary points after smoothing, and the ending point of the set of common boundary points corresponds to the third starting point of the temporary boundary list, and the starting point of the set of common boundary points corresponds to the ending point of the temporary boundary list; Determine the boundary points in the set of common boundary points as the boundary points after smoothing corresponding to the plurality of consecutive boundary points that meet the preset conditions; If the number of boundary points between the third starting point and the ending point of the temporary boundary list is equal to 0, smooth the boundary points already stored in the temporary boundary list.

18. The method according to claim 14, the method further comprises: When the marking information of the current boundary point is the third marking information, if the current boundary point is not the ending point in the set of boundary points and the current boundary point belongs to multiple stores, determine whether the current boundary point and the previous boundary point of the current boundary point in the set of boundary points are neighborhood points within the original order delivery area of the candidate store; If so, add the current boundary point to the temporary boundary list; Otherwise, return to the step of obtaining the third starting point of the temporary boundary list.

19. The method according to claim 14, the method further comprises: If the current boundary point is the second starting point in the set of boundary points and the second starting point belongs to multiple stores, add the current boundary point to the temporary boundary set and set the marking information of the next boundary point of the current boundary point to the third marking information, wherein the marking information of the second starting point is the first marking information different from the third marking information.

20. An apparatus for determining an order delivery area, the apparatus comprises: A first acquisition module, configured to acquire a set of boundary points of the original order delivery area of the current store; A second acquisition module, configured to sequentially acquire a plurality of boundary points according to the order of the plurality of boundary points in the set of boundary points; A smoothing processing module, configured to perform smoothing processing on the sequentially acquired plurality of boundary points; the number of the boundary points after smoothing is less than the number of the boundary points in the set of boundary points; A determination module, configured to determine the target order delivery area of the current store based on the boundary points after smoothing; The target order delivery area is the range within which the delivery capacity can deliver the orders of the current store.

21. A computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method according to any one of claims 1 to 19 is implemented.

22. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 19 when executing the program.