Riding recommendation information generation method and device, electronic equipment and storage medium
By obtaining the user's current starting point and target end point, determining the target boarding point, exit point and driving route of the driverless minibus, generating ride recommendation information, solving the problem of inconvenience for tourists when using driverless minibus, and achieving an efficient and convenient travel experience.
Patent Information
- Application Number
- CN202411610481.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-03-18
AI Technical Summary
When tourists use driverless minibus, it is difficult for tourists to check the nearest ride point and whether they can reach their destination directly, resulting in inconvenience in travel, affecting user experience and hindering the promotion of driverless technology.
By obtaining the user's current starting point and target end point, determining the target boarding point, target drop off point and target driving route, generating ride recommendation information, and providing efficient and convenient travel solutions.
It enables users to query ride information without frequently switching map applications, simplifying the travel process, improving user experience, and optimizing the resource utilization and operation costs of driverless minibuses.
Smart Images

Figure CN119647710A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of ride recommendation information generation, and in particular to a ride recommendation information generation method, a ride recommendation information generation device, an electronic device and a computer-readable storage medium. Background Art
[0002] In order to promote advanced driverless technology, many places have opened driverless minibus loops. However, many tourists who come here often face travel inconveniences. They often don't know where the nearest bus stop is, nor do they know whether they can reach their destination directly. At present, to query this information, users need to frequently switch map applications and compare the route stations one by one, which is cumbersome. This experience not only affects users' willingness to use, but also hinders the promotion of driverless technology. Summary of the invention
[0003] The embodiments of the present invention provide a method, device, electronic device and computer-readable storage medium for generating ride recommendation information to overcome the above problems or at least partially solve the above problems.
[0004] The embodiment of the present invention discloses a method for generating ride recommendation information, comprising:
[0005] Get the user's current starting point and target destination;
[0006] Determine a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point;
[0007] The ride recommendation information is generated based on the target boarding point, the target alighting point and the target driving route.
[0008] Optionally, it also includes:
[0009] Determine a first target path from the current starting point to the target boarding point;
[0010] Determine a second target path from the target destination to the target drop-off point;
[0011] generating the number of walking steps, walking time and walking distance for the first target route and the second target route;
[0012] Non-vehicle navigation suggestion information is generated based on the number of walking steps, the walking time, and the walking distance.
[0013] Optionally, the step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point includes:
[0014] Calling a backend database, and reading a site information table and a route site association table from the backend database;
[0015] Determine the boarding point closest to the current starting point based on the station information table, and determine the boarding point as the initial boarding point;
[0016] Determine the nearest drop-off point to the target destination based on the station information table, and determine the drop-off point as the initial drop-off point;
[0017] Based on the route station association table, generating a route belonging determination result for indicating whether the initial boarding point and the initial alighting point belong to the same driving route;
[0018] Based on the route affiliation determination result, a target boarding point for the current starting point, a target alighting point for the target end point, and a target driving route for the target boarding point and the target alighting point are determined.
[0019] Optionally, the step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point based on the route attribution determination result includes:
[0020] When it is determined that the initial boarding point and the initial alighting point are in the same driving route, the initial boarding point is determined as the target boarding point, the initial alighting point is determined as the target alighting point, and the driving route on which the initial boarding point and the initial alighting point are located is determined as the target driving route.
[0021] Optionally, the step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point based on the route attribution determination result includes:
[0022] When it is determined that the initial boarding point and the initial alighting point are not on the same driving route, determining all first target sites of the first route where the initial boarding point is located, and all second target sites of the second route where the initial alighting point is located, based on the site information table;
[0023] Determine a third target site and a fourth target site that are closest to each other between the first route and the second route by using the first target site coordinates of the first target site and the second target site coordinates of the second target site;
[0024] When the initial boarding point is the third target site, the second route is determined as the target driving route, the fourth target site is determined as the target boarding point, and the initial alighting point is determined as the target alighting point;
[0025] When the initial alighting point is the third target site, the first route is determined as the target driving route, the fourth target site is determined as the target alighting point, and the initial boarding point is determined as the target boarding point.
[0026] Optionally, it also includes:
[0027] When the third target site and the fourth target site are detected, prompt information for indicating that there is no matching driving route is generated.
[0028] Optionally, the step of determining the boarding point closest to the current starting point based on the station information table includes:
[0029] A graph is constructed based on the station information table, wherein the nodes of the graph are used to express the current starting point and all the boarding points; and the edges of the graph are used to express the actual path from the current starting point to the boarding points;
[0030] A boarding point closest to the current starting point is determined based on the graph.
[0031] The embodiment of the present invention also discloses a device for generating ride recommendation information, comprising:
[0032] The actual itinerary acquisition module is used to obtain the user's current starting point and target destination;
[0033] A driving route determination module, used to determine a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point;
[0034] The ride recommendation information generating module is used to generate the ride recommendation information based on the target boarding point, the target alighting point and the target driving route.
[0035] The embodiment of the present invention further discloses an electronic device, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;
[0036] The memory is used to store computer programs;
[0037] The processor is used to implement the method described in the embodiment of the present invention when executing the program stored in the memory.
[0038] The embodiment of the present invention further discloses a computer-readable storage medium having instructions stored thereon, which, when executed by one or more processors, enables the processors to execute the method described in the embodiment of the present invention.
[0039] The embodiments of the present invention include the following advantages:
[0040] The embodiment of the present invention obtains the user's current starting point and target destination; determines the target boarding point for the current starting point, the target alighting point for the target destination, and the target driving route for the target boarding point and the target alighting point; generates ride recommendation information based on the target boarding point, the target alighting point, and the target driving route; and constitutes a complete unmanned minibus travel service system. By obtaining the user's travel needs, planning the best route, and generating ride recommendation information, an efficient and convenient travel experience is provided to the user. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 is a flowchart of a method for generating ride recommendation information provided in an embodiment of the present invention;
[0042] Figure 2 is a structural block diagram of a device for generating ride recommendation information provided in an embodiment of the present invention;
[0043] Figure 3 is a hardware structure block diagram of an electronic device provided in an embodiment of the present invention;
[0044] Figure 4 is a schematic diagram of a computer-readable medium provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0045] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0046] Reference Figure 1 , shows a flowchart of a method for generating ride recommendation information provided in an embodiment of the present invention, which may specifically include the following steps:
[0047] Step 101, obtaining the user's current starting point and target destination;
[0048] Step 102, determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point;
[0049] Step 103: Generate ride recommendation information based on the target boarding point, the target alighting point, and the target driving route.
[0050] The example of the present invention can obtain the user's current starting point and target end point, the purpose of which is to determine the starting point and destination of the user's travel needs.
[0051] In the specific implementation, GPS positioning can be used to obtain the current location as the starting point in real time using the GPS module on the user's mobile phone or vehicle; map search can also be used, and the user can manually enter the destination or voice input, and the system will mark it on the map; and point of interest search can be used, and the user can determine the destination by searching for specific places (such as attractions, shopping malls).
[0052] For example, in order to accurately plan the user's itinerary, the system first needs to obtain the user's departure (starting point) and destination (end point) information. The specific implementation steps are as follows:
[0053] User authorization:
[0054] Check authorization status: If the user uses the device for the first time or has not authorized the device, the system will initiate a location authorization request to the user.
[0055] Obtain authorization: After the user confirms the authorization, the system can obtain the user's location information.
[0056] Handling rejection: If the user rejects the authorization, the system will prompt the user to manually enter the start and end points.
[0057] Get current location:
[0058] GPS positioning: For authorized users, the system will call the device's GPS function to obtain the user's current latitude and longitude coordinates as the default starting point.
[0059] Manual input: If the user has not authorized or the GPS signal is poor, the system will provide a way to manually enter the starting and ending points. The user can determine the starting and ending points by searching, selecting map marks, etc.
[0060] Enter the target endpoint:
[0061] Map search: Users can search and select a destination on the map, and the system will automatically obtain the latitude and longitude coordinates of the location.
[0062] Address input: Users can also directly enter the detailed address of the destination, and the system will resolve the address into longitude and latitude coordinates.
[0063] Code example (third-party platform applet):
[0064]
[0065]
[0066]
[0067] Through the above steps, the system can accurately obtain the user's starting and ending information, providing basic data for subsequent route planning. Whether it is automatic positioning through GPS or manual input by the user, it can meet the needs of different users.
[0068] After determining the current starting point and the target destination, the embodiment of the present invention can also determine the target boarding point, the target alighting point and the target driving route, the purpose of which is to find the best riding plan according to the user's starting point and destination.
[0069] For example, the user's starting point and destination can be matched with the driverless minibus station to find the nearest boarding and alighting points; for example, the optimal driving route from the boarding point to the alighting point can be calculated based on map data and traffic conditions, taking into account factors such as distance, time, number of transfers, etc.; for example, based on vehicle scheduling, the vehicle can be assigned to the target boarding point taking into account factors such as the vehicle's real-time location, passenger capacity, and driving status.
[0070] After determining the target boarding point, target alighting point and target driving route, an embodiment of the present invention can generate ride recommendation information for expressing the determined target boarding point, target alighting point and target driving route, with the purpose of presenting the calculated target boarding point, target alighting point and target driving route to the user in a user-friendly manner.
[0071] For example, the route can be displayed through the ride recommendation information, and the route from the starting point to the destination, including the boarding point, the alighting point and the driving route, can be clearly displayed on the map; the time can also be estimated through the ride recommendation information to estimate the time required for the entire trip; other relevant information can also be displayed through the ride recommendation information, as follows:
[0072] Vehicle information: Displays the vehicle information of the upcoming boarding point, such as vehicle model, number of remaining seats, etc.
[0073] Transfer information: If transfer is required, detailed transfer instructions will be provided.
[0074] Technical difficulties:
[0075] Information richness: Sufficient information needs to be provided to help users make decisions.
[0076] Interactivity: The user interface design should be simple and intuitive, and easy for users to operate.
[0077] Beneficial Effects
[0078] Improve user experience: Users only need to enter the starting point and destination, and the system will automatically plan the best travel plan, saving users the trouble of checking and comparing on their own.
[0079] Improve travel efficiency: Shorten users’ travel time by optimizing route planning and vehicle scheduling.
[0080] Reduce operating costs: By rationally dispatching vehicles, the utilization rate of vehicles can be improved and operating costs can be reduced.
[0081] Promote the promotion of driverless technology: provide convenient travel services, attract more users to experience driverless minibuses, and accelerate the popularization of driverless technology.
[0082] The embodiment of the present invention obtains the user's current starting point and target destination; determines the target boarding point for the current starting point, the target alighting point for the target destination, and the target driving route for the target boarding point and the target alighting point; generates ride recommendation information based on the target boarding point, the target alighting point, and the target driving route; and constitutes a complete unmanned minibus travel service system. By obtaining the user's travel needs, planning the best route, and generating ride recommendation information, an efficient and convenient travel experience is provided to the user.
[0083] Based on the above embodiment, a variant embodiment of the above embodiment is proposed. It should be noted that in order to make the description concise, only the differences from the above embodiment are described in the variant embodiment.
[0084] In an optional embodiment of the present invention, the step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point comprises:
[0085] Calling a backend database, and reading a site information table and a route site association table from the backend database;
[0086] Determine the boarding point closest to the current starting point based on the station information table, and determine the boarding point as the initial boarding point;
[0087] Determine the nearest drop-off point to the target destination based on the station information table, and determine the drop-off point as the initial drop-off point;
[0088] Based on the route station association table, generating a route belonging determination result for indicating whether the initial boarding point and the initial alighting point belong to the same driving route;
[0089] Based on the route affiliation determination result, a target boarding point for the current starting point, a target alighting point for the target end point, and a target driving route for the target boarding point and the target alighting point are determined.
[0090] In the specific implementation, the process of obtaining relevant information from the database based on the starting point and end point input by the user and planning an optimal route for the user involves:
[0091] Determine the nearest station: Find the station closest to the user's starting point and end point as the pick-up and drop-off points.
[0092] Determine route association: Determine whether the pick-up point and drop-off point are on the same route.
[0093] Optimize route: Based on the judgment results, determine the final ride route, including the boarding point, alighting point and driving route.
[0094] In practical applications, the station information table can be used to express the relevant information of each station, such as location, start / end bus time, etc.; the route station association table can be used to express the management relationship between the station and the route, such as the route information contained in the station.
[0095] The purpose of calling the backend database and reading the station information table and the route station association table is to obtain all station information and the relationship between routes and stations, providing a data basis for subsequent calculations. Its beneficial effect is that it can ensure the real-time nature of the data and the accuracy of the planning results.
[0096] The purpose of determining the nearest boarding point based on the station information table is to find the station closest to the user's current location as the boarding point.
[0097] In a specific implementation, the straight-line distance between the user's current location and each station can be calculated (or the actual road distance can be considered), or the distances of all stations can be compared and the station with the smallest distance can be selected as the boarding point. The beneficial effect is that the user's walking distance can be reduced and travel efficiency can be improved.
[0098] The purpose of determining the nearest alighting point based on the station information table is to find the station closest to the user's target destination as the alighting point.
[0099] Similar to the method of determining the boarding point, the distance between the user's target destination and each station is calculated, and the station with the smallest distance is selected as the alighting point. The beneficial effect is that the walking distance of the user to reach the destination is shortened.
[0100] Based on the route-station association table, a route attribution determination result is generated, the purpose of which is to determine whether the initial boarding point and the initial alighting point are on the same route.
[0101] For example, all routes including the initial boarding point can be searched. All routes including the initial alighting point can be searched. It is determined whether the two groups of routes have an intersection. If there is an intersection, it means that the boarding point and the alighting point are on the same route. The beneficial effect is that it avoids planning routes that require multiple transfers and improves user experience.
[0102] The target boarding point, the target alighting point and the target driving route are determined based on the route belonging determination result, and its purpose is to determine the final riding plan according to the route belonging determination result.
[0103] For example, for the same route, if the pick-up point and the drop-off point are on the same route, the initial pick-up point and the initial drop-off point can be directly used as the target pick-up point and the target drop-off point. For different routes, if the pick-up point and the drop-off point are not on the same route, a transfer is required. The system can find an optimal route that includes the pick-up point and the drop-off point based on the station information and route information, and determine the transfer station. The beneficial effect is that it provides the best travel plan and reduces the user's travel time and the number of transfers.
[0104] In the embodiment of the present invention, a backend database is called, and a station information table and a route station association table are read from the backend database; a boarding point closest to the current starting point is determined based on the station information table, and the boarding point is determined as an initial boarding point; a drop-off point closest to the target terminal is determined based on the station information table, and the drop-off point is determined as an initial drop-off point; a route attribution determination result is generated based on the route station association table to characterize whether the initial boarding point and the initial drop-off point belong to the same driving route; a target boarding point for the current starting point, a target drop-off point for the target terminal, and a target driving route for the target boarding point and the target drop-off point are determined based on the route attribution determination result, thereby achieving the following beneficial effects:
[0105] Improve user experience: provide users with the most convenient and fastest travel solutions.
[0106] Optimize resource utilization: Improve vehicle utilization by rationally planning routes.
[0107] Reduce operating costs: Reduce vehicle idle time and reduce operating costs.
[0108] Improve system efficiency: Improve system response speed by optimizing algorithms.
[0109] In an optional embodiment of the present invention, the step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point based on the route attribution determination result includes:
[0110] When it is determined that the initial boarding point and the initial alighting point are in the same driving route, the initial boarding point is determined as the target boarding point, the initial alighting point is determined as the target alighting point, and the driving route on which the initial boarding point and the initial alighting point are located is determined as the target driving route.
[0111] When it is determined that the initial boarding point and the initial alighting point are not on the same driving route, determining all first target sites of the first route where the initial boarding point is located, and all second target sites of the second route where the initial alighting point is located, based on the site information table;
[0112] Determine a third target site and a fourth target site that are closest to each other between the first route and the second route by using the first target site coordinates of the first target site and the second target site coordinates of the second target site;
[0113] When the initial boarding point is the third target site, the second route is determined as the target driving route, the fourth target site is determined as the target boarding point, and the initial alighting point is determined as the target alighting point;
[0114] When the initial alighting point is the third target site, the first route is determined as the target driving route, the fourth target site is determined as the target alighting point, and the initial boarding point is determined as the target boarding point.
[0115] When the third target site and the fourth target site are detected, prompt information for indicating that there is no matching driving route is generated.
[0116] In actual applications, if the starting and ending points entered by the user correspond to the same driverless minibus route, then this route is the most direct and simplest travel route. Therefore, the system directly uses these two stations as the final boarding and alighting points, and takes this route as the target driving route.
[0117] Exemplarily, it can be determined whether the initial boarding point and the initial alighting point are in the same driving route, and the determination result is the route attribution determination result. When it is determined that the initial boarding point and the initial alighting point are in the same driving route, the initial boarding point is determined as the target boarding point, and the initial alighting point is determined as the target alighting point, and the driving route where the initial boarding point and the initial alighting point are located is determined as the target driving route. The purpose is:
[0118] Simple and direct: If the user's starting point and destination happen to be different stations on the same route, then taking this minibus directly to reach the destination without transferring is the most convenient way to travel.
[0119] Highest efficiency: In this case, the system does not need to perform complex route planning and transfer optimization and can provide results quickly.
[0120] Better user experience: Users do not need to consider complicated transfer plans and can understand their travel routes more intuitively.
[0121] When the starting point and end point input by the user are very simple, the system can quickly provide a solution through this step to improve the user experience.
[0122] In a specific implementation, the embodiment of the present invention can determine the target boarding point for the current starting point, the target alighting point for the target destination,
[0123] S11, when the initial boarding point and the initial alighting point are not on the same unmanned minibus route, all first target sites of the first route where the initial boarding point is located, and all second target sites of the second route where the initial alighting point is located are determined based on the site information table;
[0124] S12. Calculate the two closest stations between all stations of the first route where the initial boarding point is located and all stations of the second route where the initial alighting point is located through the first target station coordinates of the first target station and the second target station coordinates of the second target station. These two stations can be called the third target station and the fourth target station. Specifically, calculate the third target station and the fourth target station that are closest to each other between the first route and the second route through the first target station coordinates of the first target station and the second target station coordinates of the second target station as follows.
[0125] Formula 1:
[0126]
[0127] Wherein, x is the coordinate of the third target site, y is the coordinate of the fourth target site, and n is the dimension of the coordinate (usually 2, i.e., longitude and latitude).
[0128] Use the Closest Pair of Points Algorithm to find the two closest points in two routes.
[0129] The algorithm steps include: sorting all points by coordinates; calculating the distances between adjacent points and tracking the closest pair of points; outputting the coordinates of the two nearest points and their distance.
[0130] S13, determine whether the two nearest stations (third target station and fourth target station) between all stations of the first route where the initial boarding point is located (first target station) and all stations of the second route where the initial alighting point is located (second target station) include the initial boarding point or the initial alighting point, and determine the riding route and the final boarding point and the final alighting point according to the situation:
[0131] Case 1: When the initial boarding point is the third target station, the second route is determined as the target driving route, the fourth target station is determined as the target boarding point, and the initial alighting point is determined as the target alighting point; that is, the initial boarding point is one of the two nearest points, then the second route where the initial alighting point is located is used as the target driving route, and the other of the two nearest points is used as the final boarding point, and the initial alighting point is the final alighting point;
[0132] Case 2: When the initial drop-off point is the third target station, the first route is determined as the target driving route, the fourth target station is determined as the target drop-off point, and the initial boarding point is determined as the target boarding point. That is, the initial drop-off point is one of the two nearest points, then the route where the initial boarding point is located is used as the riding route, and the other of the two nearest points is used as the final drop-off point, and the initial boarding point is the final boarding point;
[0133] Case three: When it comes to the third and fourth target stations, a prompt message is generated to express that there is no matching driving route. The aforementioned two nearest points are the initial boarding point and the initial alighting point, respectively, indicating that there is no ride route between the initial boarding point and the initial alighting point. Then the user is prompted through the application app that "no suitable unmanned minibus route has been matched."
[0134] Step S11: The purpose of determining the first target site and the second target site is to simplify the problem to finding the closest point pair in the two groups of sites.
[0135] For example, all the stations in the first route including the initial boarding point can be found as the first target station set. All the stations in the second route including the initial alighting point can be found as the second target station set. By narrowing the search range, the subsequent calculation efficiency is improved.
[0136] Step S12: The purpose of calculating the two nearest sites is to find the two sites in the first target site set and the second target site set that are closest to each other.
[0137] For example, the distance between two sites can be calculated using the Euclidean distance formula based on the distance calculation formula (Formula 1): wherein x and y represent the coordinate vectors of the two sites, respectively, and n is usually 2, indicating the longitude and latitude coordinates.
[0138] Closest point pair algorithm: Use an efficient closest point pair algorithm, such as the divide-and-conquer method, to calculate the distances between all point pairs and find the point pair with the smallest distance.
[0139] Significance: Find the two nearest stations to provide a basis for subsequent determination of transfer points and routes.
[0140] Step S13: The purpose of judging and determining the riding route is to determine the final riding route, boarding point and alighting point based on the two nearest stations.
[0141] Case 1: If the initial boarding point is one of the two nearest stops, the route of the initial drop-off point is used as the target route, and the other nearest point is used as the new boarding point.
[0142] Case 2: If the initial drop-off point is one of the two nearest stops, the situation is similar to Case 1, except that the routes and the pick-up and drop-off points are swapped.
[0143] Case 3: If the two nearest stops are not the initial boarding point or the initial alighting point, it means that it is not possible to take the minibus directly to the destination, and the system prompts the user.
[0144] Beneficial effects of each step:
[0145] Step S11: Improve calculation efficiency and narrow the search range.
[0146] Step S12: Accurately find the two nearest sites to provide a basis for subsequent decision-making.
[0147] Step S13: Provide a clear ride plan to reduce the number of transfers for users and improve travel experience.
[0148] In this way, the system can find a reasonable transfer route when the initial boarding point and the initial alighting point are not on the same route, providing users with the best travel plan. The whole process involves distance calculation, closest point pair algorithm, route planning and other aspects.
[0149] In an optional embodiment of the present invention, the step of determining the boarding point closest to the current starting point based on the station information table includes:
[0150] A graph is constructed based on the station information table, wherein the nodes of the graph are used to express the current starting point and all the boarding points; and the edges of the graph are used to express the actual path from the current starting point to the boarding points;
[0151] A boarding point closest to the current starting point is determined based on the graph.
[0152] Exemplarily, the boarding point closest to the current starting point may be determined in the following manner.
[0153] S21. Initialize graph and distance matrix:
[0154] Build a graph based on the site information table:
[0155] The user's current location and all minibus boarding points are considered as nodes in the graph.
[0156] The road network is used as the edge in the graph to represent the connection relationship between nodes.
[0157] The weight of the edge can be distance (straight-line distance or road distance) or time, which can be selected according to actual needs.
[0158] Initialize the distance matrix:
[0159] Create a matrix that stores the distances from each node to every other node.
[0160] Initialize the distance from the user's current position to itself to 0, indicating that the distance from the starting point to itself is 0.
[0161] Initialize the distance from the user's current location to all other nodes to infinity, indicating that the distances of these nodes are unknown in the initial state.
[0162] S22. Create a priority queue:
[0163] Purpose: Used to efficiently select the next node to visit.
[0164] principle:
[0165] The priority queue is sorted from small to large according to the distance from the node to the starting node.
[0166] Each time, the node with the smallest distance is taken out from the queue for expansion.
[0167] Implementation: Priority queue can be implemented using min heap data structure.
[0168] S23. Put the starting node into the queue and mark it as visited:
[0169] Starting node: The user's current location.
[0170] Mark visited: Prevent nodes from being visited repeatedly.
[0171] S24, loop through the nodes:
[0172] Select the current node: Take the node closest to the start node from the priority queue as the current node.
[0173] Traverse neighbor nodes: traverse all adjacent nodes of the current node.
[0174] Update distance: If the path from the current node to the neighbor node is shorter than the previous path, update the distance value of the neighbor node and record the previous node to reach it (for subsequent path backtracking).
[0175] S25. Termination conditions:
[0176] The queue is empty: all nodes have been visited, or no shorter path can be found.
[0177] S26, algorithm ends:
[0178] The nearest boarding point: At this time, the unexplored node closest to the starting node is the nearest minibus boarding point.
[0179] Shortest path: By backtracking the previous node in the record, you can find the shortest path from the starting node to the nearest boarding point.
[0180] The essence and advantages of the algorithm are:
[0181] Dijkstra algorithm: The above algorithm is an application of the classic Dijkstra shortest path algorithm.
[0182] Single-source shortest path problem: used to solve the shortest path from a source point to all points in the graph.
[0183] Advantages:
[0184] Efficient: By using the priority queue, the node with the smallest distance is selected for expansion each time, ensuring the efficiency of the algorithm.
[0185] Accurate: Able to find the shortest path from the starting point to all points in the graph.
[0186] Wide application: It is not only suitable for finding the nearest boarding point, but also can be used to solve other path planning problems.
[0187] By building a graph model, initializing the distance matrix, using the priority queue and the Dijkstra algorithm, the shortest path from the user's current location to the nearest minibus pick-up point can be efficiently found. The advantages of this algorithm lie in its versatility, accuracy, and efficiency, and it has wide applicability in practical applications.
[0188] Optionally, the line of sight method of determining the nearest get-off point to the target destination based on the station information table may also be performed in the above manner.
[0189] In an optional embodiment of the present invention, it also includes:
[0190] Determine a first target path from the current starting point to the target boarding point;
[0191] Determine a second target path from the target destination to the target drop-off point;
[0192] generating the number of walking steps, walking time and walking distance for the first target route and the second target route;
[0193] Non-vehicle navigation suggestion information is generated based on the number of walking steps, the walking time, and the walking distance.
[0194] Determine the first target path and the second target path:
[0195] First target path: refers to the walking route from the user's current location to the target pick-up point.
[0196] Second target path: refers to the walking route from the target end point to the target drop-off point.
[0197] Implementation method: Through the integrated third-party map service API such as Amap or Google Maps, call its route planning interface according to the starting point and end point entered by the user to obtain detailed data of the two walking routes, including route trajectory, distance, estimated time, etc.
[0198] Generate the number of walking steps, walking time, and walking distance:
[0199] Number of walking steps: By analyzing the route trajectory data of the first and second target paths, the number of steps required to walk is calculated. This can be achieved by dividing the route trajectory into small segments and then counting the number of small segments.
[0200] Walking time: Calculates the estimated walking time based on the distance of the route and the average walking speed (which can be set by the user or the system default).
[0201] Walking distance: extracted directly from route data obtained from the Maps service API.
[0202] Generate non-vehicle navigation suggestions:
[0203] According to user selection:
[0204] Less time: Prioritize the route that takes the shortest walking time, even if the walking distance is longer.
[0205] Less walking: Prioritize routes that require the least amount of walking steps, even if the walk is longer.
[0206] Short distance: Prioritize routes with the shortest walking distance, even if the walking time is longer.
[0207] Generate suggestion information: Combine the calculated walking steps, walking time, walking distance and other data with the route track provided by the map service to generate detailed walking navigation information. This information may include:
[0208] Route Map: Clearly display walking routes on a map.
[0209] Text description: Provide detailed text description, including turn, intersection and other information.
[0210] Voice navigation: Real-time voice guides users to walk.
[0211] In the embodiment of the present invention, the number of walking steps, walking time and walking distance can also be integrated and optimized:
[0212] Comprehensive consideration of multiple factors: When generating walking navigation suggestions, multiple factors such as walking time, walking distance, road conditions, slope, etc. can be considered to provide more comprehensive suggestions.
[0213] Personalized settings: Allow users to customize parameters such as walking speed and preferences to improve the personalization of navigation.
[0214] Real-time traffic updates: Map data is updated regularly to ensure navigation information is accurate and reliable.
[0215] Accessible navigation: Consider the needs of people with disabilities and provide accessible navigation options, such as:
[0216] Slope information: Provides information about the slope of the route to facilitate wheelchair users' selection.
[0217] Accessible facilities: Mark the accessible facilities along the way, such as accessible ramps, elevators, etc.
[0218] Indoor navigation: If users need to navigate indoors, indoor navigation services can be provided in combination with indoor map data.
[0219] Integration with the overall system:
[0220] Connection with bus navigation: The walking navigation part and the bus navigation part should be seamlessly connected. For example, after the user arrives at the target boarding point, it will automatically switch to the bus navigation.
[0221] Data sharing: The walking navigation module and the riding navigation module share data such as user location and route planning results.
[0222] Through the above method, personalized and accurate walking navigation suggestions can be provided to users. This walking navigation solution based on multimodal navigation service can meet the needs of different users and improve the user's travel experience.
[0223] In order to enable those skilled in the art to better understand the embodiment of the present invention, an example is used below to illustrate the embodiment of the present invention.
[0224] The present invention proposes a route planning method for an unmanned minibus, which is applied to a WeChat applet or other application apps to facilitate users to take the unmanned minibus.
[0225] The specific implementation method is as follows:
[0226] The user enters the start and end locations through the application's graphical user interface (GUI). The application's built-in geographic information system (GIS) processes the user input and displays the current location. After the user selects the "route planning" option, the system performs the following steps:
[0227] Steps to search for the initial boarding point and initial alighting point:
[0228] First, obtain the user's current location through GPS. Taking the implementation in WeChat applet as an example, it can be implemented through the following methods:
[0229] Before trying to get the location, you need to make sure that the user has authorized the applet to access their location information. You can check the user's authorization status through the wx.getSetting method and request user authorization using the wx.authorize method.
[0230] Use wx.getSetting method to check if the user has granted location permission.
[0231] If authSetting['scope.userLocation'] returns undefined, it means the user has not authorized yet or is accessing the mini program for the first time.
[0232] If it returns false, it means the user has denied authorization.
[0233] If the user is not authorized, you can request user authorization through the wx.authorize method.
[0234] If the user agrees to the authorization, the Mini Program will obtain the location information. If the user refuses the authorization or the authorization fails, the user can be prompted to open the WeChat settings page to re-authorize.
[0235] You can use the wx.openSetting method to jump to the WeChat settings page.
[0236] Use the wx.getLocation method to obtain the user's current location information.
[0237] This method returns an object containing information such as latitude and longitude.
[0238] If the user does not turn on positioning, he can obtain route planning information by manually entering the starting point and end point.
[0239] The application app calls the backend database, which contains all the fixed route information of the driverless minibus. The backend database should be updated regularly to reflect the latest driverless minibus route and station information.
[0240] The driverless minibus backend database should contain the following key table structures:
[0241] Route information table: stores all fixed route data of the driverless minibus, including route ID, starting point, end point, passing sites, route length, estimated driving time, walking time, etc.
[0242] Site information table: lists detailed information of all sites, such as site name, geographic coordinates, service time, etc.
[0243] Route-site association table: establishes the association between routes and sites, and records the sequence of sites passed by each route.
[0244] First, calculate the first optimal path from the user's current location to the nearest minibus pick-up point. Taking the minimum time algorithm as an example, the method steps for finding the shortest path from the user's current location to the nearest minibus pick-up point are as follows:
[0245] Initialize the graph and distance matrix: Build a graph containing all nodes, where the nodes represent the user's current starting point and all minibus boarding points.
[0246] The road network of the graph is used as edges, the edges represent the actual paths between these locations, and the weights of the edges represent the distance or time of the paths.
[0247] Initialize a distance matrix, set the distance from the user's current location to all other nodes to infinity, and set the distance from the user's current location to itself to 0.
[0248] Take the user's current location as the starting node and then perform the following steps:
[0249] Create a priority queue (min heap) to store nodes that have not yet been fully visited, sorted by the length of their known shortest path to the starting node.
[0250] Put the starting node into the priority queue and mark it as visited.
[0251] When the priority queue is not empty, the following steps are performed:
[0252] Select the node with the smallest distance value from the unvisited nodes as the current node and mark it as visited.
[0253] Traverse all unvisited neighbor nodes of the current node. If the path through the current node to reach these neighbor nodes is shorter than their direct path, update the distance values of these neighbor nodes and record the previous node to reach them. Repeat this step until all nodes are visited or the distance value of any node cannot be further shortened.
[0254] When the algorithm ends, the priority queue is empty, and the nearest unexplored node to the starting node is the nearest minibus pick-up point. By backtracking the path recorded during the algorithm execution, the shortest path from the user's current location to the nearest minibus pick-up point can be obtained. The calculated shortest path and its total distance or time are returned to the user, and the path is displayed through the map service, and navigation instructions are provided.
[0255] Similarly, the second best path from the nearest minibus drop-off point to the user's destination is calculated.
[0256] Steps for planning and optimizing bus routes:
[0257] Through the above steps, the initial boarding point and the initial alighting point have been preliminarily determined, but the route of the driverless minibus has not yet been determined. You can determine it in the following ways:
[0258] Determine whether the initial boarding point and the initial alighting point are on the same unmanned minibus route. If so, use the unmanned minibus route as the boarding route, and use the initial boarding point and the initial alighting point as the final boarding point and the alighting point.
[0259] When the initial boarding point and the initial drop-off point are not on the same autonomous minibus route, the two closest stops between all stops on the first route where the initial boarding point is located and all stops on the second route where the initial drop-off point is located are calculated. The specific method is:
[0260] Get the coordinates of all stations on the route of the initial pickup point and the route of the initial drop-off point. These coordinates can be points in longitude and latitude or other geographic coordinate systems. Use the Euclidean distance formula (Formula 1) to calculate the distance between each station.
[0261] Use the Closest Pair of Points Algorithm to find the two closest points in two routes.
[0262] The algorithm steps include: sorting all points by coordinates; calculating the distances between adjacent points and tracking the closest pair of points; outputting the coordinates of the two nearest points and their distance.
[0263] Next, determine whether the two nearest stations between all stations on the route where the initial boarding point is located (the first target station) and all stations on the route where the initial drop-off point is located (the second target station) include the initial boarding point or the initial drop-off point, and determine the riding route and the final boarding point and the final drop-off point according to the situation:
[0264] Case 1: The initial boarding point is one of the two nearest points mentioned above, then the second route where the initial alighting point is located is used as the target driving route, and the other of the two nearest points is used as the final boarding point, and the initial alighting point is the final alighting point;
[0265] Case 2: If the initial drop-off point is one of the two nearest points, the route of the initial pick-up point is used as the boarding route, and the other of the two nearest points is used as the final drop-off point. The initial pick-up point is the final pick-up point.
[0266] Case 3: The two nearest points are the initial boarding point and the initial alighting point, indicating that there is no bus route between the initial boarding point and the initial alighting point. Then the user is prompted through the application app that "no suitable autonomous minibus route has been matched"
[0267] Recommended steps for minibus stops:
[0268] Based on the results of the shortest path algorithm, the application app recommends the minibus boarding point closest to the user's current location and the drop-off point closest to the destination, or prompts "Failed to match a suitable unmanned minibus route."
[0269] Suggested steps for walking navigation:
[0270] The application app provides walking navigation suggestions, and users can choose from three different modes: "less time", "less walking" or "short distance". This can be achieved by integrating a third-party multimodal navigation service, that is, choosing a map service provider that supports multiple walking navigation modes, such as Amap or Google Maps, and integrating its API into the application app. An intuitive user interface can be created on the user interface of the application app to allow users to select the preferred walking navigation mode, that is, "less time", "less walking" or "short distance", and implement it through radio buttons, drop-down menus or sliders. In addition, detailed navigation information can be provided, for example, according to the user's selection, the corresponding walking navigation information is displayed, including route trajectory, transfer prompts, estimated arrival time, etc.
[0271] Real-time data integration steps:
[0272] The app integrates real-time traffic data to ensure that the minibus information provided is up to date, including vehicle location, estimated arrival time, etc.
[0273] In another embodiment, when the walking time or distance to the minibus boarding point closest to the user's current location exceeds a certain preset value (when the comparison time is greater than 10 minutes, or the distance is greater than 2 kilometers), other navigation suggestions are given to the user, such as riding a shared bicycle or taking a bus. In the graphical user interface implementation, it can be prompted that "" can provide multiple options for choosing "walking", "shared bicycle", or "bus" to the starting point, or actively give the best suggestion, such as "the current walking distance to the boarding point is too far, it is recommended to choose a shared bicycle or bus to reach the boarding point", when the user selects the specific method of "shared bicycle" or "bus" to the boarding point, the application app will give the corresponding navigation suggestion. The specific technical implementation is as follows:
[0274] Access third-party shared bicycle parking spots, precise positioning data, bus route stops, real-time location data, etc. in the application app. Use the map service interface (such as Google Maps API or OpenStreetMap) to calculate the estimated time and distance for the user to walk to the nearest minibus stop. The specific method can be the same as the shortest path from the user's current location to the nearest minibus stop mentioned above, so it is not repeated here.
[0275] Through the above method, the navigation planning of users riding driverless minibuses is realized. That is, if a user wants to ride a driverless minibus, he / she enters the starting point and the end point on the application app, and the application app will give the driverless minibus route, the driverless minibus boarding point closest to the user's current location, and the driverless minibus alighting point closest to the end point. At the same time, the user is given walking navigation suggestions from the current location to the boarding point and from the alighting point to the end point. The walking navigation suggestions can also choose three different modes: less time, less walking, and shorter distance. It is convenient for users to ride driverless minibuses.
[0276] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0277] Reference Figure 2 , shows a structural block diagram of a device for generating ride recommendation information provided in an embodiment of the present invention, which may specifically include the following modules:
[0278] The actual trip acquisition module 201 is used to obtain the user's current starting point and target destination;
[0279] A driving route determination module 202 is used to determine a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point;
[0280] The ride recommendation information generating module 203 is used to generate ride recommendation information based on the target boarding point, the target alighting point and the target driving route.
[0281] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0282] In addition, an embodiment of the present invention further provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned embodiment of the method for generating ride recommendation information are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0283] The embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, each process of the above-mentioned method for generating ride recommendation information is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0284] Figure 3 A schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present invention.
[0285] The electronic device 300 includes but is not limited to: a radio frequency unit 301, a network module 302, an audio output unit 303, an input unit 304, a sensor 305, a display unit 306, a user input unit 307, an interface unit 308, a memory 309, a processor 310, and a power supply 311. Those skilled in the art will appreciate that Figure 3 The electronic device structure shown in the figure does not constitute a limitation on the electronic device, and the electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. In the embodiments of the present invention, the electronic device includes but is not limited to a mobile phone, a tablet computer, a laptop computer, a PDA, a vehicle-mounted terminal, a wearable device, and a pedometer.
[0286] It should be understood that in the embodiment of the present invention, the radio frequency unit 301 can be used for receiving and sending signals during information transmission or communication. Specifically, after receiving downlink data from the base station, it is sent to the processor 310 for processing; in addition, uplink data is sent to the base station. Generally, the radio frequency unit 301 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc. In addition, the radio frequency unit 301 can also communicate with the network and other devices through a wireless communication system.
[0287] The electronic device provides users with wireless broadband Internet access through the network module 302, such as helping users to send and receive emails, browse web pages, and access streaming media.
[0288] The audio output unit 303 can convert the audio data received by the RF unit 301 or the network module 302 or stored in the memory 309 into an audio signal and output it as sound. Moreover, the audio output unit 303 can also provide audio output related to a specific function performed by the electronic device 300 (for example, a call signal reception sound, a message reception sound, etc.). The audio output unit 303 includes a speaker, a buzzer, a receiver, etc.
[0289] The input unit 304 is used to receive audio or video signals. The input unit 304 may include a graphics processor (GPU) 3041 and a microphone 3042, and the graphics processor 3041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The processed image frame can be displayed on the display unit 306. The image frame processed by the graphics processor 3041 can be stored in the memory 309 (or other storage medium) or sent via the radio frequency unit 301 or the network module 302. The microphone 3042 can receive sound and can process such sound into audio data. The processed audio data can be converted into a format output that can be sent to a mobile communication base station via the radio frequency unit 301 in the case of a telephone call mode.
[0290] The electronic device 300 also includes at least one sensor 305, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 3061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 3061 and / or the backlight when the electronic device 300 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), and can detect the magnitude and direction of gravity when stationary, which can be used to identify the posture of the electronic device (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; the sensor 305 can also include a fingerprint sensor, a pressure sensor, an iris sensor, a molecular sensor, a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, etc., which will not be repeated here.
[0291] The display unit 306 is used to display information input by the user or information provided to the user. The display unit 306 may include a display panel 3061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0292] The user input unit 307 can be used to receive input digital or character information, and to generate key signal input related to user settings and function control of the electronic device. Specifically, the user input unit 307 includes a touch panel 3071 and other input devices 3072. The touch panel 3071, also known as a touch screen, can collect the user's touch operation on or near it (such as the user's operation on the touch panel 3071 or near the touch panel 3071 using any suitable object or accessory such as a finger, stylus, etc.). The touch panel 3071 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into the contact point coordinates, and then sends it to the processor 310, receives the command sent by the processor 310 and executes it. In addition, the touch panel 3071 can be implemented using multiple types such as resistive, capacitive, infrared and surface acoustic waves. In addition to the touch panel 3071, the user input unit 307 may also include other input devices 3072. Specifically, other input devices 3072 may include but are not limited to a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which are not described in detail here.
[0293] Furthermore, the touch panel 3071 may be overlaid on the display panel 3061. When the touch panel 3071 detects a touch operation on or near it, it is transmitted to the processor 310 to determine the type of touch event. Then, the processor 310 provides corresponding visual output on the display panel 3061 according to the type of touch event. Figure 3 In the figure, the touch panel 3071 and the display panel 3061 are used as two independent components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 3071 and the display panel 3061 can be integrated to realize the input and output functions of the electronic device, which is not limited here.
[0294] The interface unit 308 is an interface for connecting an external device to the electronic device 300. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 308 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the electronic device 300 or may be used to transmit data between the electronic device 300 and an external device.
[0295] The memory 309 can be used to store software programs and various data. The memory 309 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application required for a function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory 309 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0296] The processor 310 is the control center of the electronic device. It uses various interfaces and lines to connect various parts of the entire electronic device. By running or executing software programs and / or modules stored in the memory 309 and calling data stored in the memory 309, it performs various functions of the electronic device and processes data, thereby monitoring the electronic device as a whole. The processor 310 may include one or more processing units; preferably, the processor 310 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 310.
[0297] The electronic device 300 may also include a power supply 311 (such as a battery) for supplying power to each component. Preferably, the power supply 311 may be logically connected to the processor 310 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system.
[0298] In addition, the electronic device 300 includes some functional modules not shown, which will not be described in detail here.
[0299] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0300] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0301] like Figure 4 As shown, in another embodiment provided by the present invention, a computer-readable storage medium 401 is also provided, in which instructions are stored. When the computer-readable storage medium 401 is run on a computer, the computer executes the method for generating ride recommendation information described in the above embodiment.
[0302] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.
[0303] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of the present invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0304] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0305] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0306] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0307] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0308] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.
[0309] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A method for generating ride recommendation information, characterized in that: include: Get the user's current starting point and target destination; Determine a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point; The ride recommendation information is generated based on the target boarding point, the target alighting point and the target driving route.
2. The method according to claim 1, characterized in that Also includes: Determine a first target path from the current starting point to the target boarding point; Determine a second target path from the target destination to the target drop-off point; generating the number of walking steps, walking time and walking distance for the first target route and the second target route; Non-vehicle navigation suggestion information is generated based on the number of walking steps, the walking time, and the walking distance.
3. The method according to claim 1, characterized in that The step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point comprises: Calling a backend database, and reading a site information table and a route site association table from the backend database; Determine the boarding point closest to the current starting point based on the station information table, and determine the boarding point as the initial boarding point; Determine the nearest drop-off point to the target destination based on the station information table, and determine the drop-off point as the initial drop-off point; Based on the route station association table, generating a route belonging determination result for indicating whether the initial boarding point and the initial alighting point belong to the same driving route; Based on the route affiliation determination result, a target boarding point for the current starting point, a target alighting point for the target end point, and a target driving route for the target boarding point and the target alighting point are determined.
4. The method according to claim 3, characterized in that The step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point based on the route attribution determination result comprises: When it is determined that the initial boarding point and the initial alighting point are in the same driving route, the initial boarding point is determined as the target boarding point, the initial alighting point is determined as the target alighting point, and the driving route on which the initial boarding point and the initial alighting point are located is determined as the target driving route.
5. The method according to claim 3, characterized in that: The step of determining a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point based on the route attribution determination result comprises: When it is determined that the initial boarding point and the initial alighting point are not on the same driving route, determining all first target sites of the first route where the initial boarding point is located, and all second target sites of the second route where the initial alighting point is located, based on the site information table; Determine a third target site and a fourth target site that are closest to each other between the first route and the second route by using the first target site coordinates of the first target site and the second target site coordinates of the second target site; When the initial boarding point is the third target site, the second route is determined as the target driving route, the fourth target site is determined as the target boarding point, and the initial alighting point is determined as the target alighting point; When the initial alighting point is the third target site, the first route is determined as the target driving route, the fourth target site is determined as the target alighting point, and the initial boarding point is determined as the target boarding point.
6. The method according to claim 5, characterized in that Also includes: When the third target site and the fourth target site are detected, prompt information for indicating that there is no matching driving route is generated.
7. The method according to claim 3, characterized in that The step of determining the boarding point closest to the current starting point based on the station information table includes: A graph is constructed based on the station information table, wherein the nodes of the graph are used to express the current starting point and all the boarding points; and the edges of the graph are used to express the actual path from the current starting point to the boarding points; A boarding point closest to the current starting point is determined based on the graph.
8. A device for generating ride recommendation information, characterized in that: include: The actual itinerary acquisition module is used to obtain the user's current starting point and target destination; A driving route determination module, used to determine a target boarding point for the current starting point, a target alighting point for the target destination, and a target driving route for the target boarding point and the target alighting point; The ride recommendation information generating module is used to generate the ride recommendation information based on the target boarding point, the target alighting point and the target driving route.
9. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; The memory is used to store computer programs; The processor is used to implement the method according to any one of claims 1 to 7 when executing the program stored in the memory.
10. A computer-readable storage medium having instructions stored thereon, which, when executed by one or more processors, cause the processors to perform the method according to any one of claims 1 to 7.