Route planning method, route display method and related device
By generating multiple candidate routes for the online ride-hailing platform and determining recommended routes based on road rights and user preferences, the path planning problem in scenarios with multiple entrances and exits along the way is solved, improving user experience and travel efficiency.
Patent Information
- Application Number
- CN202510735228.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-09-05
AI Technical Summary
The existing online ride-hailing service platform cannot flexibly adapt its route planning when there are multiple entrances and exits at the passing points, resulting in low efficiency and poor experience for users, and may even cause detours and extended waiting times.
By determining the multiple reachable locations corresponding to each waypoint, multiple candidate routes containing different combinations of waypoints are generated, and recommended routes are generated based on road rights and user preferences, providing more abundant route options.
It improves the rationality and flexibility of route planning, increases travel efficiency and improves user experience, meeting users' diverse travel needs.
Smart Images

Figure CN120593790A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of travel service technology, and in particular to a route planning method, a route display method and related devices. Background Art
[0002] With the rapid development and widespread application of mobile internet technology, platforms providing online ride-hailing services have emerged. When passengers use online ride-hailing services, the platforms plan routes based on the order's starting point, destination, and transit points.
[0003] However, current online ride-hailing platforms rely solely on a single, fixed route planning model for waypoints. For example, they simply plan routes to pass through a fixed location. This model struggles to provide high-quality routes, especially when there are multiple entrances and exits at a waypoint, as traditional planning methods often lack flexibility.
[0004] This mechanized path planning mode not only reduces the actual arrival efficiency of users and leads to a poor experience, but may even cause problems such as detours and extended waiting times. Summary of the Invention
[0005] This application provides a route planning method, a route display method and related devices to provide users with more abundant route options, effectively improve the rationality and flexibility of route planning, thereby improving travel efficiency and improving user experience.
[0006] This application provides the following solutions:
[0007] According to a first aspect, a route planning method is provided, which is applied to a server and includes:
[0008] receiving trip information, wherein the trip information includes at least one waypoint input by a user;
[0009] Determining a plurality of reachable location points corresponding to each of the waypoints;
[0010] Determining multiple candidate routes based on the multiple reachable locations corresponding to each of the waypoints and the starting location and destination corresponding to the user; wherein the candidate routes start from the starting location, sequentially pass through a reachable location corresponding to each of the waypoints, and reach the destination;
[0011] At least one recommended route is determined from the multiple candidate routes, and the at least one recommended route is sent to the client for display.
[0012] According to a second aspect, a route display method is provided, which is applied to a client and includes:
[0013] Sending itinerary information to a server; the itinerary information includes at least one waypoint input by the user;
[0014] At least one recommended route is received from the server and displayed; wherein the recommended route starts from the starting point corresponding to the user, passes through a reachable location point corresponding to each of the waypoints in sequence, and reaches the destination.
[0015] According to a third aspect, a route planning device is provided, which is arranged on a server side, and the device includes:
[0016] a receiving unit configured to receive travel information, wherein the travel information includes at least one waypoint input by a user;
[0017] a reachable location point determining unit, configured to determine a plurality of reachable location points corresponding to each of the waypoints;
[0018] a candidate route determining unit configured to determine a plurality of candidate routes based on the plurality of reachable locations corresponding to each of the waypoints and the starting location and destination corresponding to the user; wherein the candidate routes start from the starting location, sequentially pass through a reachable location corresponding to each of the waypoints, and reach the destination;
[0019] The recommended route determining unit is configured to determine at least one recommended route from the plurality of candidate routes and send the at least one recommended route to the client for display.
[0020] According to a fourth aspect, a route display device is provided, which is arranged at a client, and the device includes:
[0021] a sending unit configured to send the itinerary information to the server; the itinerary information includes at least one waypoint input by the user;
[0022] The display unit is configured to receive and display at least one recommended route from the server; wherein the recommended route starts from the starting point corresponding to the user, passes through a reachable location point corresponding to each of the passing points in sequence, and reaches the destination.
[0023] According to a fifth aspect, a computer program product is provided, comprising a computer program, which implements the steps of any one of the methods described in the first aspect when executed by a processor.
[0024] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0025] The embodiments of the present application change the single fixed path planning mode of traditional online ride-hailing platforms by determining multiple reachable location points corresponding to each waypoint and generating multiple candidate routes containing different combinations of waypoint locations. It can flexibly adapt to diverse traffic needs in situations where there are multiple entrances and exits or complex geographical scenarios at waypoints, provide users with more abundant route options, effectively improve the rationality and flexibility of route planning, and thus improve travel efficiency and user experience.
[0026] Of course, any product implementing the present application does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0028] Figure 1 A diagram of the system architecture applicable to the embodiments of the present application;
[0029] Figure 2 A flowchart of a route planning method executed by a server provided in an embodiment of the present application;
[0030] Figure 3 Schematic diagram of two candidate routes provided in the embodiment of the present application;
[0031] Figure 4 A flowchart of a route display method executed by a client provided in an embodiment of the present application;
[0032] Figure 5a A schematic diagram of an order page provided in an embodiment of the present application;
[0033] Figure 5b A schematic diagram of the first page of recommended routes provided in an embodiment of the present application;
[0034] Figure 5c Another schematic diagram of the first page where the recommended routes provided in the embodiment of the present application are located;
[0035] Figure 6 A schematic block diagram of a route planning device provided in an embodiment of the present application;
[0036] Figure 7 A schematic block diagram of a route display device provided in an embodiment of the present application;
[0037] Figure 8 A schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0038] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.
[0039] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The singular forms "a", "an", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise.
[0040] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.
[0041] The word "if," as used herein, may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.
[0042] When existing travel service technologies plan routes, once a user enters a waypoint, the resulting route often only passes through fixed locations, failing to fully account for the multiple entrances and exits that may exist at those points. This leads to a problem: the planned route may not meet the passenger's actual desired alighting point, thus diminishing the passenger's travel experience.
[0043] In view of this, the present application provides a new idea and a route planning method. In order to facilitate the understanding of the present application, the system architecture on which the present application is based is first described. Figure 1 An exemplary system architecture to which the embodiments of the present application can be applied is shown. Figure 1 As shown in , the system architecture may include: a server side, a passenger user's client side, and a driver user's client side.
[0044] The server and client are the two main components of an application service. The server uses the server as its primary hardware infrastructure and can include one or more software-based service modules. In this embodiment, it is primarily responsible for handling the route planning logic in the ride-hailing service, forming a collaborative front-end and back-end with the client.
[0045] The user terminal where the client resides may include, but is not limited to, smart mobile terminals, wearable devices, and PCs (Personal Computers). Smart mobile devices may include mobile phones, tablet computers, PDAs (Personal Digital Assistants), and internet-connected car terminals. Wearable devices may include smart watches, smart glasses, smart bracelets, VR (Virtual Reality) devices, AR (Augmented Reality) devices, mixed reality devices (i.e., devices that support both VR and AR), and so on.
[0046] The driver user's client and the passenger user's client may be local applications located in the user terminal, or may be web applications opened in the user terminal.
[0047] A server can be a standalone server, a server cluster, or even a cloud server. A cloud server, also known as a cloud computing server or cloud host, is a hosting product within the cloud computing service ecosystem. It addresses the management difficulties and limited scalability of traditional physical hosting and virtual private server (VPS) services.
[0048] As a feasible embodiment, in a ride-hailing scenario, after the passenger user's client sends information about the waypoints to the server, the server uses the method provided in the embodiment of the present application to determine a recommended route and sends the recommended route to the passenger user's client for display.
[0049] It should be understood that Figure 1 The server and client in the figure are only for illustration. According to the implementation requirements, there can be any number of servers and clients.
[0050] Figure 2 This is a flow chart of the route planning method provided in the embodiment of the present application. The method can be Figure 1 The server side execution in the system shown. Figure 2 As shown in , the method may include the following steps:
[0051] Step 201: Receive travel information, which includes at least one waypoint input by a user.
[0052] Step 202: Determine multiple reachable location points corresponding to each waypoint.
[0053] Step 203: Determine multiple candidate routes based on the multiple reachable locations corresponding to each waypoint and the user's corresponding starting point and destination; wherein the candidate route starts from the starting point, passes through a reachable location corresponding to each waypoint in sequence, and reaches the destination.
[0054] Step 204 : Determine at least one recommended route from the multiple candidate routes, and send the at least one recommended route to the client for display.
[0055] It can be seen that the embodiment of the present application changes the single fixed path planning mode of the traditional online car-hailing platform by determining multiple reachable location points corresponding to each waypoint and generating multiple candidate routes containing different combinations of waypoints. It can flexibly adapt to diverse traffic needs in situations where there are multiple entrances and exits or complex geographical scenarios at waypoints, provide users with more abundant route options, effectively improve the rationality and flexibility of route planning, and thus improve travel efficiency and user experience.
[0056] The following describes in detail each step of the above process and the effects that can be produced, in conjunction with the embodiments. It should be noted that the terms "first" and "second" in this disclosure do not restrict the size, order, or quantity of the points, but are merely used to distinguish them in name. For example, "first drop-off point" and "second drop-off point" are used to distinguish between the two drop-off points.
[0057] First, the above step 201, namely "receiving travel information, the travel information including at least one waypoint input by the user" is described in detail with reference to the embodiment.
[0058] In the embodiment of the present application, the server receives itinerary information. The itinerary information may be input by the passenger user through the order page or order page of the client and sent to the server. The itinerary information includes at least one waypoint, which may be in the following two situations:
[0059] Case 1: Enter the waypoint when placing the initial order
[0060] When deciding on a trip plan, users enter their origin, destination, and at least one waypoint simultaneously through the app's ordering page. The origin is the user's designated starting point, the destination is the final destination, and the waypoints are the desired locations along the way. The itinerary information is then combined with the origin, destination, and waypoints and uploaded to the server for subsequent route planning.
[0061] Case 2: Dynamically add waypoints during the trip
[0062] When placing an initial order, users only enter their origin and destination. The server then plans a basic route based on these two pieces of information. Later in the journey, users may need to add waypoints based on their needs. In this case, users can add waypoints during the order process through the order page. The server then integrates the newly added waypoint information into the existing itinerary information and replans the route.
[0063] It should be noted that if the user decides to add a new waypoint during the trip, the server can re-plan the subsequent route based on the user's current actual location (i.e., the location during the pick-up) as the new starting point. In this case, in addition to sending the user's temporarily added waypoints to the server, the client can also send its own real-time location to the server.
[0064] The above step 202, i.e., "determining multiple reachable location points corresponding to each waypoint", is described in detail below with reference to an embodiment.
[0065] In an embodiment of the present application, after receiving a waypoint input by a user, multiple drop-off points within a preset geographical range of the waypoint can be first obtained. The preset geographical range can be defined by geo-fencing technology, and the range can be set to a circular area, a rectangular area, or a custom polygonal area according to the actual application scenario. For example, a circular range with a radius of 500 meters with the waypoint as the center point. Then, multiple drop-off points are further determined within the range, and the determination of these drop-off points can be based on at least one of the following data sources: historical travel data, and / or user drop-off preference data. Among them:
[0066] The first drop-off point is determined based on historical travel data. Specifically, by analyzing historical travel data within a pre-defined geographic range, all trip order data from a historical time period within that range (e.g., the past 30 days) is extracted. A density clustering algorithm is then used to identify a set of frequently dropped-off locations, which are then determined as the first drop-off point. For example, frequently dropped-off points around an office building are typically concentrated at locations such as the main entrance and parking lot entrance.
[0067] A second drop-off point is determined based on the user's drop-off preference data. This data can include frequently set drop-off points (such as the latitude and longitude coordinates of "home" and "work"), or it can be used to predict user preferences by training a preference model based on the user's historical travel history. For example, it can identify that the user prefers to get off at a side road within 50-100 meters of the destination.
[0068] Finally, a first preset number of get-off points are selected from the multiple get-off points determined above as multiple reachable location points corresponding to the waypoints.
[0069] Specifically, the first and second drop-off points can be de-duplicated and merged to form a set of candidate drop-off points. To ensure that invalid locations are excluded, the set of candidate drop-off points can also be filtered, such as removing invalid coordinate points located in no-parking zones or road dividers, spatially aggregating adjacent points with a spacing of less than 50 meters, retaining representative locations, and avoiding excessive concentration of candidate points. A first preset number (e.g., K) of drop-off points from the filtered set of candidate drop-off points are then selected as the multiple reachable locations corresponding to the waypoints.
[0070] The reason for selecting a first preset number (e.g., K) of alighting points as the multiple reachable locations corresponding to the waypoints is that too many alighting points may make it difficult for users to make a decision, while too few may not meet the users' actual needs. Therefore, selecting an appropriate number of alighting points as reachable locations can ensure that users have sufficient choices while avoiding information overload, allowing users to more efficiently find the alighting location that best meets their needs, thereby optimizing the user experience. In addition, processing and analyzing too many alighting points on the server side will consume a lot of computing resources and time. Selecting a certain number of alighting points can improve operational efficiency while ensuring service quality, making subsequent operations such as route planning faster and smoother.
[0071] For example, after receiving the waypoints input by the user, a total of 50 get-off points are obtained based on historical travel data and user preference data. At this time, the number of get-off points is relatively large, so 10 get-off points are selected from these 50 get-off points as the reachable location points corresponding to the waypoints.
[0072] By integrating historical travel data and user preference data, this embodiment of the application can more comprehensively identify the user's possible alighting locations. A first preset number of reachable locations are selected from multiple alighting points. This approach provides a variety of alighting options for each waypoint, effectively improving the user's travel experience and flexibility.
[0073] The above step 203, i.e., "determining multiple candidate routes based on multiple reachable locations corresponding to each waypoint and the starting point and destination corresponding to the user," is described in detail below in conjunction with an embodiment.
[0074] Among them, the candidate route starts from the starting point, passes through a reachable location point corresponding to each waypoint in sequence and reaches the destination.
[0075] In this embodiment of the present application, after determining the multiple reachable locations corresponding to each waypoint, the candidate route generation phase begins. First, based on the road network topology, a subgraph road network is generated, sequentially from the starting point to each reachable location at the waypoint, and finally to the destination. The road network topology describes the connectivity and traffic rules between roads. By analyzing these relationships, the server can identify possible driving paths between a given starting point, waypoints, and destination.
[0076] Next, the server retrieves routes based on the subgraph road network and road rights. Road rights refer to the access permissions of roads. For example, some roads may restrict access to certain types of vehicles or prohibit access during specific time periods. When retrieving routes, the server considers these road rights restrictions and filters out routes that do not meet the access requirements, thereby generating a preliminary set of candidate routes.
[0077] In addition, in order to reduce the problem of combinatorial explosion, some optimization algorithms and strategies can be used in the embodiments of the present application to reduce the number of route combinations that need to be considered. For example, the divide-and-conquer method can be used to divide the entire trip into multiple sub-trips (from the starting point to the first waypoint, the first waypoint to the last waypoint, and the last waypoint to the destination), and each sub-trip is route-planned separately, and then the routes of each sub-trip are combined to form a complete route. In addition, a heuristic search algorithm can be used to prioritize exploring paths that are more likely to contain the optimal solution based on heuristic functions (such as distance, time, etc.), thereby reducing the number of route combinations that need to be considered while ensuring that the route passes through each waypoint.
[0078] The above step 204 , namely “determining at least one recommended route from multiple candidate routes and sending the at least one recommended route to the client for display”, is described in detail below with reference to an embodiment.
[0079] In the embodiment of the present application, when multiple candidate routes are determined, at least one recommended route can be determined from the multiple candidate routes based on the convenience of each candidate route. Wherein, convenience is an indicator that measures the convenience of a candidate route among all candidate routes.
[0080] The accessibility of a candidate route is closely related to its travel distance, that is, the shorter its travel distance is among all the candidate routes, the higher its accessibility is; conversely, the longer its travel distance is among all the candidate routes, the lower its accessibility is.
[0081] like Figure 3As shown, assume that there are two candidate routes. Point A is the starting point, point D is the destination, and points B and C are two reachable locations of the waypoint E. Based on the above travel information, two candidate routes can be generated. The yellow route is the first candidate route A→B→D, and the blue route is the second candidate route A→C→D. For the yellow route, the vehicle needs to temporarily stop at point B. At this time, the vehicle needs to continue driving forward at the intersection until it reaches a position where it can turn around and return. For the blue route, the vehicle needs to temporarily stop at point C. It only needs to turn left at the intersection to arrive. From Figure 3 It can be clearly seen that the blue route is more convenient than the yellow route. Therefore, if a recommended route is determined between the two routes, the blue route is better than the yellow route.
[0082] The above example shows that accessibility is closely related to travel distance. When determining a recommended route, we should not only consider the accessibility of the route, but also pay attention to the accessibility of the route to ensure that the recommended route better meets the user's actual travel needs.
[0083] It should be noted that Figure 3 This is just one of the schematic diagrams. In actual scenarios, there may be multiple transit points from point A to point D.
[0084] As an implementable manner, the convenience may be determined based on the ratio of the actual travel distance of the candidate route to the travel distance of the reference route.
[0085] Specifically, first, a reference route is determined from all candidate routes. The reference route may be a route with the shortest travel distance among all candidate routes.
[0086] Then, for each candidate route, the ratio of its actual travel distance to the travel distance of the reference route can be calculated. The closer this ratio is to 1, the more convenient the candidate route is.
[0087] For example, if the base route has a travel distance of 10 km, the actual travel distance of candidate route 1 is 11 km, and the actual travel distance of candidate route 2 is 12 km, then the convenience ratio of candidate route 1 is 1.1, and the convenience ratio of candidate route 2 is 1.2. In this case, candidate route 1 is more convenient than candidate route 2.
[0088] The accessibility is determined by calculating the travel distance ratio between the candidate route and the benchmark route, which provides an intuitive and quantitative evaluation index, facilitates the comparison and screening of different routes, and further optimizes the process of determining the recommended route.
[0089] In addition to the above method, comparison can also be made between multiple candidate routes to determine the convenience. For example, if the actual travel distance of candidate route 1 is 11 kilometers, and the actual travel distance of candidate route 2 is 12 kilometers, the actual travel distance of candidate route 2 is greater than the actual travel distance of candidate route 1, which means that candidate route 2 is more detour than candidate route 1, that is, candidate route 1 is more convenient than candidate route 2.
[0090] By considering the convenience of each candidate route, we can screen out recommended routes that better suit the user's travel habits and needs from multiple candidate routes, improve the rationality and accuracy of route planning, and enhance the user's travel experience.
[0091] To more comprehensively evaluate each candidate route and optimize the selection of recommended routes, this embodiment of the present application also introduces a route scoring mechanism that not only considers accessibility but also other route characteristics, thereby providing users with a better travel plan. Specifically, each candidate route is scored based on its route characteristics, which include at least accessibility. Based on the scoring results, at least one recommended route is determined from the multiple candidate routes.
[0092] In addition to the indicator of accessibility, embodiments of the present application may also consider other route characteristics of each candidate route when selecting a recommended route, including but not limited to estimated travel time, actual congestion conditions, traffic light conditions, toll conditions, etc. These route characteristics can comprehensively reflect the pros and cons of the candidate routes.
[0093] Here, each candidate route is scored according to its route characteristics, which may specifically include:
[0094] First, the route characteristics of each candidate route are quantified, that is, qualitative characteristics are converted into quantitative data. For example, congestion conditions are divided into smooth, slightly congested, moderately congested, and severely congested, and different numerical values are assigned to each.
[0095] The quantified route features are then fed into a pre-trained route evaluation model. This model uses a machine learning algorithm to perform a weighted fusion of the quantified route features to generate a score for each candidate route. The machine learning algorithm used here may include, but is not limited to, neural network models and decision trees.
[0096] It should be noted that in the above method of scoring candidate routes using the route evaluation model, the route features considered are mostly objective factors obtained through training based on historical data, which can ensure the stability of the above route evaluation model and its universality for most users.
[0097] In the embodiment of the present application, quantitative processing and machine learning algorithms are used to perform weighted fusion of route features, which can score candidate routes more objectively and accurately, improve the accuracy and reliability of the scoring results, and provide a strong basis for further determining the recommended route.
[0098] After obtaining the score of each candidate route, the multiple candidate routes can be initially sorted in descending order of the score.
[0099] In order to further meet the personalized needs of different users, the embodiment of the present application can further adjust the results of the initial sorting in combination with the user's route preference information.
[0100] Specifically, the route preference information pre-set by the user can be obtained. The user's preference information may include the type of route selected in the past (such as whether to prefer high-speed routes, whether to avoid congestion, etc.) and the set preference options (such as shorter route time, shorter route distance, etc.). For example, if the first candidate route obtained after scoring and sorting has a travel time of 30 minutes and a travel distance of 11 kilometers, while the second candidate route has a travel time of 25 minutes and a travel distance of 10 kilometers, then based on the user's preference information (such as the user's preference for the shorter route time), the ranking position of the second candidate route will be swapped to be before the first candidate route.
[0101] By readjusting the sorting results, the final recommended route is made more in line with the user's personalized needs, and the recommendation results are made more in line with the user's expectations, thereby improving the interpretability and rationality of the recommendation.
[0102] From the reordered candidate routes, a second preset number (e.g., the first three) of routes are selected as recommended routes. These routes not only ensure route efficiency through the convenience index, but also fully consider the user's personalized preferences, further improving the user's travel experience.
[0103] Finally, the determined recommended routes are sent to the client for display. When sending the recommended routes to the client, some key information of the recommended routes can be attached, such as the distance of the recommended route, the estimated travel time, the number of traffic lights, etc., so that the user can quickly understand the core characteristics of each route and make an appropriate choice.
[0104] For example, when the user enters the waypoint "XX Building" on the client, the server will filter out multiple corresponding reachable location points based on the waypoint, such as "XX Building East Gate", "XX Building West Gate", "XX Building Parking Lot", etc. Then the server will plan multiple recommended routes based on the multiple reachable location points and return them to the client for display. The best recommended route is the "XX Building West Gate", the reachable location point corresponding to the waypoint "XX Building".
[0105] It should be noted that the client here can cover a variety of scenarios. It can be the client used by ordinary users in navigation scenarios, such as various map navigation applications, and it can also include the client of passenger users in ride-hailing scenarios (including express scenarios, online taxi scenarios, ride-sharing scenarios, and carpooling scenarios).
[0106] Figure 4 This is a flow chart of the route display method performed by the client provided in the embodiment of the present application. Figure 4 As shown, the method may include the following steps:
[0107] Step 401: Send the itinerary information to the server; the itinerary information includes at least one waypoint input by the user.
[0108] Step 402: Receive and display at least one recommended route from the server. The recommended route starts from the user's corresponding starting point, passes through a reachable location point corresponding to each waypoint, and reaches the destination.
[0109] In this embodiment of the present application, the user can enter the starting point, destination, and at least one waypoint through the order page or order page in the client. The input of the waypoint can include the following two situations:
[0110] Case 1: Enter the waypoint when placing the initial order
[0111] When a user finalizes their travel plan, they enter their starting point, destination, and at least one waypoint on the app's order page. The starting point is the user's designated departure point, the destination is the final destination, and the waypoints are the desired locations along the way.
[0112] Case 2: Dynamically add waypoints during the trip
[0113] When placing an initial order, users only enter their starting and destination locations. The server then plans a basic route based on these two pieces of information. Later in the journey, users may need to add waypoints based on their needs. In this case, users can add waypoints during the order process through the order page.
[0114] Then, the itinerary information is sent by the client to the server. In response to the itinerary information, the server plans at least one recommended route and sends it to the client for display.
[0115] It should be noted that in the first case, the server side uses the user-specified starting point as the starting point for subsequent route planning; in the second case, when the user temporarily decides to add a new waypoint during the trip, since the user's location has changed and is no longer the starting point of the trip, the server side needs to use the user's current actual location (i.e. the location during the ride) as the new starting point to re-plan at least one recommended route and send it to the client for display.
[0116] The implementation method of the server side planning at least one recommended route based on the travel information has been described in detail above and will not be repeated here.
[0117] For example, when the user enters the waypoint "XX Building" on the client, the server will filter out multiple corresponding reachable location points based on the waypoint, such as "XX Building East Gate", "XX Building West Gate", "XX Building Parking Lot", etc. Then the server will plan multiple recommended routes based on the multiple reachable location points and return them to the client for display. The best recommended route is the "XX Building West Gate", the reachable location point corresponding to the waypoint "XX Building".
[0118] In an embodiment of the present application, the client can send itinerary information including at least one waypoint to the server, and receive the recommended route planned by the server for display, thereby providing users with an intuitive and convenient route planning service and improving the convenience and efficiency of travel.
[0119] After receiving at least one recommended route from the server, the client enters the recommended route display phase. Specifically, the client may display at least one recommended route option in the first area of the first page, and the target recommended route corresponding to the currently selected option in the second area of the first page. The target recommended route includes the first reachable location corresponding to each waypoint. This display method allows users to clearly compare and select different routes, enhancing the intuitiveness and convenience of the user experience.
[0120] As an example, Figure 5a The figure below shows a schematic diagram of the ordering page displayed on the passenger user's client. The user can enter the starting point, the transit point "XX Building", and the destination on the ordering page. The passenger user's client will then display multiple recommended routes planned by the server based on the entered itinerary information.
[0121] like Figure 5bFIG. 1 is a schematic diagram of a first page of a passenger user's client displaying recommended routes. A first area 10 may be located at the bottom of the first page and display three recommended route options in a list or card format. These options also include core information about the recommended routes, including estimated travel time, distance, number of traffic lights, and fares, allowing users to quickly compare routes.
[0122] The second area 20 may be located at the top of the first page and serve as the main route preview window. By default, the currently selected recommended route 01 is displayed. This recommended route 01 corresponds to the first option "Common Places" in the first area 10. This recommended route 01, serving as the target recommended route, may be presented as a dynamic map. The first accessible location corresponding to the waypoint "XX Building" in the target recommended route is "XX Building West Gate." A customized icon (e.g., a solid dot + text annotation) is highlighted at the actual coordinates of the first accessible location, visually indicating the first accessible location corresponding to the waypoint.
[0123] Furthermore, in order to enhance the route comparison function, other recommended routes in addition to the target recommended route may be displayed in the second area of the first page, wherein the other recommended routes include a second reachable location point corresponding to each waypoint.
[0124] Still referring to Figure 5 , recommended routes 02 and 03 are presented simultaneously in the second area. Recommended route 02 corresponds to the second option in the first area, "Fewer Traffic Lights," while recommended route 03 corresponds to the third option in the first area, "Route Three." The second accessible location corresponding to the "XX Building" stop on recommended route 02 is "diagonally across from the intersection at XX Building," while the second accessible location corresponding to the "XX Building" stop on recommended route 03 is "East Gate of XX Building." These two second accessible locations can be displayed using different icons and styles than the first accessible locations, such as hollow dots or different color markers.
[0125] In addition, in the display of all recommended routes, the first reachable location point and the second reachable location point are relative concepts. Usually, the two represent different recommended locations corresponding to the same waypoint. For example, Figure 5b For the waypoint "XXX Building," the first accessible location is "XXX Building's West Gate," while the second accessible locations are "XXX Building's East Gate" and "diagonally across from the intersection of XXX Building." Although these three locations all belong to or are near "XXX Building," they are located in different locations, resulting in different levels of accessibility and convenience. For example, "XXX Building's West Gate" might be close to a main road, offering more convenient transportation, while "XXX Building's East Gate" might be located on a secondary road, making it quieter but a bit more of a detour.
[0126] In some cases, the reachable locations of some of the waypoints in different recommended routes may be the same. Figure 5c , which is another schematic diagram of the first page. Recommended Route 01 is the target recommended route, and the first reachable location corresponding to its waypoints is "XXXX Building West Gate." Recommended Route 02 and Recommended Route 03 are other recommended routes. In this case, the second reachable location corresponding to "XXXX Building" on Recommended Route 03 is also "XXXX Building West Gate." Since "XXXX Building West Gate" serves as both the first and second reachable location, it can be highlighted at its actual coordinates on the map, preferentially using the icon style of the first reachable location.
[0127] In the embodiment of the present application, all recommended routes can be distinguished by visual elements such as color and line thickness. The target recommended route uses eye-catching bright colors and bold lines, while other routes are displayed in soft tones and regular lines, forming a clear visual effect of primary and secondary.
[0128] Furthermore, in response to the selection of the options of other recommended routes except the target recommended route, the second area of the first page switches to displaying the other recommended routes, and the other recommended routes include the second reachable location point corresponding to each of the waypoints.
[0129] That is to say, when the user clicks to switch to other recommended route options, the second area will refresh and display the corresponding route in real time, and the original second reachable location icon will immediately become the new visual focus, realizing seamless switching preview of multiple options.
[0130] It should be noted that if the current application scenario is a ride-hailing scenario, then before the trip begins, the first page is the ordering page operated by the user. The user can enter the starting point, destination, and waypoints here, and select the route based on the recommended route planned by the server to complete the confirmation of the travel plan; after the trip begins, the first page switches to the page where the trip is in progress. The user can temporarily adjust the route requirements during the trip, such as temporarily adding waypoints. At this time, the server will re-plan the recommended route and feedback it to the client. On the first page, the user can flexibly adjust the itinerary plan by comparing the real-time traffic conditions, estimated arrival time, and other information of different recommended routes to ensure that the itinerary always meets actual needs and realize dynamic route management and optimization during the trip.
[0131] Furthermore, if the current application scenario is a ride-hailing scenario, once the user finally confirms a recommended route (i.e., triggers the selected option), the client will immediately synchronize the route information with the client of the matching driver user through the server-side communication interface. The synchronized content can not only include the complete navigation path, but also the detailed information of the reachable locations corresponding to each waypoint, helping the driver to familiarize himself with the itinerary plan in advance. At the same time, the waypoints and drop-off locations designated by the passenger are marked with specific symbols on the driver-side map, ensuring that the itinerary expectations of both the driver and the passenger are consistent, thereby improving the accuracy and efficiency of travel services.
[0132] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0133] According to another embodiment, a route planning device is provided, which can be set on a server side. Figure 6 A schematic block diagram of a route planning device according to an embodiment is shown. Figure 6 As shown, the apparatus 600 includes:
[0134] The receiving unit 601 is configured to receive travel information, wherein the travel information includes at least one waypoint input by a user;
[0135] A reachable location point determining unit 602 is configured to determine a plurality of reachable location points corresponding to each of the waypoints;
[0136] The candidate route determining unit 603 is configured to determine a plurality of candidate routes based on the plurality of reachable locations corresponding to each of the waypoints and the starting location and destination corresponding to the user; wherein the candidate routes start from the starting location, sequentially pass through a reachable location corresponding to each of the waypoints, and reach the destination;
[0137] The recommended route determining unit 604 is configured to determine at least one recommended route from the multiple candidate routes and send the at least one recommended route to the client for display.
[0138] Optionally, the reachable location point determining unit 602 is specifically configured to:
[0139] For each of the waypoints, obtaining a plurality of drop-off points within a preset geographical range of the waypoint; the plurality of drop-off points including a first drop-off point determined based on historical travel data and / or a second drop-off point determined based on the user's drop-off preference data;
[0140] A first preset number of alighting points are selected from the plurality of alighting points as the plurality of reachable location points corresponding to the waypoints.
[0141] Optionally, when the recommended route determining unit 604 determines at least one recommended route from the plurality of candidate routes, it is configured to:
[0142] At least one recommended route is determined from the plurality of candidate routes according to the accessibility of each candidate route; wherein the accessibility represents the degree of accessibility of the current candidate route among all the candidate routes.
[0143] Optionally, when the recommended route determining unit 604 determines at least one recommended route from the plurality of candidate routes based on the accessibility of each candidate route, it is configured to:
[0144] Score each candidate route according to route characteristics of each candidate route, wherein the route characteristics at least include the convenience;
[0145] Based on the scoring result, at least one recommended route is determined from the plurality of candidate routes.
[0146] Optionally, the recommended route determining unit 604 scores each candidate route according to the route features of each candidate route, and is specifically configured as follows:
[0147] quantifying the route characteristics of each candidate route;
[0148] The quantified route features are input into a pre-trained route evaluation model, and the route evaluation model performs weighted fusion on the quantified route features based on a machine learning algorithm to obtain a score for each candidate route.
[0149] Optionally, the recommended route determining unit 604 determines at least one recommended route from the plurality of candidate routes based on the scoring result, and is specifically configured to:
[0150] sorting the plurality of candidate routes according to the scores;
[0151] reordering the sorted candidate routes based on the user's route preference information;
[0152] A second preset number of candidate routes are selected from the reordered candidate routes as recommended routes.
[0153] Optionally, the recommended route determining unit 604 is configured to:
[0154] The convenience of candidate routes is determined as follows:
[0155] The accessibility of the candidate route is obtained based on the ratio of the actual travel distance of the candidate route to the travel distance of the reference route, where the reference route is selected from all the candidate routes.
[0156] According to another embodiment, a route display device is provided, which can be set at a client. Figure 7 A schematic block diagram of a route planning device according to an embodiment is shown. Figure 7 As shown, the apparatus 700 includes:
[0157] The sending unit 701 is configured to send the itinerary information to the server; the itinerary information includes at least one waypoint input by the user;
[0158] The display unit 702 is configured to receive and display at least one recommended route from the server; wherein the recommended route starts from the starting point corresponding to the user, passes through a reachable location point corresponding to each of the waypoints in sequence, and reaches the destination.
[0159] Optionally, the display unit 702 is specifically configured to:
[0160] Displaying at least one recommended route option in a first area of the first page;
[0161] The target recommended route corresponding to the currently selected option is displayed in the second area of the first page, and the target recommended route includes the first reachable location point corresponding to each of the waypoints.
[0162] Optionally, the display unit 702 is specifically configured to:
[0163] In the second area of the first page, other recommended routes besides the target recommended route are also displayed, and the other recommended routes include a second reachable location point corresponding to each of the waypoints.
[0164] Optionally, the display unit 702 is specifically configured to:
[0165] In response to options of other recommended routes except the target recommended route being selected, the second area of the first page is switched to display the other recommended routes, wherein the other recommended routes include a second reachable location point corresponding to each of the waypoints.
[0166] Optionally, the client is a client corresponding to a passenger user in a ride-hailing scenario, and the device further includes:
[0167] The synchronization unit 703 is configured to synchronize the recommended route corresponding to the triggered option with the client corresponding to the driver user through the server in response to the option currently in the selected state being triggered.
[0168] Each embodiment in this specification is described in a progressive manner. The same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple. For relevant parts, refer to the partial description of the method embodiment. The system and system embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without expending creative work.
[0169] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0170] In addition, an embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps of any one of the methods in the aforementioned method embodiments are implemented.
[0171] And an electronic device comprising:
[0172] one or more processors; and
[0173] A memory associated with the one or more processors, the memory being used to store program instructions, wherein the program instructions, when read and executed by the one or more processors, execute the steps of the method described in any one of the aforementioned method embodiments.
[0174] The present application also provides a computer program product, comprising a computer program, which implements the steps of any one of the methods described in the aforementioned method embodiments when executed by a processor.
[0175] in, Figure 8 The electronic device architecture is shown as an example, and may include a processor 810, a video display adapter 811, a disk drive 812, an input / output interface 813, a network interface 814, and a memory 820. The processor 810, the video display adapter 811, the disk drive 812, the input / output interface 813, the network interface 814, and the memory 820 may be communicatively connected via a communication bus 830.
[0176] Among them, the processor 810 can be implemented by a general-purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., to execute relevant programs to implement the technical solutions provided in this application.
[0177] The memory 820 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 820 can store an operating system 821 for controlling the operation of the electronic device 800, and a basic input and output system (BIOS) 822 for controlling the low-level operations of the electronic device 800. In addition, a web browser 823, a data storage management system 824, a route planning device 600, a route display device 700, etc. can also be stored. The above-mentioned route planning device 600 and route display device 700 can be the application program that specifically implements the operations of the aforementioned steps in the embodiment of the present application. In short, when the technical solution provided by the present application is implemented by software or firmware, the relevant program code is stored in the memory 820 and is called and executed by the processor 810.
[0178] The input / output interface 813 is used to connect input / output modules to implement information input and output. The input / output modules can be configured as components in the device (not shown in the figure) or can be externally connected to the device to provide corresponding functions. Input devices may include a keyboard, mouse, touch screen, microphone, various sensors, etc., and output devices may include a display, speaker, vibrator, indicator light, etc.
[0179] The network interface 814 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via a wired method (such as USB, network cable, etc.) or a wireless method (such as mobile network, WiFi, Bluetooth, etc.).
[0180] The bus 830 comprises a pathway for transmitting information between the various components of the device (eg, the processor 810 , the video display adapter 811 , the disk drive 812 , the input / output interface 813 , the network interface 814 , and the memory 820 ).
[0181] It should be noted that although the above device only shows the processor 810, video display adapter 811, disk drive 812, input / output interface 813, network interface 814, memory 820, bus 830, etc., in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it will be understood by those skilled in the art that the above device may also include only the components necessary to implement the solution of the present application, and does not necessarily include all the components shown in the figure.
[0182] Through the description of the above embodiments, it can be seen that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer program product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present application or certain parts of the embodiments.
[0183] The above is a detailed introduction to the technical solutions provided by this application. Specific examples are used herein to illustrate the principles and implementation methods of this application. The description of the above embodiments is only intended to help understand the method and core concept of this application. At the same time, for those skilled in the art, based on the concept of this application, there may be changes in the specific implementation methods and application scope. In summary, the contents of this specification should not be understood as limiting this application.
Claims
1. A route planning method, characterized in that: The method is applied to the server side, and the method includes: receiving trip information, wherein the trip information includes at least one waypoint input by a user; Determining a plurality of reachable location points corresponding to each of the waypoints; Determining multiple candidate routes based on the multiple reachable locations corresponding to each of the waypoints and the starting location and destination corresponding to the user; wherein the candidate routes start from the starting location, sequentially pass through a reachable location corresponding to each of the waypoints, and reach the destination; At least one recommended route is determined from the multiple candidate routes, and the at least one recommended route is sent to the client for display.
2. The method according to claim 1, characterized in that The determining of a plurality of reachable location points corresponding to each of the waypoints includes: For each of the waypoints, obtaining a plurality of drop-off points within a preset geographical range of the waypoint; the plurality of drop-off points including a first drop-off point determined based on historical travel data and / or a second drop-off point determined based on the user's drop-off preference data; A first preset number of alighting points are selected from the plurality of alighting points as the plurality of reachable location points corresponding to the waypoints.
3. The method according to claim 1, characterized in that The determining of at least one recommended route from the plurality of candidate routes includes: At least one recommended route is determined from the plurality of candidate routes according to the accessibility of each candidate route; wherein the accessibility represents the degree of accessibility of the current candidate route among all the candidate routes.
4. The method according to claim 3, characterized in that The step of determining at least one recommended route from the plurality of candidate routes based on the convenience of each candidate route includes: Score each candidate route according to route characteristics of each candidate route, wherein the route characteristics at least include the convenience; Based on the scoring result, at least one recommended route is determined from the plurality of candidate routes.
5. The method according to claim 4, characterized in that Scoring each candidate route according to the route characteristics of each candidate route includes: quantifying the route characteristics of each candidate route; The quantified route features are input into a pre-trained route evaluation model, and the route evaluation model performs weighted fusion on the quantified route features based on a machine learning algorithm to obtain a score for each candidate route.
6. The method according to claim 4, characterized in that Determining at least one recommended route from the plurality of candidate routes based on the scoring result includes: sorting the plurality of candidate routes according to the scores; reordering the sorted candidate routes based on the user's route preference information; A second preset number of candidate routes are selected from the reordered candidate routes as recommended routes.
7. The method according to any one of claims 3 to 6, characterized in that The convenience of the candidate route is determined as follows: The accessibility of the candidate route is obtained based on the ratio of the actual travel distance of the candidate route to the travel distance of a reference route, where the reference route is selected from all the candidate routes.
8. A route display method, characterized in that: The method is applied to a client, and includes: Sending itinerary information to a server; the itinerary information includes at least one waypoint input by the user; At least one recommended route is received from the server and displayed; wherein the recommended route starts from the starting point corresponding to the user, passes through a reachable location point corresponding to each of the waypoints in sequence, and reaches the destination.
9. The method according to claim 8, characterized in that The method further comprises: Displaying at least one recommended route option in a first area of the first page; The target recommended route corresponding to the currently selected option is displayed in the second area of the first page, and the target recommended route includes the first reachable location point corresponding to each of the waypoints.
10. The method according to claim 9, characterized in that In the second area of the first page, other recommended routes other than the target recommended route are also displayed, and the other recommended routes include a second reachable location point corresponding to each of the waypoints.
11. A route planning device, characterized in that: Set on the server side, the device includes: a receiving unit configured to receive travel information, wherein the travel information includes at least one waypoint input by a user; a reachable location point determining unit, configured to determine a plurality of reachable location points corresponding to each of the waypoints; a candidate route determining unit configured to determine a plurality of candidate routes based on the plurality of reachable locations corresponding to each of the waypoints and the starting location and destination corresponding to the user; wherein the candidate routes start from the starting location, sequentially pass through a reachable location corresponding to each of the waypoints, and reach the destination; The recommended route determining unit is configured to determine at least one recommended route from the plurality of candidate routes and send the at least one recommended route to the client for display.
12. A route display device, characterized in that: Set on the client, the device includes: a sending unit configured to send the itinerary information to the server; the itinerary information includes at least one waypoint input by the user; The display unit is configured to receive and display at least one recommended route from the server; wherein the recommended route starts from the starting point corresponding to the user, passes through a reachable location point corresponding to each of the passing points in sequence, and reaches the destination.
13. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.