Route planning method and apparatus

By overlaying an editing canvas onto the electronic map, users can draw custom routes and replan them, solving the problem that existing technologies cannot meet users' personalized needs and achieving higher route planning accuracy and a better interactive experience.

CN115164909BActive Publication Date: 2026-03-31ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-27
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Existing route planning methods cannot meet users' personalized needs and cannot customize routes according to users' preferences.

Method used

By overlaying an editing canvas onto the electronic map, users can draw custom routes and replan them based on the constraints of the custom routes, allowing users to customize routes through touch interaction.

Benefits of technology

It enables road-level route customization, improves the accuracy of route planning, meets users' personalized needs, and provides a better interactive experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115164909B_ABST
    Figure CN115164909B_ABST
Patent Text Reader

Abstract

The specification discloses a route planning method and device. The method comprises the following steps: planning and displaying a corresponding recommended route based on a starting point input by a user; in response to an editing request for the recommended route, superimposing an editing canvas on the basis of the current display; obtaining a custom route drawn by the user on the editing canvas, and determining constraint logic of the custom route; analyzing a target road corresponding to the custom route, and replanning and displaying the recommended route corresponding to the starting point according to the target road and the constraint logic. By using the above route planning scheme provided in the specification, the user can customize roads that he / she wants to walk or does not want to walk, realizes road-level route customization, the accuracy of route planning is higher, and the personalized navigation demand of the user is met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of navigation technology, and more particularly to a route planning method and apparatus. Background Technology

[0002] Navigation route planning functions on electronic maps are increasingly being used in people's daily lives. For example, when a user drives to an unfamiliar place, they can use an electronic map to plan a route. During route planning, several routes can be selected and recommended to the user based on factors such as travel time, mileage, and cost. However, in practical applications, different users often have different route preferences, and current route planning methods cannot meet users' personalized needs. Summary of the Invention

[0003] In view of this, this specification provides a route planning method and apparatus.

[0004] Specifically, this specification is implemented through the following technical solution:

[0005] A route planning method, comprising:

[0006] Based on the user's input starting point, a corresponding recommended route is planned and displayed;

[0007] In response to an edit request for the recommended route, an editing canvas is overlaid on the currently displayed area;

[0008] Obtain the custom route drawn by the user on the editing canvas, and determine the constraint logic of the custom route;

[0009] The system parses the target road corresponding to the custom route, and re-plans and displays the recommended route corresponding to the starting point based on the target road and the constraint logic.

[0010] Optionally, the constraint logic for determining the custom route includes:

[0011] Determine whether the custom route is located on the recommended route;

[0012] If the custom route is located on the recommended route, the constraint logic for determining the custom route is to exclude it.

[0013] If the custom route is not located on the recommended route, the constraint logic for determining the custom route is to include it.

[0014] Optionally, determining whether the custom route is located on the recommended route includes:

[0015] Divide the points on the custom route into multiple groups;

[0016] For each group, construct the minimum bounding rectangle for each point within that group to obtain the minimum bounding rectangle corresponding to each group;

[0017] Determine whether the recommended route intersects with the minimum bounding rectangle corresponding to each group;

[0018] If the recommended route intersects with the minimum bounding rectangles corresponding to one or more groups, it is determined that the custom route is located on the recommended route;

[0019] If the recommended route does not intersect with the minimum bounding rectangles corresponding to all groups, it is determined that the custom route is not located on the recommended route.

[0020] Optionally, parsing the target road corresponding to the custom route includes:

[0021] The road that intersects the minimum bounding rectangle on the recommended route is determined as the target road corresponding to the custom route.

[0022] Optionally, determining whether the custom route is located on the recommended route includes:

[0023] Parse known roads that match the custom route;

[0024] If a known road that matches the custom route is parsed out, the matching known road is determined as the target road corresponding to the custom route, and it is determined whether the target road is located on the recommended route;

[0025] If the target road is located on the recommended route, then the custom route is determined to be located on the recommended route.

[0026] If the target road is not located on the recommended route, then the custom route is determined not to be located on the recommended route.

[0027] Optionally, the step of replanning the recommended route corresponding to the starting point based on the target road and the constraint logic includes:

[0028] Obtain all reachable routes corresponding to the starting point, and determine the overlap between the reachable routes and the target road;

[0029] If the constraint logic is excluded, the recommended route corresponding to the starting point will be replanned with the lowest overlap as the objective.

[0030] If the constraint logic is inclusive, the recommended route corresponding to the starting point is replanned with the highest overlap as the objective.

[0031] Optional, also includes:

[0032] Provide constraint logic options in areas outside the editing canvas;

[0033] The constraint logic for determining the custom route includes:

[0034] Define the constraint logic of the custom route drawn by the user under the Exclude Constraint Logic option as excluded;

[0035] Define the constraint logic of a custom route drawn by the user under the "Include Constraint Logic" option as "Include".

[0036] A route planning device, comprising:

[0037] The initial planning unit plans and displays the recommended route based on the user's input starting point.

[0038] The canvas overlay unit, in response to an editing request for the recommended route, overlays an editing canvas on top of the currently displayed canvas;

[0039] The route acquisition unit acquires the custom route drawn by the user on the editing canvas and determines the constraint logic of the custom route.

[0040] The replanning unit parses the target road corresponding to the custom route, and replans the recommended route corresponding to the starting point based on the target road and the constraint logic, and then displays it.

[0041] An electronic device, comprising:

[0042] processor;

[0043] Memory used to store processor-executable instructions;

[0044] The processor implements the aforementioned method by running the executable instructions.

[0045] A computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the aforementioned method.

[0046] A computer program product, when executed by a processor, implements the aforementioned method.

[0047] Using the above implementation method, after displaying the recommended route between the starting points, the user can edit the recommended route. In response to the user's editing request, an editing canvas can be added on the current display so that the user can draw a custom route in the editing canvas. Then, the recommended route between the starting points can be replanned for the user based on the target road and constraint logic corresponding to the custom route.

[0048] Using the route planning scheme provided in this manual, users can customize the routes they want to take or don't want to take, achieving road-level route customization. This results in higher route planning accuracy and meets users' personalized navigation needs. Furthermore, the touch interaction method of customizing routes through finger swipes is more convenient for users and provides a better interactive experience. Attached Figure Description

[0049] Figure 1 This is a flowchart illustrating an exemplary embodiment of a route planning method as described in this specification.

[0050] Figure 2 This is a flowchart illustrating the constraint logic for determining a custom route, as shown in an exemplary embodiment of this specification.

[0051] Figure 3 This is a flowchart illustrating an exemplary embodiment of the method for determining whether a custom route is located on a recommended route.

[0052] Figure 4 This is a schematic diagram illustrating a minimum bounding rectangle as shown in an exemplary embodiment of this specification.

[0053] Figure 5 This is a schematic diagram illustrating another minimum bounding rectangle as shown in an exemplary embodiment of this specification.

[0054] Figure 6 This is a flowchart illustrating another method for determining whether a custom route is located on a recommended route, as shown in an exemplary embodiment of this specification.

[0055] Figure 7 This is a schematic diagram of a custom route input page shown in an exemplary embodiment of this specification.

[0056] Figure 8 This is a hardware structure diagram of an electronic device containing a route planning device, as illustrated in an exemplary embodiment of this specification.

[0057] Figure 9 This is a block diagram illustrating a route planning device in an exemplary embodiment of this specification. Detailed Implementation

[0058] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this specification as detailed in the appended claims.

[0059] The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of this specification. The singular forms “a,” “the,” and “the” as used in this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

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

[0061] Navigation route planning functions on electronic maps are increasingly being used in people's daily lives. For example, when a user drives to an unfamiliar place, they can use an electronic map to plan a route. During route planning, several routes can be recommended to the user based on factors such as travel time, mileage, and cost. However, in practical applications, different users often have different route preferences. Current route planning methods only support simple and crude navigation strategies such as "avoid highways" or "highway priority," which cannot meet the personalized needs of users.

[0062] This manual provides a route planning solution that allows users to customize routes through touch interaction, meeting their route preferences and enhancing their interactive experience.

[0063] The route planning scheme provided in this manual can be applied to electronic map software installed in electronic devices, such as mobile phones, tablets, and in-vehicle computers. These electronic devices are often equipped with touch screens, allowing users to perform touch operations and input custom routes during the electronic map route planning process.

[0064] Figure 1 This is a flowchart illustrating an exemplary embodiment of a route planning method as described in this specification.

[0065] Please refer to Figure 1 The route planning method may include the following steps:

[0066] Step 102: Plan and display the recommended route based on the starting point input by the user.

[0067] When using an electronic map for route planning, users can first enter a starting point, such as Tsinghua University as the starting point and Beijing Railway Station as the destination. Alternatively, users can leave the starting point blank, in which case the default starting point is their current location.

[0068] After receiving the user's input starting point, reachable routes between the starting points can be planned. There are often multiple, even dozens or hundreds, of planned routes. These reachable routes can be prioritized to determine the optimal route (i.e., the recommended route), which is then displayed to the user. The ranking of reachable routes can comprehensively consider factors such as time, distance, and cost. The processing and implementation of this part can be found in relevant technologies, and will not be elaborated upon here.

[0069] Step 104: In response to the edit request for the recommended route, an editing canvas is overlaid on the current display.

[0070] Based on step 102 above, the user can view the displayed recommended routes. If the user is not satisfied with the recommended routes, they can send an edit request for the recommended routes. For example, a control for customizing routes can be provided on the page, and the user can send the edit request by clicking the control.

[0071] In this specification, in response to the edit request, an editing canvas can be overlaid on the currently displayed recommended route to allow the user to draw their custom route in the editing canvas.

[0072] For example, you can directly overlay an editing canvas on the current page.

[0073] For example, a page jump can be performed to display the recommended route on a new page, and an editing canvas can be overlaid on the new page.

[0074] The area covered by the editing canvas includes the area where the recommended route is located. For example, the editing canvas can cover the entire page. Alternatively, it can cover only the upper or lower part of the page containing the recommended route; this specification does not impose any special limitations on this.

[0075] Step 106: Obtain the custom route drawn by the user on the editing canvas and determine the constraint logic of the custom route.

[0076] Based on step 104 above, after the editing canvas is covered, the user can draw a custom route on the editing canvas using their finger. The custom route has constraint logic, which includes exclusion and inclusion.

[0077] Among them, the exclusion logic indicates that the corresponding custom route is a route that the user does not want to take, such as a section of the recommended route that the user does not want to take; the inclusion logic indicates that the corresponding custom route is a route that the user wants to take, such as a route that the user wants to take, but that route is not in the aforementioned recommended route.

[0078] In one example, after obtaining a custom route drawn by the user on the editing canvas, the custom route can be analyzed to determine its constraint logic. For instance, the constraint logic of the custom route can be determined by determining whether it lies on the recommended route.

[0079] In another example, before drawing a custom route, the user can select the constraint logic first, and then draw the custom route. In this case, the constraint logic of the custom route is the constraint logic selected by the user.

[0080] The methods for determining the two custom route constraint logics described above will be described in detail in subsequent embodiments.

[0081] Step 108: parse the target road corresponding to the custom route, and replan the recommended route corresponding to the starting point based on the target road and the constraint logic, and display it.

[0082] In this specification, the custom route obtained in step 106 is the route drawn by the user in the editing canvas. When replanning the route, the custom route needs to be parsed first to obtain the actual road in real life corresponding to the custom route (hereinafter referred to as the target road). Then, the route between the starting point is replanned based on the target road and the constraint logic.

[0083] In this specification, when replanning the recommended route, the reachable routes planned in step 102 above can be obtained first, then the overlap between each reachable route and the target road can be determined, and then the reachable routes can be reordered according to the constraint logic and the overlap, thereby replanning a better recommended route.

[0084] When the constraint logic is excluded, the route between the starting points replanned for the user should try to avoid passing through the target road. Therefore, the goal can be to reduce the overlap to the minimum to reorder the reachable routes. For example, the reachable routes can be ordered in order of overlap from low to high.

[0085] When the constraint logic is inclusive, the route between the starting points replanned for the user should pass through the target road as much as possible. In this way, the route with the highest overlap can be used as the target to reorder the reachable routes. For example, the reachable routes can be ordered in descending order of overlap.

[0086] The overlap can be the total length of the roads that overlap between the reachable route and the target road, or it can be the proportion of the length of the roads that overlap between the reachable route and the target road on the reachable route.

[0087] Of course, the replanning and recommendation of routes in practical applications is often more complex. In addition to considering the target road and its constraint logic, factors such as time, mileage, and cost still need to be considered. Machine learning can be used to predict the ranking results of each reachable route by taking the overlap and constraint logic as the model objective. This manual does not impose any special restrictions on this.

[0088] It is worth noting that the route planning process recommended in this manual can be performed by electronic devices, or the electronic devices can send information such as the starting point and the user-inputted custom route to the server for route planning. This manual does not impose any special restrictions on this.

[0089] As can be seen from the above description, after displaying the recommended route between the starting points, the user can edit the recommended route. In response to the user's editing request, an editing canvas can be added on the current display so that the user can draw a custom route in the editing canvas. Then, the recommended route between the starting points can be replanned for the user based on the target road and constraint logic corresponding to the custom route.

[0090] Using the route planning scheme provided in this manual, users can customize the routes they want to take or don't want to take, achieving road-level route customization. This results in higher route planning accuracy and meets users' personalized navigation needs. Furthermore, the touch interaction method of customizing routes through finger swipes is more convenient for users and provides a better interactive experience.

[0091] The following describes two schemes for determining custom route constraint logic, using specific examples.

[0092] I. Determine constraint logic based on custom route

[0093] In this embodiment, after obtaining the custom route drawn by the user on the editing canvas, its constraint logic can be determined based on the custom route without requiring the user to specify the constraint logic.

[0094] Please refer to Figure 2 Determining the constraint logic for a custom route may include the following steps:

[0095] Step 202: Determine whether the custom route is located on the recommended route.

[0096] Step 204: If the custom route is located on the recommended route, determine that the constraint logic of the custom route is to exclude it.

[0097] Step 206: If the custom route is not located on the recommended route, determine that the constraint logic of the custom route is included.

[0098] In this embodiment, it is relatively easy to understand that if the user draws a custom route on a road other than the recommended route, it indicates that the user's custom route is the route they want to take, and thus the constraint logic of the custom route is determined to be inclusion. If the user draws a custom route on the recommended route, it indicates that the user's custom route is the route they do not want to take, and thus the constraint logic of the custom route is determined to be exclusion.

[0099] This embodiment can automatically determine the constraint logic of the custom route based on the positional relationship between the custom route and the recommended route, without requiring user specification. It has a high degree of intelligence and a good user experience.

[0100] In this embodiment, please refer to Figure 3 The following steps can be used to determine whether a custom route is located on a recommended route:

[0101] Step 302: Divide the points on the custom route into multiple groups.

[0102] In this embodiment, the custom route drawn by the user on the touchscreen is a set of screen coordinate points, where each screen coordinate point corresponds to a location on Earth, and a location on Earth has a pair of latitude and longitude coordinates. In this example, these screen coordinate point sets can first be converted into a set of latitude and longitude coordinates of a series of location points on Earth according to the scale of the electronic map.

[0103] In this embodiment, the latitude and longitude coordinates can be divided into multiple groups according to the order drawn by the user, with each group containing a number of latitude and longitude coordinates less than or equal to the preset number. That is, each group includes a number of location points on Earth less than or equal to the preset number.

[0104] The preset quantity can be set by the developers. For example, when the scale of the electronic map is large, it means that the accuracy of the electronic map is high, so a larger preset quantity can be set; when the scale of the electronic map is small, it means that the accuracy of the electronic map is low, so a smaller preset quantity can be set, etc.

[0105] For example, assuming the preset quantity is 8, the custom route entered by the user on the touchscreen is a set of 100 screen coordinate points, which can be converted into 100 pairs of latitude and longitude coordinates. When grouping, these 100 pairs of latitude and longitude coordinates can be divided into 13 groups of 8 according to the order in which the user drew the coordinates. For example, the first 8 pairs of latitude and longitude coordinates are assigned to group 1, the 9th to 16th pairs to group 2, and so on, resulting in 13 groups. Of these 13 groups, the first 12 groups each contain 8 pairs of latitude and longitude coordinates, while the last group contains only 4 pairs.

[0106] Step 304: For each group, construct the minimum bounding rectangle for each point within that group to obtain the minimum bounding rectangle corresponding to each group.

[0107] Based on step 302 above, after the grouping is completed, for each group, a minimum bounding rectangle can be constructed based on the latitude and longitude coordinates of each pair of points within that group. Taking the aforementioned 13 groups as an example, constructing a minimum bounding rectangle for each group yields 13 minimum bounding rectangles.

[0108] Step 306: Determine whether the recommended route intersects with the minimum bounding rectangle corresponding to each group.

[0109] Step 308: If the recommended route intersects with the minimum bounding rectangles corresponding to one or more groups, determine that the custom route is located on the recommended route.

[0110] In this embodiment, it can be determined whether the recommended route intersects with the minimum bounding rectangles corresponding to each group. For example, the intersection between the recommended route and each minimum bounding rectangle can be determined based on the location information of each road on the recommended route.

[0111] Please refer to Figure 4 and Figure 5 Assume the user inputs a starting point A and an ending point B, and the initially planned recommended route is a three-segment line ACDB between A and B. Also assume that the minimum bounding rectangle of a certain group is MNPQ. Figure 4 In the recommended route ACDB between point A and point B, road CD intersects with the minimum bounding rectangle MNPQ. Figure 5 In the recommended route ACDB between point A and point B, roads AC, CD, and DB have no intersection with the minimum bounding rectangle MNPQ.

[0112] In this embodiment, if the recommended route intersects with one or more minimum bounding rectangles, it can be determined that the custom route lies on the recommended route, and the constraint logic of the custom route is exclusion. Furthermore, the roads on the recommended route that intersect with the minimum bounding rectangles can be further identified as the target roads corresponding to the custom routes, and the target roads can be marked on the recommended route, for example, by using different colors. Optionally, after marking the target roads on the recommended route, the user can also adjust the starting point of the target roads, for example, by extending or shortening the target roads in a certain direction.

[0113] It is worth noting that since users' line drawing operations on electronic device touch screens may be inaccurate, appropriate adjustments can be made according to the actual situation of the road when determining the target road. For example, if the recommended route intersects with the minimum bounding rectangle in two road segments, but these two road segments are located on the same known road and there is no entrance or exit between the two road segments, then the known road can be determined as the target road.

[0114] In this embodiment, if the recommended route does not intersect with any minimum bounding rectangle, it can be determined that the custom route is not located on the recommended route, thus indicating that the constraint logic of the custom route is inclusive, and known roads matching the custom route can be resolved.

[0115] When parsing a custom route, the converted latitude and longitude coordinates of a series of screen coordinate points along the custom route can be thinned to extract a certain number of latitude and longitude coordinates. These coordinates are then used to determine the target road corresponding to the custom route. For example, the extracted latitude and longitude coordinates can be matched with the location information of known roads to find those that match the extracted coordinates. These matched known roads can then be designated as the target road for the custom route. When multiple known roads are matched, the names and other information of each road can be output for the user to choose from.

[0116] The known roads refer to currently known actual roads, and these known roads may have information such as road name and location. In this example, the extracted latitude and longitude coordinates can be 16 or 24, etc.

[0117] In this example, if the extracted latitude and longitude coordinates do not match any known road, i.e., a known road matching the custom route cannot be parsed, an error message can be output, reminding the user to redraw the custom route.

[0118] For example, if a user draws a custom route that is located in a lake, this custom route will naturally not match any known roads, thus prompting the user to re-enter the custom route.

[0119] In another example in this specification, the following method may also be used. Figure 6 The method shown determines whether a custom route is on the recommended route.

[0120] Please refer to Figure 6 Determining whether a custom route is located on a recommended route may include the following steps:

[0121] Step 602: Parse the known roads that match the custom route.

[0122] In this embodiment, after obtaining the custom route drawn by the user on the canvas, known roads that match the custom route can be parsed first. If a known road that matches the custom route is parsed, step 604 can be executed. If a known road that matches the custom route cannot be parsed, an error message can be output and the user can be reminded to redraw the custom route.

[0123] The method for analyzing the known roads can be referred to in the foregoing. Figure 3 The descriptions in the illustrated embodiments will not be repeated here.

[0124] Step 604: If a known road matching the custom route is parsed out, the matching known road is determined as the target road corresponding to the custom route, and it is determined whether the target road is located on the recommended route.

[0125] Based on the aforementioned step 602, after parsing out the known roads that match the custom route, the known roads can be determined as the target roads corresponding to the custom route, and then it can be determined whether the target roads are located on the recommended routes.

[0126] Specifically, the location of the target road can be determined based on the name of the target road and the names of the roads along the recommended route. For example, if the recommended route passes through Zizhi Tunnel, Wenyi West Road, and Jiangdunlu Road, and the target road is Zizhi Tunnel, then the target road is located on the recommended route.

[0127] Of course, in practical applications, when determining whether the target road is located on the recommended route, if the road is long, it is necessary to consider the road in segments, such as the section from Jiang Dunlu to Chongyi Road on Wenyi West Road. The segmentation of the road can be referred to relevant technologies, which will not be elaborated on in this manual.

[0128] Step 606: If the target road is located on the recommended route, determine that the custom route is located on the recommended route.

[0129] Based on the judgment result of step 604 above, if the target road is located on the recommended route, it can be determined that the custom route is located on the recommended route, and the constraint logic of the custom route is to exclude it.

[0130] Step 608: If the target road is not located on the recommended route, determine that the custom route is not located on the recommended route.

[0131] Based on the judgment result of step 604 above, if the target road is not located on the recommended route, it can be determined that the custom route is not located on the recommended route, and the constraint logic of the custom route is inclusion.

[0132] In this embodiment, the constraint logic for the custom route can be determined by judging whether the known road matched by the custom route is located on the recommended route, without having to execute the aforementioned... Figure 3 The process of determining and matching the minimum bounding rectangle in the illustrated embodiment.

[0133] II. Constraint Logic for User-Specified Custom Routes

[0134] In this embodiment, before drawing a custom route, the user can select the constraint logic for that route. For example, constraint logic options can be provided in the area outside the canvas on the map page, allowing the user to select the constraint logic for the custom route.

[0135] Please refer to Figure 7 , Figure 7 The outermost rectangle shown represents the touchscreen of the electronic device. The tri-line ACDB remains the recommended route from start point A to end point B, with the shaded rectangle representing the editing canvas. Outside this editing canvas, there are two controls: "Mark Not to Go" and "Mark to Go". "Mark Not to Go" means the user-defined route's constraints are excluded, while "Mark to Go" means the user-defined route's constraints are included.

[0136] In this embodiment, after the user sends an editing request, an editing canvas can be added and the above-mentioned constraint logic options can be provided at the same time. The current page can be set to either "Mark as not moving" or "Mark as wanting to move" by default. The user can switch to another constraint logic by clicking another control.

[0137] In this embodiment, the scale of the displayed electronic map is typically determined by the mileage of the recommended route. The map scale often differs for different recommended routes, and users may need to zoom in and out of the map after drawing their own routes. This specification provides two modes after adding an editing canvas: a canvas editing mode, which is equivalent to activating the pen, allowing users to directly draw their own routes on the map; and a display adjustment mode, where the pen is not yet activated, allowing users to zoom in and out of the map to locate their desired routes. This embodiment provides different interaction methods for different constraint logics, thereby enhancing the user experience.

[0138] In one example, if the current constraint logic is to exclude, it means that there is a section of the recommended route that the user does not want to take. The probability that the user will adjust the map scale or display location is low. Therefore, under the constraint logic of exclusion, the canvas editing mode is enabled by default, and the user can directly draw the route they do not want to take on the recommended route in the editing canvas.

[0139] Optionally, considering that users may zoom in on the map when the recommended route is long, in this canvas editing mode, if the user's adjustment operation on the map scale or display position is received, the current mode can be automatically switched from canvas editing mode to display adjustment mode, and the user can directly adjust the map scale or display position.

[0140] The map is displayed on the touchscreen, and this area is often limited. In practice, users may move the map in various directions to adjust it so that the area they want to interact with is displayed on the touchscreen. It is worth noting that, for clarity, the accompanying diagram... Figure 4 , Figure 5 and Figure 7 None of the pages shown display maps.

[0141] In this example, after drawing a custom route, the user can parse the target road corresponding to the custom route and then mark the target road in the recommended route, for example, by marking the target road with different colors. The length of the marked target road is adjustable, and the user can adjust the length according to actual needs.

[0142] In this example, when the current constraint logic is excluded, the parsing method for the custom route can be implemented by determining whether the custom route is located on the recommended route, as described in the aforementioned embodiment of "Determining Constraint Logic Based on Custom Route". That is, the points on the user-drawn custom route can be divided into multiple groups. For each group, a minimum bounding rectangle is drawn for each point within that group, resulting in the minimum bounding rectangle corresponding to each group. Then, it is determined whether the recommended route intersects with the minimum bounding rectangles corresponding to each group. If the recommended route intersects with the minimum bounding rectangles corresponding to one or more groups, the road on the recommended route that intersects with the minimum bounding rectangle is determined as the target road corresponding to the custom route. If the recommended route does not intersect with the minimum bounding rectangles corresponding to all groups, the user can be prompted to re-enter the custom route. The processing and implementation of this part can be referred to in the aforementioned embodiment, and will not be elaborated upon here.

[0143] In another example, if the current constraint logic is inclusive, it means the user's desired route is not among the recommended routes, and the user has various desired routes. In this case, the display adjustment mode can be enabled by default. In this mode, the user can first adjust the map's position and scale to display the desired route on the touchscreen. Then, the user can switch from display adjustment mode to canvas editing mode by clicking the pen, and then draw the custom route.

[0144] Similarly, in canvas editing mode, if a user adjusts the map scale or display position, the current mode can be switched from canvas editing mode to display adjustment mode.

[0145] This demonstrates that this manual employs different modes when covering the editing canvas for different constraint logics, facilitating user operation, greatly improving the ease of operation, and thus enhancing the user's interactive experience.

[0146] In this embodiment, when the current constraint logic is inclusive, the parsing method for the custom route can be implemented by referring to the parsing method for the custom route in the aforementioned embodiment of "determining constraint logic based on the custom route". That is, it parses known roads that match the user-inputted custom route, and if a known road matching the custom route is found, the matched known road is determined as the target road corresponding to the custom route. If no known road matching the custom route can be found, the user can be prompted to re-enter the custom route. The processing and implementation of this part can be referred to the aforementioned embodiments, and will not be elaborated upon here.

[0147] Corresponding to the embodiments of the route planning method described above, this specification also provides embodiments of the route planning device.

[0148] The embodiments of the route planning device described in this specification can be applied to electronic devices. The device embodiments can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of the electronic device loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 8 The diagram shown is a hardware structure diagram of the electronic device containing the route planning device described in this manual. (Except for...) Figure 8 In addition to the processor, memory, network interface, and non-volatile memory shown, the electronic device in which the device is located in the embodiment may also include other hardware depending on the actual function of the electronic device, which will not be described in detail here.

[0149] Figure 9 This is a block diagram illustrating a route planning device in an exemplary embodiment of this specification.

[0150] Please refer to Figure 9 The route planning device can be applied to Figure 8 The electronic device shown includes: an initial planning unit, a canvas overlay unit, a route acquisition unit, and a replanning unit.

[0151] The initial planning unit plans and displays the recommended route based on the starting point input by the user.

[0152] The canvas overlay unit, in response to an editing request for the recommended route, overlays an editing canvas on top of the currently displayed canvas;

[0153] The route acquisition unit acquires the custom route drawn by the user on the editing canvas and determines the constraint logic of the custom route.

[0154] The replanning unit parses the target road corresponding to the custom route, and replans the recommended route corresponding to the starting point based on the target road and the constraint logic, and then displays it.

[0155] Optionally, the step of determining the constraint logic of the custom route includes:

[0156] Determine whether the custom route is located on the recommended route;

[0157] If the custom route is located on the recommended route, the constraint logic for determining the custom route is to exclude it.

[0158] If the custom route is not located on the recommended route, the constraint logic for determining the custom route is to include it.

[0159] Optionally, the step of determining whether the custom route is located on the recommended route includes:

[0160] Divide the points on the custom route into multiple groups;

[0161] For each group, construct the minimum bounding rectangle for each point within that group to obtain the minimum bounding rectangle corresponding to each group;

[0162] Determine whether the recommended route intersects with the minimum bounding rectangle corresponding to each group;

[0163] If the recommended route intersects with the minimum bounding rectangles corresponding to one or more groups, it is determined that the custom route is located on the recommended route;

[0164] If the recommended route does not intersect with the minimum bounding rectangles corresponding to all groups, it is determined that the custom route is not located on the recommended route.

[0165] Optionally, the step of parsing the target road corresponding to the custom route includes:

[0166] The road that intersects the minimum bounding rectangle on the recommended route is determined as the target road corresponding to the custom route.

[0167] Optionally, the step of determining whether the custom route is located on the recommended route includes:

[0168] Parse known roads that match the custom route;

[0169] If a known road that matches the custom route is parsed out, the matching known road is determined as the target road corresponding to the custom route, and it is determined whether the target road is located on the recommended route;

[0170] If the target road is located on the recommended route, then the custom route is determined to be located on the recommended route.

[0171] If the target road is not located on the recommended route, then the custom route is determined not to be located on the recommended route.

[0172] Optionally, the step of replanning the recommended route corresponding to the starting point based on the target road and the constraint logic includes:

[0173] Obtain all reachable routes corresponding to the starting point, and determine the overlap between the reachable routes and the target road;

[0174] If the constraint logic is excluded, the recommended route corresponding to the starting point will be replanned with the lowest overlap as the objective.

[0175] If the constraint logic is inclusive, the recommended route corresponding to the starting point is replanned with the highest overlap as the objective.

[0176] Optionally, the route planning steps may also include:

[0177] Provide constraint logic options in areas outside the editing canvas;

[0178] The constraint logic for determining the custom route includes:

[0179] Define the constraint logic of the custom route drawn by the user under the Exclude Constraint Logic option as excluded;

[0180] Define the constraint logic of a custom route drawn by the user under the "Include Constraint Logic" option as "Include".

[0181] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0182] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this specification according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0183] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0184] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0185] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0186] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0187] Corresponding to the embodiments of the aforementioned route planning method, this specification also provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the following steps:

[0188] Based on the user's input starting point, a corresponding recommended route is planned and displayed;

[0189] In response to an edit request for the recommended route, an editing canvas is overlaid on the currently displayed area;

[0190] Obtain the custom route drawn by the user on the editing canvas, and determine the constraint logic of the custom route;

[0191] The system parses the target road corresponding to the custom route, and re-plans and displays the recommended route corresponding to the starting point based on the target road and the constraint logic.

[0192] Optionally, the constraint logic for determining the custom route includes:

[0193] Determine whether the custom route is located on the recommended route;

[0194] If the custom route is located on the recommended route, the constraint logic for determining the custom route is to exclude it.

[0195] If the custom route is not located on the recommended route, the constraint logic for determining the custom route is to include it.

[0196] Optionally, the step of determining whether the custom route is located on the recommended route includes:

[0197] Divide the points on the custom route into multiple groups;

[0198] For each group, construct the minimum bounding rectangle for each point within that group to obtain the minimum bounding rectangle corresponding to each group;

[0199] Determine whether the recommended route intersects with the minimum bounding rectangle corresponding to each group;

[0200] If the recommended route intersects with the minimum bounding rectangles corresponding to one or more groups, it is determined that the custom route is located on the recommended route;

[0201] If the recommended route does not intersect with the minimum bounding rectangles corresponding to all groups, it is determined that the custom route is not located on the recommended route.

[0202] Optionally, the step of parsing the target road corresponding to the custom route includes:

[0203] The road that intersects the minimum bounding rectangle on the recommended route is determined as the target road corresponding to the custom route.

[0204] Optionally, the step of determining whether the custom route is located on the recommended route includes:

[0205] Parse known roads that match the custom route;

[0206] If a known road that matches the custom route is parsed out, the matching known road is determined as the target road corresponding to the custom route, and it is determined whether the target road is located on the recommended route;

[0207] If the target road is located on the recommended route, then the custom route is determined to be located on the recommended route.

[0208] If the target road is not located on the recommended route, then the custom route is determined not to be located on the recommended route.

[0209] Optionally, the step of replanning the recommended route corresponding to the starting point based on the target road and the constraint logic includes:

[0210] Obtain all reachable routes corresponding to the starting point, and determine the overlap between the reachable routes and the target road;

[0211] If the constraint logic is excluded, the recommended route corresponding to the starting point will be replanned with the lowest overlap as the objective.

[0212] If the constraint logic is inclusive, the recommended route corresponding to the starting point is replanned with the highest overlap as the objective.

[0213] Optionally, the route planning steps may also include:

[0214] Provide constraint logic options in areas outside the editing canvas;

[0215] The constraint logic for determining the custom route includes:

[0216] Define the constraint logic of the custom route drawn by the user under the Exclude Constraint Logic option as excluded;

[0217] Define the constraint logic of a custom route drawn by the user under the "Include Constraint Logic" option as "Include".

[0218] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0219] The above description is merely a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of protection of this specification.

Claims

1. A route planning method, comprising: planning and displaying a corresponding recommended route based on a user inputted starting point; in response to an editing request for the recommended route, overlaying an editing canvas on a current display; acquiring a user-drawn custom route on the editing canvas and determining a constraint logic of the custom route; analyzing a target road corresponding to the custom route and re-planning and displaying the recommended route corresponding to the starting point according to the target road and the constraint logic; wherein the determining of the constraint logic of the custom route comprises: determining whether the custom route is on the recommended route; in a case that the custom route is on the recommended route, determining the constraint logic of the custom route as exclusion, the exclusion constraint logic indicating that the corresponding custom route is a route not to be taken; in a case that the custom route is not on the recommended route, determining the constraint logic of the custom route as inclusion. 2.The method of claim 1, wherein the determining of whether the custom route is on the recommended route comprises: dividing each point on the custom route into a plurality of groups; for each group, performing a minimum bounding rectangle for each point in the group to obtain a minimum bounding rectangle corresponding to each group; determining whether the recommended route and the minimum bounding rectangle corresponding to each group have an intersection; in a case that the recommended route and the minimum bounding rectangle corresponding to one or more groups have an intersection, determining that the custom route is on the recommended route; in a case that the recommended route and the minimum bounding rectangle corresponding to all groups have no intersection, determining that the custom route is not on the recommended route. 3.The method of claim 2, wherein the analyzing of the target road corresponding to the custom route comprises: determining a road on the recommended route intersecting with the minimum bounding rectangle as the target road corresponding to the custom route. 4.The method of claim 1, wherein the determining of whether the custom route is on the recommended route comprises: analyzing a known road matching the custom route; in a case that a known road matching the custom route is analyzed, determining the matching known road as the target road corresponding to the custom route and determining whether the target road is on the recommended route; in a case that the target road is on the recommended route, determining that the custom route is on the recommended route; in a case that the target road is not on the recommended route, determining that the custom route is not on the recommended route. 5.The method of claim 1, wherein the re-planning of the recommended route corresponding to the starting point according to the target road and the constraint logic comprises: acquiring each reachable route corresponding to the starting point and determining a coincidence degree of the reachable route and the target road; in a case that the constraint logic is exclusion, re-planning the recommended route corresponding to the starting point with the lowest coincidence degree as a target. In the case that the constraint logic is inclusion, the recommended route corresponding to the starting point is re-planned with the highest coincidence as the target.

6. The method of claim 1, further comprising: providing constraint logic options outside the editing canvas; the determining the constraint logic of the custom route comprises: determining the constraint logic of the custom route drawn by the user under the exclusion constraint logic option as exclusion; determining the constraint logic of the custom route drawn by the user under the inclusion constraint logic option as inclusion.

7. A route planning apparatus, comprising: an initial planning unit that plans and displays a recommended route corresponding to a starting point based on a user input; a canvas overlay unit that, in response to an editing request for the recommended route, overlays an editing canvas on the basis of the current display; a route obtaining unit that obtains a custom route drawn by a user on the editing canvas and determines a constraint logic of the custom route; a re-planning unit that analyzes a target road corresponding to the custom route and re-plans and displays the recommended route corresponding to the starting point according to the target road and the constraint logic; wherein the route obtaining unit determines the constraint logic of the custom route comprises: judging whether the custom route is on the recommended route; in the case that the custom route is on the recommended route, determining the constraint logic of the custom route as exclusion, the exclusion constraint logic indicating that the corresponding custom route is a route not to be taken; in the case that the custom route is not on the recommended route, determining the constraint logic of the custom route as inclusion.

8. An electronic device, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor implements the method of any one of claims 1-6 by running the executable instructions.

9. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the steps of the method of any one of claims 1-6.

10. A computer program product that, when executed by a processor, implements the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Navigation route planning method and navigation system

    CN105953809A

  • Navigation route processing method and device

    CN106871921A