Navigation method for poi, navigation device, server and storage medium
By exploring each fork in the road on the server side and accumulating mileage, the problem of repeated calculations for multiple paths was solved, achieving efficient point-of-interest navigation, saving computing resources and avoiding server downtime.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-06
- Publication Date
- 2026-03-27
AI Technical Summary
In existing technologies, when there are multiple points of interest at the same intersection and the second navigation routes from the multiple points of interest to the same intersection have overlapping sections, determining the mileage to the points of interest and the second navigation route will result in a large amount of computation, consume a lot of computing resources, and may even cause the server to crash.
The server explores forward from each fork in the first navigation route, accumulating the explored mileage until it identifies a road segment identifier associated with the POI category. This avoids repeatedly calculating multiple paths. By traversing at least one current road segment that includes multiple connecting next road segments, the explored mileage is accumulated to update the mileage.
It saves a lot of computing resources, avoids duplication of road segment calculations, and ensures computing efficiency and server stability.
Smart Images

Figure CN116295487B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of electronic map, in particular to a POI navigation method, a navigation device, a server and a storage medium. BACKGROUND
[0002] With the development of the Internet, the frequency of using electronic maps in life is increasing. When an electronic map is displayed on a terminal device, the position and icon of a point of interest (POI) on the map can be displayed. Various search methods for POIs have appeared in the market, such as regional search, surrounding search, and along-the-way search. Among them, the along-the-way search is to query some POIs such as toilets, gas stations, or charging piles around a first navigation route after determining the first navigation route with a starting point and an ending point, and to obtain a second navigation route from the POI to the first navigation route.
[0003] Currently, in the method of obtaining the second navigation route from the POI to the first navigation route, when there are multiple POIs at the same fork and the second navigation routes from the multiple POIs to the same fork have repeated road segments, the mileage to the POI and the second navigation route are determined, which may cause repeated road segment calculation. Generally, there may be hundreds or thousands of forks in the first navigation route. If the mileage to the POI and the second navigation route are determined for each fork, there may be repeated road segment calculation, which may cause a large amount of calculation and occupy a large amount of computing resources, and may even cause server downtime in severe cases. SUMMARY
[0004] The present application provides a POI navigation method, a navigation device, a server and a storage medium, which are used to solve the problem that in the prior art, when the mileage to the POI and the second navigation route are determined for each fork, there may be repeated road segment calculation, which may cause a large amount of calculation and occupy a large amount of computing resources, and may even cause server downtime in severe cases.
[0005] In a first aspect, the present application provides a POI navigation method, comprising: receiving a POI navigation request sent from a vehicle terminal, wherein the POI navigation request carries a category of a POI and a first navigation route including a road segment sequence in a travel order;
[0006] In response to the POI navigation request, according to a preset electronic map, a fork corresponding to each road segment in the first navigation route is found in turn from a starting point of the first navigation route according to the travel order;
[0007] According to the electronic map, at least one Nth road segment connected to the fork is explored outside the first navigation route along each fork, and the length of the Nth road segment is taken as the explored mileage;
[0008] identifying the Nth road segment identifier that does not exist in the road segment identifiers associated with the category of POIs in the pre-stored POI database;
[0009] For each Nth road segment, taking the Nth road segment as a current road segment, exploring at least one N+1th road segment connected with the current road segment, and adding the explored mileage of the current road segment to the mileage of each N+1th road segment to update the explored mileage of the current road segment; if the N+1th road segment identifier that does not exist in the road segment identifiers associated with the category of POIs in the pre-stored POI database is identified and the corresponding explored mileage is less than a set mileage threshold, continuing to add 1 to N and repeating the step until the identifier of the N+Mth road segment exists in the road segment identifiers associated with the category of POIs, wherein N is a positive integer and the initial value is 1, and M is the cumulative data after adding 1 to N for N times;
[0010] adding the corresponding explored mileage of the N+Mth road segment to the mileage of the starting point of the N+Mth road segment and the mileage of the reference point of the POI associated with the N+Mth road segment to obtain the trajectory mileage of the second navigation route from the fork to the corresponding POI;
[0011] sending the trajectory mileage of the second navigation route from each fork to the corresponding POI and the second navigation route of the corresponding POI to the vehicle terminal for display.
[0012] In a possible implementation, adding the corresponding explored mileage of the N+Mth road segment to the mileage of the starting point of the N+Mth road segment and the mileage of the reference point of the POI associated with the N+Mth road segment to obtain the trajectory mileage of the second navigation route from the fork to the corresponding POI, includes:
[0013] finding the coordinates of the POI associated with the road segment identifier of the N+Mth road segment from the pre-stored POI database;
[0014] mapping the coordinates of the POI associated with the road segment identifier of the N+Mth road segment to the reference point on the last explored road segment;
[0015] determining the mileage from the starting point of the N+Mth road segment to the corresponding reference point;
[0016] adding the corresponding explored mileage of the N+1th road segment to the mileage from the starting point of the corresponding N+Mth road segment to the corresponding reference point to obtain the trajectory mileage of the second navigation route from the fork to the corresponding POI.
[0017] In this way, since the at least one current road segment includes a plurality of next road segments that are turned on, it indicates that the branch road extends outwards and includes a plurality of paths, and thus the previously obtained explored distances are respectively added to the distance of the N+1th road segment explored this time to obtain updated explored distances, without repeatedly exploring the plurality of paths respectively. In this way, the distance to the interest point and the second navigation route are determined without repeated calculation of road segments, thereby saving a large amount of computing resources.
[0018] In a possible implementation, the road segment identifier associated with the category of the POI is the road segment identifier of the road segment closest to the POI belonging to the category of the POI. In this way, it can be ensured that the subsequent navigation according to the second navigation route reaches the road segment closest to the POI.
[0019] In a possible implementation, before the server receives the POI navigation request sent by the vehicle terminal, the method provided in the present application further includes: determining, by the server, a set of adjacent road segments corresponding to each POI, wherein the set of adjacent road segments is a set of road segments whose starting points or ending points are less than a set distance threshold from the POI; determining, by the server, a perpendicular distance of each POI to each road segment in the set of adjacent road segments; and establishing, by the server, an association between the category of the POI, the identifier of the POI, and the road segment identifier of the road segment with the shortest perpendicular distance.
[0020] In this way, the set of adjacent road segments corresponding to each POI can be accurately and reliably determined.
[0021] In a possible implementation, the server determines the perpendicular distance of each POI to each road segment in the set of adjacent road segments, including: determining, by the server, an area S of a triangle formed by the POI, the starting point of the road segment in the set of adjacent road segments, and the ending point of the road segment in the set of adjacent road segments according to the formula: wherein Lpa is the distance from the POI to the starting point of any road segment in the set of adjacent road segments, Lpb is the distance from the POI to the ending point of any road segment in the set of adjacent road segments, Lab is the length of any road segment in the set of adjacent road segments, and L is half of the perimeter of the triangle formed by the POI, the starting point of any road segment in the set of adjacent road segments, and the ending point of any road segment in the set of adjacent road segments; and determining, by the server, the perpendicular distance D of each POI to each road segment in the set of adjacent road segments according to the formula:
[0022] In this way, the perpendicular distance of each POI to each road segment in the set of adjacent road segments can be accurately and reliably determined.
[0023] In a possible implementation, after the server determines the set of adjacent road segments corresponding to each POI, the method provided in the present application further includes: excluding, by the server, the road segment in the set of adjacent road segments corresponding to each POI that cannot be directly reached by the POI.
[0024] In this way, the road segment that is finally associated with the identification of the POI can be avoided from being detoured.
[0025] In a possible implementation, the server excludes the road segments in the set of adjacent road segments corresponding to each POI, which have attribute identifications of closed road, viaduct, or intersect with the boundary of a river, where the road segments with attribute identifications of closed road, viaduct, or intersect with the boundary of a river are road segments that cannot be directly reached by the POI.
[0026] In a possible implementation, the sending of the trajectory mileage of each junction to the corresponding POI and the second navigation route of the corresponding POI to the vehicle terminal for display includes:
[0027] The trajectory mileage of each junction to the corresponding POI and the second navigation route are arranged in the order of travel of each junction according to the first navigation route;
[0028] For each junction, the trajectory mileage of the navigation route of the POI corresponding to the junction is arranged in ascending order;
[0029] The trajectory mileage arranged in ascending order and the second navigation route of the corresponding POI are sent to the vehicle terminal for display.
[0030] In this way, the POI corresponding to the junction in the order of travel is preferentially displayed to the driver, and for each junction, the POI corresponding to the junction with the shortest trajectory mileage is preferentially displayed to the driver, so that the driver can quickly find the POI closest to the driver.
[0031] In a second aspect, the application also provides a navigation device, comprising:
[0032] A data receiving unit is configured to receive a point of interest (POI) navigation request sent by a vehicle terminal, wherein the POI navigation request carries a category of the POI and a first navigation route including a sequence of road segments in an order of travel;
[0033] A data searching unit is configured to, in response to the POI navigation request, find, according to a preset electronic map, junctions corresponding to each road segment in the first navigation route in the order of travel, starting from a starting point of the first navigation route;
[0034] A road segment searching unit is configured to search for at least one Nth road segment connected to each junction in the first navigation route according to the electronic map, and take the length of the Nth road segment as the explored mileage.
[0035] The data identifying unit is configured to identify, in the pre-stored POI database, a Nth road segment identifier that does not exist in the road segment identifiers associated with the category of the POI;
[0036] The road segment exploring unit is further configured to, for each Nth road segment, take the Nth road segment as a current road segment, explore at least one (N+1)th road segment connected to the current road segment, and add the explored distance of the current road segment to the distance of each (N+1)th road segment to update the explored distance of the current road segment; if a (N+1)th road segment identifier that does not exist in the pre-stored POI database and the corresponding explored distance is less than a set distance threshold, the N is increased by 1, and the step is repeated until the (N+M)th road segment identifier of the (N+M)th road segment exists in the road segment identifiers associated with the category of the POI, where N is a positive integer and the initial value is 2.
[0037] The distance determining unit is configured to add the corresponding explored distance of the (N+M)th road segment to the distance from the starting point of the last explored (N+1)th road segment to the reference point of the POI associated with the (N+M)th road segment on the (N+M)th road segment to obtain the track distance of the second navigation route from the fork to the corresponding POI.
[0038] The data sending unit is configured to send the track distance of the second navigation route from each fork to the corresponding POI and the second navigation route of the corresponding POI to the vehicle terminal for display.
[0039] In a third aspect, the present application also provides a server, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the server executes the method provided in the first aspect.
[0040] In a fourth aspect, the present application also provides a computer readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer executes the method executed by the terminal device provided in the first aspect.
[0041] In a fifth aspect, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed, the computer executes the method provided in the first aspect.
[0042] The application provides a POI navigation method, a navigation device, a server and a storage medium. The server can explore a road segment connected with a branch road according to an electronic map along each branch road and outside a first navigation route, and take the length of the explored road segment as an explored mileage. The server identifies whether a road segment identifier of the explored road segment is included in a road segment identifier associated with the category of the POI in a pre-stored POI database. When the road segment identifier of the explored road segment is not identified, it is indicated that there is no POI of the category required by a user near the currently explored road segment. Therefore, the next road segment connected with the current road segment is continuously explored until the road segment identifier associated with the category of the POI includes the road segment identifier of the explored road segment.
[0043] Understandably, since at least one current road segment includes a plurality of connected next road segments, it is indicated that the branch road extends outwardly and includes a plurality of paths. Therefore, the explored mileage obtained last time is accumulated with the mileage of the N+1th road segment explored this time, respectively, to obtain the updated explored mileage corresponding to the N+1th road segment, without repeatedly exploring the plurality of paths respectively. Therefore, the mileage to the point of interest and the second navigation route are determined without repeated road segment calculation, and a large amount of calculation resources is saved. BRIEF DESCRIPTION OF DRAWINGS
[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0045] Figure 1 One of the POI navigation method flowcharts provided by the embodiments of the present application;
[0046] Figure 2 The schematic diagram for exploring the first navigation route provided by the embodiments of the present application;
[0047] Figure 3 The second POI navigation method flowchart provided by the embodiments of the present application;
[0048] Figure 4 The schematic diagram for determining the perpendicular distance of the POI to each road segment provided by the embodiments of the present application;
[0049] Figure 5 One of the functional module block diagrams of the navigation device provided by the embodiments of the present application;
[0050] Figure 6 The second functional module block diagram of the navigation device provided by the embodiments of the present application. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments made by those skilled in the art under the guidance of these embodiments are within the scope of protection of this application.
[0052] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0053] Currently, in methods for obtaining the second navigation route from a point of interest (POI) to the first navigation route, when multiple POIs exist at the same intersection, and the second navigation routes from these POIs to the same intersection contain overlapping road segments, the determination of the mileage to the POI and the second navigation route may result in duplicate road segment calculations. Typically, the first navigation route may have hundreds or even thousands of intersections. If, for each intersection, the determination of the mileage to the POI and the second navigation route both involve duplicate road segment calculations, it will lead to a large computational load, consume significant computing resources, and in severe cases, may even cause server crashes.
[0054] Based on the above-mentioned technical problems, the inventive concept of this application is as follows: the server explores forward one by one from the forks of the first navigation route and accumulates the explored mileage until it identifies the road segment identifier associated with the POI category, which includes the road segment identifier of the explored road segment, and at least one explored road segment includes multiple connected next road segments.
[0055] The POI navigation method provided in the application, since at least one current road section includes a plurality of next road sections that are turned on, it is indicated that the fork extends outwardly and includes a plurality of paths, and thus the previously obtained explored mileage is accumulated with the mileage of the N+1th road section explored this time to obtain the updated explored mileage corresponding to the N+1th road section, without repeatedly exploring the plurality of paths respectively. In this way, the mileage of reaching the point of interest and the second navigation route are determined without repeated calculation of road sections, thereby saving a large amount of computing resources.
[0056] In the following, the technical solutions of the application and how the technical solutions of the application solve the above technical problems are described in detail with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described again in some embodiments. The embodiments of the application will be described below with reference to the drawings.
[0057] Please refer to Figure 1 The embodiment of the application provides a POI navigation method, which is applied to a server, and the server is in communication connection with a vehicle terminal to perform data interaction. As shown in Figure 1 The POI navigation method provided in the embodiment of the application includes the following steps.
[0058] S101: The server receives a point of interest POI navigation request sent by the vehicle terminal, wherein the POI navigation request carries a category of the POI and a first navigation route including a road section sequence in a driving order.
[0059] Exemplarily, the driver can input a starting point and an ending point in a map APP of the vehicle terminal to generate a first navigation route including a road section sequence in a driving order. The driver can also input a point of interest POI navigation request on the map APP and send the point of interest POI navigation request to the server. The category of the POI can be a gas station, a restroom, a service area, a supermarket, and the like, which is not limited herein.
[0060] S102: The server responds to the POI navigation request and finds a fork corresponding to each road section in the first navigation route in a driving order from the starting point of the first navigation route according to a preset electronic map.
[0061] Exemplarily, as shown in Figure 2 When the vehicle has not started driving along the first navigation route XY, the server can find the fork 1 corresponding to the road section 1, the fork 2 corresponding to the road section 2, the fork 3 corresponding to the road section 3,..., and the fork n corresponding to the road section n in the direction of the ending point of the first navigation route XY from the starting point of the first navigation route XY.
[0062] S103: According to the electronic map, explore at least one Nth road segment connected with the branch road along each branch road outside the first navigation route, and take the length of the Nth road segment as the explored mileage.
[0063] For example, as shown in Figure 2 , the road segment R34 (i.e. the 1st road segment) connected with the branch road 1 outside the first navigation route XY is explored, and the length L1 of the explored road segment R34 is taken as the explored mileage.
[0064] S104: In the road segment identifiers associated with the category of POI in the pre-stored POI database, identify the Nth road segment identifier of the Nth road segment that does not exist.
[0065] Specifically, the road segment identifier associated with the category of POI is the road segment identifier of the road segment closest to the POI belonging to the category of POI. For example, in Figure 2 , the road segment R1 is not the road segment closest to the POI belonging to the category of POI, so the server identifies that the road segment identifier of the explored road segment is not included in the road segment identifiers associated with the category of POI in the pre-stored POI database.
[0066] S105: For each Nth road segment, take the Nth road segment as the current road segment, explore at least one N+1th road segment connected with the current road segment, and add the explored mileage of the current road segment to the mileage of each N+1th road segment to update the explored mileage of the current road segment.
[0067] For example, as shown in Figure 2 , the server explores two next road segments connected with the current road segment R34, which are road segment R35 and road segment R36 (i.e. N+1th road segments), the length of road segment R35 is L2, and the length of road segment R36 is L3, then the length L1 of the last explored road segment R1 is added to the length L2 of road segment R35 to obtain the mileage S1, and the length L1 of the last explored road segment R1 is added to the length L3 of road segment R36 to obtain the mileage S2, and it can be understood that the two added results are the mileage S1 and the mileage S2, respectively.
[0068] S106: The server judges whether the updated explored mileage of the current road segment is less than the mileage threshold (such as 2km or 3km), if yes, execute S107.
[0069] S107: The server determines whether there is an N+1th road segment identifier of the N+1th road segment in the road segment identifiers associated with the category of POI in the pre-stored POI database, if no, execute S108, if yes, execute S109.
[0070] S108: The server adds 1 to N and returns to execute S105, where N is a positive integer and the initial value is 1.
[0071] As shown in the example, when N = 2, the server explores the next road segment R37 connected to the current road segment R35 for the second time, and the next road segment R38 connected to the current road segment R36, the length of the road segment R37 is L4, and the length of the road segment R38 is L5. Therefore, the new mileage S1 is obtained by adding the mileage S1 and the length L4 of the road segment R37, and the new mileage S2 is obtained by adding the mileage S2 and the length L5 of the road segment R38. Figure 2
[0072] S109: The server adds the explored mileage corresponding to the N+Mth road segment to the mileage from the starting point of the N+Mth road segment to the reference point of the POI associated with the N+Mth road segment on the N+Mth road segment, respectively, to obtain the track mileage of the second navigation route from the fork to the corresponding POI.
[0073] Specifically, S109 can be specifically implemented as: finding the coordinates of the POI associated with the road segment identifier of the N+Mth road segment from the pre-stored POI database; mapping the coordinates of the POI associated with the road segment identifier of the N+Mth road segment to the last explored road segment to obtain the reference point; determining the mileage from the starting point of the N+Mth road segment to the corresponding reference point; and adding the explored mileage corresponding to the N+1th road segment to the mileage from the starting point of the corresponding N+Mth road segment to the corresponding reference point, respectively, to obtain the track mileage of the second navigation route from the fork to the corresponding POI.
[0074] As shown in the example, when the identifiers of the road segments R37 and R38 including the explored road segment R37 are identified in the road segment identifiers associated with the category of the POI in the pre-stored POI database, the new mileage S1 is added to the mileage from the starting point of the road segment R37 to the reference point P1 of the POI1 on the road segment R37 associated with the road segment R37, to obtain the track mileage from the fork 1 to the POI1; and the new mileage S2 is added to the mileage from the starting point of the road segment R38 to the reference point P2 of the POI2 on the road segment R38 associated with the road segment R38, to obtain the track mileage from the fork 1 to the POI2. Figure 2
[0075] S110: The server sends the track mileage of the second navigation route from each fork to the corresponding POI and the second navigation route of the corresponding POI to the vehicle terminal for display.
[0076] Specifically, the trajectory mileage from each intersection to the corresponding POI and the second navigation route are arranged according to the driving order of each intersection of the first navigation route. For each intersection, the trajectory mileage of the navigation route of the corresponding POI is arranged in ascending order. The ascending-ordered trajectory mileage and the second navigation route of the corresponding POI are sent to the vehicle terminal for display.
[0077] For example, the trajectory mileages of POI1 and POI2 corresponding to intersection 1 are Q1 and Q2, respectively; the trajectory mileages of POI3 and POI4 corresponding to intersection 2 are Q3 and Q4, respectively; and the trajectory mileage of POI5 corresponding to intersection 1 is Q5. If Q1 > Q2 > Q3 > Q4 > Q5, then the ascending order is Q5, Q4, Q3, Q2, and Q1. In this way, the vehicle terminal can display the trajectory mileage Q5 and its corresponding second navigation route, the trajectory mileage Q4 and its corresponding second navigation route, the trajectory mileage Q3 and its corresponding second navigation route, the trajectory mileage Q2 and its corresponding second navigation route, and the trajectory mileage Q1 and its corresponding second navigation route from top to bottom.
[0078] In summary, the POI navigation method provided in this application allows the server to explore a road segment connecting to each intersection along an electronic map, outside of the first navigation route, and to use the length of the explored road segment as the explored mileage. The server checks whether the road segment identifier associated with the explored road segment is included in the pre-stored POI database. If no road segment identifier associated with the explored road segment is identified, it indicates that there is no POI of the user's desired category near the currently explored road segment. This process continues, exploring m next road segments connected to the current road segment, until a road segment identifier associated with the POI category is identified that includes the explored road segment identifier.
[0079] Understandably, since at least one current road segment includes multiple connecting next road segments, it indicates that the outward extension of the intersection includes multiple paths. Therefore, by adding the previously explored mileage to the mileage of the currently explored road segment, we can obtain the updated explored mileage for that segment, eliminating the need for repeated exploration of multiple paths separately. This ensures that there is no duplication in road segment calculations when determining the mileage to the point of interest and the second navigation route, saving significant computational resources.
[0080] Figure 3 A flowchart of another POI navigation method is provided for embodiments of this application, in the above... Figure 1 Based on the illustrated embodiments, as Figure 3 As shown, prior to S101 above, the method provided in this application embodiment further includes:
[0081] S301: The server predetermines the set of adjacent road segments corresponding to each POI.
[0082] The adjacent road segment set is a set of road segments whose distance from the starting point or ending point to the POI is less than a set distance threshold. This ensures that subsequent navigation based on the second navigation route will direct the user to the road segment closest to the POI.
[0083] For example, such as Figure 4 As shown, the set of road segments whose distance from the starting point or ending point to the point of interest P is less than the set distance threshold includes road segment AB, road segment BC, and road segment CD.
[0084] Furthermore, the server can exclude road segments from the set of adjacent road segments corresponding to each POI that are not directly accessible from the POI. For example, the server can exclude road segments from the set of adjacent road segments corresponding to each POI that are marked as closed roads, overpasses, or whose connection to the POI intersects with the boundary of a river.
[0085] Specifically, road segments marked as closed roads, overpasses, or where the line connecting to the POI intersects with the boundary of a river are considered road segments that cannot be directly reached by the POI. This avoids detours caused by road segments that are ultimately associated with the POI's identifier being inaccessible.
[0086] S302: The server determines the perpendicular distance from each POI to each road segment in the set of adjacent road segments.
[0087] Still Figure 4 As shown, the perpendicular distance from point of interest P to road segment AB is D1, the perpendicular distance from point of interest P to road segment BC is D2, and the perpendicular distance from point of interest P to road segment CD is D3.
[0088] Specifically, the implementation methods of S302 include:
[0089] Step 1: The server can calculate based on the formula:
[0090] Determine the area S of the triangle formed by the starting point and ending point of the POI, the adjacent road segment set, and the POI itself.
[0091] Where Lpa is any road segment from the POI to the set of adjacent road segments ( Figure 4 The distance from the starting point of road segment AB is given by Lpb, and Lpb is the distance from the POI to any road segment in the set of adjacent road segments. Figure 4 The distance between the endpoints of road segment AB and Lab is the distance to the endpoint of any road segment in the set of adjacent road segments. Figure 4 Let L be the length of road segment AB, and L be half the perimeter of the triangle formed by the starting point and ending point of any road segment in the set of adjacent road segments (POI).
[0092] Step 2: The server determines the perpendicular distance D of each POI to each road segment in the set of adjacent road segments according to the formula The perpendicular distance of each POI to each road segment in the set of adjacent road segments is determined accurately and reliably.
[0093] S303: The server establishes an association between the category of the POI, the identification of the POI, and the road segment identification of the road segment with the shortest perpendicular distance.
[0094] When the perpendicular distance D1 of the point of interest P to the road segment AB is the shortest perpendicular distance, the category of the point of interest P, the identification of the point of interest P, and the road segment identification of the road segment AB are associated. In this way, the corresponding adjacent road segment of each POI can be accurately and reliably determined.
[0095] The association between the category of the POI, the identification of the POI, and the road segment identification of the road segment with the shortest perpendicular distance is recorded as shown in Table 1.
[0096] Table 1
[0097] POI name POI category POI identification POI coordinates Road segment identification A1 C5 P0001 119.123,31.2311 Rn
[0098] Based on the above Figure 1 The S109 can be specifically implemented as follows: The server first arranges the trajectory mileage of each junction to the corresponding POI and the second navigation route according to the driving order of the junctions; and for each junction, the server arranges the trajectory mileage of the POI corresponding to the junction in ascending order.
[0099] For example, the arrangement of the trajectory mileage of each junction to the corresponding POI and the second navigation route can be as shown in Table 2:
[0100] Table 2
[0101]
[0102] In this way, the POI trajectory mileage and the second navigation route corresponding to the junction with the earlier driving order are preferentially displayed to the driver, and for each junction, the POI trajectory mileage and the second navigation route of the POI with the shortest trajectory mileage corresponding to the junction are preferentially displayed to the driver, so that the driver can quickly find the nearest POI.
[0103] It should be noted that the detour time in Table 2 can be obtained by dividing the length of the trajectory mileage by the average travel speed. Alternatively, for each junction, the server arranges the detour time of the POI corresponding to the junction in ascending order.
[0104] Please refer to Figure 5The embodiment of the present application further provides a navigation device 500, and it is to be noted that the navigation device 500 provided by the embodiment of the present application has the same basic principle and technical effect as the above-mentioned embodiment, and for brief description, the part not mentioned in the embodiment of the present application can refer to the corresponding content in the above-mentioned embodiment. The device 500 provided by the embodiment of the present application comprises a data receiving unit 501, a data searching unit 502, a road section searching unit 503, a data identifying unit 504, a mileage determining unit 505 and a data sending unit 506, wherein,
[0105] The data receiving unit 501 is configured to receive a point of interest (POI) navigation request sent by a vehicle terminal, wherein the POI navigation request carries a category of the POI and a first navigation route of a road section sequence containing a travel order;
[0106] The data searching unit 502 is configured to, in response to the POI navigation request, find, according to a preset electronic map, a corresponding branch road intersection of each road section in the first navigation route in turn according to the travel order, starting from a starting point of the first navigation route.
[0107] The road section searching unit 503 is configured to explore at least one Nth road section connected to the branch road intersection outside the first navigation route according to the electronic map along each branch road intersection, and take the length of the Nth road section as an explored mileage.
[0108] The data identifying unit 504 is configured to identify, in road section identifiers associated with the category of the POI in a pre-stored POI database, an Nth road section identifier that does not exist.
[0109] The road section searching unit 503 is further configured to, for each Nth road section, take the Nth road section as a current road section, explore at least one N+1th road section connected to the current road section, and add the explored mileage of the current road section to the mileage of each N+1th road section to update the explored mileage of the current road section; if an N+1th road section identifier that does not exist is identified in the road section identifiers associated with the category of the POI in the pre-stored POI database and the corresponding explored mileage is less than a set mileage threshold, N is increased by 1, and the step is repeatedly executed until an identifier of an N+Mth road section exists in the road section identifiers associated with the category of the POI, wherein N is a positive integer and the initial value is 2.
[0110] The mileage determining unit 505 is configured to add the explored mileage of the N+Mth road section to the mileage of a reference point of the POI associated with the N+Mth road section on the N+Mth road section, to obtain a track mileage of a second navigation route from the branch road intersection to the corresponding POI.
[0111] In a possible implementation, the mileage determining unit 505 is specifically configured to find, from the pre-stored POI database, coordinates of POIs associated with the N+Mth road segment; map the coordinates of the POIs associated with the N+Mth road segment to reference points on the last explored road segment respectively; determine mileages from the start point of the N+Mth road segment to the corresponding reference points respectively; and add the explored mileages of the N+1th road segment and the mileages from the start point of the corresponding N+Mth road segment to the corresponding reference points respectively to obtain trajectory mileages of the second navigation route from the fork to the corresponding POI.
[0112] The data sending unit 506 is configured to send the trajectory mileages of the second navigation route from each fork to the corresponding POI and the second navigation route of the corresponding POI to the vehicle terminal for display.
[0113] In a possible implementation, the data sending unit 507 is specifically configured to arrange the trajectory mileages of the second navigation route from each fork to the corresponding POI and the second navigation route of the corresponding POI according to the driving order of each fork of the first navigation route; arrange the trajectory mileages of the navigation route of the corresponding POI of each fork in ascending order; and send the trajectory mileages arranged in ascending order and the second navigation route of the corresponding POI to the vehicle terminal for display.
[0114] In a possible implementation, the road segment identifier associated with the category of the POI is a road segment identifier of a road segment closest to the POI belonging to the category of the POI.
[0115] In a possible implementation, as shown in FIG. 5, Figure 6 The apparatus 500 provided by the embodiment of the present application further includes:
[0116] The adjacent road segment set establishing unit 601 is configured to determine an adjacent road segment set corresponding to each POI, where the adjacent road segment set is a set of road segments whose start point or end point is less than a set distance threshold from the POI.
[0117] Specifically, the adjacent road segment set establishing unit 601 is further configured to exclude road segments in the adjacent road segment set corresponding to each POI that cannot be directly reached by the POI.
[0118] The adjacent road segment set establishing unit 601 is further configured to exclude road segments in the adjacent road segment set corresponding to each POI whose attribute identifier is a closed road, an elevated bridge, or a road segment whose line connecting the POI intersects with the boundary of a river, where the road segment whose attribute identifier is a closed road, an elevated bridge, or a road segment whose line connecting the POI intersects with the boundary of a river is a road segment that cannot be directly reached by the POI.
[0119] The vertical distance determination unit 602 is configured to determine the vertical distance of each POI to each road segment in the adjacent road segment set.
[0120] The vertical distance determination unit 602 is configured to determine the vertical distance of each POI to each road segment in the adjacent road segment set.
[0121] The area S of the triangle formed by the POI, the start point and the end point of each road segment in the adjacent road segment set is determined.
[0122] wherein Lpa is the distance from the POI to the start point of each road segment in the adjacent road segment set, Lpb is the distance from the POI to the end point of each road segment in the adjacent road segment set, Lab is the length of each road segment in the adjacent road segment set, and L is half of the perimeter of the triangle formed by the POI, the start point and the end point of each road segment in the adjacent road segment set; the server determines the vertical distance D of each POI to each road segment in the adjacent road segment set according to the formula
[0123] The association relationship establishment unit 603 is configured to establish an association relationship between the category of the POI, the identifier of the POI and the road segment identifier of the road segment with the shortest vertical distance.
[0124] The embodiments of the present application further provide a server, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the server executes the method provided by the embodiments of the present application.
[0125] The embodiments of the present application further provide a computer readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer executes the method provided by the embodiments of the present application.
[0126] The embodiments of the present application further provide a computer program product, which comprises a computer program, and when the computer program is executed, the computer executes the method provided by the embodiments.
[0127] Those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by program instruction related hardware. The foregoing program can be stored in a computer readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the foregoing storage medium includes ROM, RAM, magnetic disk or optical disk and various storage media that can store program codes.
[0128] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A navigation method for Points of Interest (POIs), characterized in that, The method includes: Receive a Point of Interest (POI) navigation request sent from an in-vehicle terminal, wherein the POI navigation request carries the POI category and a first navigation route containing a road segment sequence with driving order; In response to the POI navigation request, based on the preset electronic map, starting from the starting point of the first navigation route, the intersections corresponding to each road segment in the first navigation route are found sequentially according to the driving order; According to the electronic map, at least one Nth road segment connecting to each intersection is explored outside the first navigation route, and the length of the Nth road segment is taken as the explored mileage. In the pre-stored POI database, among the road segment identifiers associated with the category of the POI, identify the Nth road segment identifier that does not exist; For each Nth road segment, the Nth road segment is taken as the current road segment, and at least one N+1th road segment connected to the current road segment is explored. The explored mileage of the current road segment is added to the mileage of each N+1th road segment to update the explored mileage of the current road segment. If the N+1th road segment identifier that does not exist in the road segment identifier associated with the category of the POI in the pre-stored POI database and the corresponding explored mileage is less than the set mileage threshold, N is incremented by 1, and this step is repeated until the identifier of the N+Mth road segment is found to exist in the road segment identifier associated with the category of the POI, where N is a positive integer and the initial value is 1, and M is the accumulated data after incrementing N by 1 each time. The explored mileage corresponding to the N+Mth road segment is added to the mileage from the starting point of the N+Mth road segment to the reference point of the POI associated with the last explored N+Mth road segment on the N+Mth road segment, respectively, to obtain the trajectory mileage of the second navigation route from the intersection to the corresponding POI. The trajectory mileage of the second navigation route from each of the intersections to the corresponding POIs and the second navigation route of the corresponding POIs are sent to the vehicle terminal for display.
2. The method according to claim 1, characterized in that, The method of adding the explored mileage corresponding to the N+Mth road segment to the mileage of the reference point of the POI associated with the last explored N+Mth road segment on the N+Mth road segment, respectively, to obtain the trajectory mileage of the second navigation route from the intersection to the corresponding POI, includes: From the pre-stored POI database, find the coordinates of the POI associated with the road segment identifier of the N+Mth road segment; The coordinates of the POIs associated with the road segment identifiers of the N+Mth road segment are mapped onto the last explored road segment to obtain reference points. Determine the mileage from the starting point of the N+Mth road segment to the corresponding reference point; The explored mileage corresponding to the N+1th road segment is added to the mileage from the starting point of the N+Mth road segment to the corresponding reference point to obtain the trajectory mileage of the second navigation route from the intersection to the corresponding POI.
3. The method according to claim 1, characterized in that, The road segment identifier associated with the category of the POI is: the road segment identifier of the road segment closest to the POI belonging to the category of the POI.
4. The method according to claim 3, characterized in that, Before receiving the POI navigation request sent from the in-vehicle terminal, the method further includes: Determine the set of adjacent road segments corresponding to each POI, wherein the set of adjacent road segments is the set of road segments whose distance from the start point or end point to the POI is less than a set distance threshold; Determine the perpendicular distance from each of the POIs to each road segment in the set of adjacent road segments; Establish an association between the POI category, the POI identifier, and the road segment identifier of the road segment with the shortest vertical distance.
5. The method according to claim 4, characterized in that, Determining the perpendicular distance from each POI to each road segment in the adjacent road segment set includes: According to the formula: Determine the area S of the triangle formed by the starting point and ending point of the POI, the adjacent road segment set, and the road segment of the triangle; Where Lpa is the distance from the POI to the starting point of any road segment in the set of adjacent road segments, Lpb is the distance from the POI to the ending point of any road segment in the set of adjacent road segments, Lab is the length of any road segment in the set of adjacent road segments, and L is half the perimeter of the triangle formed by the POI, the starting point of any road segment in the set of adjacent road segments, and the ending point. According to the formula Determine the perpendicular distance D from each POI to each segment of the adjacent segment set.
6. The method according to claim 4, characterized in that, After determining the set of adjacent road segments corresponding to each POI, the method further includes: Exclude road segments that cannot be directly reached from the set of adjacent road segments corresponding to each POI.
7. The method according to claim 6, characterized in that, The exclusion of road segments from the set of adjacent road segments corresponding to each POI, wherein the road segments with the attribute identifier of being closed roads, viaducts, or where the line connecting the POI intersects the boundary of the river, wherein the road segments with the attribute identifier of being closed roads, viaducts, or where the line connecting the POI intersects the boundary of the river are: road segments that cannot be directly reached by the POI.
8. The method according to any one of claims 1-7, characterized in that, The process of sending the trajectory mileage of the second navigation route from each of the forks in the road to the corresponding POI and the second navigation route of the corresponding POI to the vehicle terminal for display includes: First, according to the driving order of each intersection of the first navigation route, arrange the trajectory mileage from each intersection to the corresponding POI and the second navigation route. For each intersection, the trajectory mileage of the navigation route corresponding to the POI at the intersection is sorted in ascending order; The ascending order of the trajectory mileage and the corresponding POIs are sent to the vehicle terminal for display.
9. A navigation device, characterized in that, The device includes: A data receiving unit is used to receive a point of interest (POI) navigation request sent from an in-vehicle terminal, wherein the POI navigation request carries the POI category and a first navigation route containing a road segment sequence with driving order. The data lookup unit is used to respond to the POI navigation request and, based on a preset electronic map, sequentially find the intersections corresponding to each segment of the first navigation route according to the driving order, starting from the starting point of the first navigation route. The road segment exploration unit is used to explore at least one Nth road segment connecting to each intersection along the first navigation route based on the electronic map, and to take the length of the Nth road segment as the explored mileage. The data identification unit is used to identify, in the pre-stored POI database, the Nth segment identifier that does not exist among the segment identifiers associated with the category of the POI; The road segment exploration unit is further configured to, for each Nth road segment, take the Nth road segment as the current road segment, and explore at least one N+1th road segment connected to the current road segment, and accumulate the explored mileage of the current road segment with the mileage of each N+1th road segment to update the explored mileage of the current road segment; if the N+1th road segment identifier that does not exist in the road segment identifier associated with the category of the POI in the pre-stored POI database and the corresponding explored mileage is less than a set mileage threshold, increment N by 1, and repeat this step until the identifier of the N+Mth road segment is found to exist in the road segment identifier associated with the category of the POI, where N is a positive integer and the initial value is 2; The mileage determination unit is used to add the explored mileage corresponding to the N+Mth road segment to the mileage from the starting point of the last explored N+1th road segment to the reference point of the POI associated with the N+Mth road segment on the N+Mth road segment, respectively, to obtain the trajectory mileage of the second navigation route from the intersection to the corresponding POI. The data transmission unit is used to send the trajectory mileage of the second navigation route from each of the intersections to the corresponding POIs and the second navigation route of the corresponding POIs to the vehicle terminal for display.
10. A server comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it causes the server to perform the method as described in any one of claims 1 to 8.
11. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it causes the computer to perform the method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Point of interest search, identification, and navigation
CN102410840A
Batch test method for topological relationship correctness of road navigation data
CN102853846A