Track point processing method, computing device and storage medium
By automatically identifying the associated trajectory points of the reference trajectory, the problems of inefficiency and error-proneness of sections of the newly-made and unmade maps in the newly added trajectory are solved, and efficient road map generation and update are achieved.
Patent Information
- Application Number
- CN202311290657.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-08
- Publication Date
- 2025-04-15
AI Technical Summary
When building high-precision navigation maps, manual comparison and analysis of the built-in map sections and unmade map sections in the newly added trajectory are inefficient and error-prone, especially when there are mutual caps or crossings between multiple trajectories.
A trajectory point processing method is proposed. By obtaining the target trajectory and the reference trajectory, the associated trajectory points of the reference trajectory are automatically identified, thereby improving the efficiency of map construction. The method includes obtaining the target trajectory and the reference trajectory, selecting the target trajectory point located in the target area where the reference trajectory point is located, and determining whether there is an approximate relationship between the target trajectory point and the reference trajectory point based on the spatial position relationship.
By automatically identifying the associated track points of the reference trajectory, the efficiency of road map generation and update efficiency is improved, and the error rate of manual analysis is reduced.
Smart Images

Figure CN119826840A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present disclosure relate to the field of data processing, and in particular to a trajectory point processing method, a computing device, and a storage medium. Background Art
[0002] When building a high-precision navigation map, raw data (such as trajectories, point clouds, pictures, and videos) are generally collected by a collection vehicle, and then a high-precision navigation map is generated based on these raw data. Data will be collected on the same road multiple times (for example, in the scene of updating the map), but not all sections collected each time will be made into high-precision maps. Before each mapping, manual comparison and analysis is required to determine which sections have been mapped and do not need to be repeated, and which sections have not been mapped before and need to be made. If there are many and long new trajectories to be processed at one time, these multiple trajectories may be very close to each other, and there may be overlap or intersection with each other, making it difficult to distinguish. At this time, the efficiency of manual comparison and analysis is very low and it is easy to make mistakes. Therefore, it is necessary to provide a more intelligent and efficient method for classifying and processing new trajectories. Summary of the invention
[0003] To this end, the present disclosure proposes a trajectory point processing method, a computing device, and a storage medium, which can automatically identify associated trajectory points of a reference trajectory from a newly added trajectory, thereby improving subsequent mapping efficiency.
[0004] According to one aspect of the present disclosure, a trajectory point processing method is proposed, including: respectively acquiring a target trajectory and a reference trajectory, the target trajectory including a plurality of target trajectory points, and the reference trajectory including a plurality of reference trajectory points; for any reference trajectory point in the reference trajectory: selecting a target trajectory point located in a target area where the reference trajectory point is located from the plurality of target trajectory points; determining whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point based on a spatial position relationship between the selected target trajectory point and the reference trajectory point; and in response to the existence of an approximate relationship between the selected target trajectory point and the reference trajectory point, determining that the selected target trajectory point is an associated trajectory point of the reference trajectory.
[0005] According to another aspect of the present disclosure, a computing device is provided, which includes a memory and a processor, wherein the memory stores at least one computer program instruction, and the at least one computer program instruction is loaded and executed by the processor to implement the trajectory point processing method of the embodiment of the present disclosure.
[0006] According to another aspect of the present disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores at least one computer program instruction, and when the at least one computer program instruction is executed by a processor, the trajectory point processing method of the embodiment of the present disclosure can be implemented.
[0007] According to the scheme of the embodiment of the present disclosure, the associated trajectory points and the difference trajectory points of the baseline trajectory can be identified from the newly added trajectory. The baseline trajectory may have been mapped, so the associated trajectory points of the baseline trajectory and its related road environment data can be discarded, and only the difference trajectory points of the baseline trajectory are used to generate a map of the difference trajectory segment, thereby improving the generation efficiency and update efficiency of the road map.
[0008] Moreover, the disclosed embodiment can traverse each reference track point of the reference track one by one, and each traversal determines which target track points currently have an approximate relationship with the reference track point, and determines the target track points with an approximate relationship as associated track points of the reference track. Associated track points can be removed from the target track to determine which other points are associated track points of the reference track from the remaining target track, thereby improving data processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary embodiments of the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0010] Figure 1 A flowchart of a trajectory point processing method 100 according to an embodiment of the present disclosure is shown.
[0011] Figure 2 A schematic diagram of determining the azimuth of a trajectory point according to an embodiment of the present disclosure is shown.
[0012] Figure 3 A flow chart of selecting a trajectory point from a plurality of target trajectory points according to an embodiment of the present disclosure is shown.
[0013] Figure 4 A schematic diagram of an index tree according to an embodiment of the present disclosure is shown.
[0014] Figure 5 A flowchart of selecting a trajectory point from multiple target trajectory points according to another embodiment of the present disclosure is shown.
[0015] Figure 6A schematic diagram of determining adjacent areas according to an embodiment of the present disclosure is shown.
[0016] Figure 7 and Figure 8 A flow chart of selecting a trajectory point from a plurality of target trajectory points according to yet another embodiment of the present disclosure is respectively shown.
[0017] Fig. 9 A flowchart of a trajectory point processing method according to another embodiment of the present disclosure is shown.
[0018] Fig.10 FIG. 1 is a flowchart of a trajectory point processing method 1000 according to yet another embodiment of the present disclosure.
[0019] Fig.11 A schematic diagram of a reference trajectory and a target trajectory according to an embodiment of the present disclosure is shown.
[0020] Fig.12 A schematic diagram of a correlation trajectory and a difference trajectory according to an embodiment of the present disclosure is shown.
[0021] Fig.13 is a block diagram of a computing device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0023] In this disclosure, the term "plurality" means two or more, unless otherwise specified. In this disclosure, the term "and / or" describes the association relationship of associated objects, covering any one of the listed objects and all possible combinations. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0024] In this disclosure, unless otherwise specified, the terms "first", "second", etc. are used to distinguish similar objects without intending to limit their positional relationship, temporal relationship, or importance relationship. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present invention described herein can be implemented in ways other than those illustrated or described herein.
[0025] In addition, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus that includes a series of steps or elements is not necessarily limited to those steps or elements explicitly listed, but may include other steps or elements not explicitly listed or inherent to such process, method, system, product, or apparatus.
[0026] The present disclosure is further described in detail below in conjunction with the accompanying drawings.
[0027] Figure 1 A flow chart of a trajectory point processing method 100 according to an exemplary embodiment of the present disclosure is shown. The method 100 includes steps S110, S120, S130 and S140. Figure 1 Although the four steps are depicted as separate blocks and appear to be separate steps, these steps should not be understood as having to be performed in the order shown.
[0028] Step S110, respectively acquiring a target trajectory and a reference trajectory, wherein the target trajectory includes a plurality of target trajectory points, and the reference trajectory includes a plurality of reference trajectory points.
[0029] Step S120 , for any reference trajectory point in the reference trajectory: selecting a target trajectory point located in a target area where the reference trajectory point is located from a plurality of target trajectory points.
[0030] Step S130, determining whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point according to the spatial position relationship between the selected target trajectory point and the reference trajectory point.
[0031] Step S140 , in response to the selected target trajectory point having an approximate relationship with the reference trajectory point, determining the selected target trajectory point as an associated trajectory point of the reference trajectory.
[0032] In some embodiments, the reference trajectory may be one or more trajectories that have been mapped and used as a reference, and the target trajectory may be one or more trajectories to be processed. When the map collection vehicle performs a data collection task (for example, driving along a specific road section and recording information collected along the way), it will record the trajectory data of the road section traveled. The trajectory data includes the coordinates of each trajectory point (for example, longitude and latitude information and / or other information used to represent the spatial position) and a collection timestamp, as well as the road environment data collected at each trajectory point. The road environment data includes point cloud data collected by a laser radar, image data and / or video data collected by a camera, physical environment information collected by a millimeter wave radar (including but not limited to the relative distance, relative speed, angle, direction between the collection vehicle and other objects), etc.
[0033] The map collection vehicle can perform data collection tasks on the same road section or different road sections on different dates. Each data collection task has a unique task identifier, and the collected trajectory data and road environment data also have a unique data identifier. The data collection task includes the road section identifier to be collected, the collection vehicle number used to collect data (different collection vehicles may have different software and hardware configurations), the data collection date, the start and end timestamps of the collection section, etc. If the value of any parameter in the collection task changes, a new task identifier will be generated. In this way, when building a map based on the trajectory data obtained from different collection tasks in the future, the attribute information of this task can be referred to to determine the accuracy of the map building, and the quality of the data collected by collection vehicles with different configurations when performing data collection tasks can also be compared.
[0034] Multiple trajectory points of a data collection task can be connected in sequence according to the timestamp order to obtain a trajectory, such as a target trajectory or a reference trajectory. That is, both the target trajectory and the reference trajectory include multiple trajectory points, or the target trajectory is composed of multiple target trajectory points, and the reference trajectory is also composed of multiple reference trajectory points.
[0035] In some embodiments, after the reference trajectory and the target trajectory are acquired in step S110, the method 100 may further include the steps of: calculating the azimuth of each target trajectory point according to the coordinate values of the multiple target trajectory points; and calculating the azimuth of each reference trajectory point according to the coordinate values of the multiple reference trajectory points. Then the spatial position relationship in step S130 includes a distance relationship and / or an azimuth offset, and the azimuth offset between the two points includes the difference in azimuths corresponding to the two points. The distance relationship represents the distance between the two points, and the azimuth offset represents the difference in azimuths of the two points.
[0036] Among them, the azimuth of each target trajectory point includes the angle between the direction of the line between the target trajectory point and other target trajectory points and the reference direction; the azimuth of each reference trajectory point includes the angle between the direction of the line between the reference trajectory point and other reference trajectory points and the reference direction. Other target trajectory points as reference trajectory points can be adjacent trajectory points of the target trajectory point, or they can be the starting trajectory point, the ending trajectory point or the predetermined trajectory point defined by the developer, as long as all trajectory points refer to the same trajectory point to calculate the azimuth. Similarly, other reference trajectory points as reference trajectory points can also be adjacent trajectory points of the reference trajectory point, or they can be the starting trajectory point, the ending trajectory point or the predetermined trajectory point defined by the developer, as long as all trajectory points refer to the same trajectory point to calculate the azimuth. The adjacent here can be adjacent in time sequence, such as the previous trajectory point or the next trajectory point with adjacent timestamps. It should be understood that, considering that the target trajectory obtained in step S110 can be one or more target trajectories, the adjacent trajectory points in the embodiment of the present disclosure can refer to adjacent trajectory points on the same target trajectory. The reference direction may be true north on a geographic plane or another specified direction.
[0037] For certain specific trajectory points, such as the earliest trajectory point collected in a data collection task, its azimuth can be determined according to preset rules. For example, its azimuth can be set to be the same as the azimuth of the trajectory point that is immediately adjacent to it in time sequence. In this way, it can be ensured that each trajectory point has a corresponding azimuth, thereby avoiding the inability to calculate its azimuth at the beginning of the data due to the inability to obtain the previous adjacent or similar trajectory points. In addition, the embodiment of the present disclosure can calculate the azimuth information of each trajectory point by itself, or directly receive the calculated azimuth information from other devices.
[0038] Figure 2 exemplarily shows three track points A, B, and C of the reference track s, and the arrow direction of the reference track s indicates the direction of time. The angle between the line connecting the track points A and B and the reference direction RF can be used as the azimuth angle α1 of the track point B. The angle between the line connecting the track points B and C and the reference direction RF is defined as the azimuth angle α2 of the track point C.
[0039] If trajectory point A is the starting trajectory point of the reference trajectory (for example, the earliest trajectory point in a data collection task), since it has no previous trajectory point, its azimuth can be set to be the same as the azimuth of the next adjacent trajectory point (for example, the azimuth α1 of trajectory point B), or it can be determined in other customized ways.
[0040] In other embodiments, the azimuth of a trajectory point may be determined by the angle between the direction of the line connecting the trajectory point and the next trajectory point adjacent to it in time sequence and the reference direction RF. For example, the azimuth of trajectory point A may be defined as the angle between the direction of the line connecting A and the next trajectory point B and the reference direction RF, and so on. In other embodiments, the azimuth of a trajectory point may be determined by the angle between the direction of the line connecting the trajectory point and non-adjacent trajectory points and the reference direction RF, such as predetermined trajectory points, starting trajectory points, or trajectory points separated by a predetermined number of points in the target trajectory. In yet other embodiments, the azimuth of a trajectory point may be determined by the angle between the line connecting the adjacent trajectory points on both sides of the trajectory point and the reference direction. For example, the azimuth of trajectory point B may be defined as the angle between the direction of the line connecting A and C and the reference direction RF.
[0041] In some embodiments, method 100 may further include the steps of: pre-encoding the geographic space using a geocoding method, dividing the geographic space into grids, and generating a geocode (also referred to as a code string) for each grid. A grid may be a rectangular area, or a circular area. There may or may not be overlapping areas between different areas, and the embodiments of the present disclosure are not limited thereto. Different division levels can obtain grid sizes of different sizes, and each level of grid has its corresponding size setting and different code lengths. Generally speaking, the size of a first-level grid is the largest, and the larger the grid level, the smaller the grid size and the longer the code length. The coordinate points in the same grid all share the code string of the grid. For example, if a grid is coded as y8n7c597qqv2, the geocode of each coordinate point in the grid can adopt the geocode y8n7c597qqv2 of the grid. At the same time, the geocoding method has a characteristic: if the codes with the same prefix string are in the same grid, then by entering a geocode, all coordinate points in the grid corresponding to the code can be found. For example, y8n7c597qqv2 and y8n7c597asdw have the same prefix y8n7c597, which means that the coordinate points that can encode these two code values are both within the rectangle represented by y8n7c597, and the rectangle corresponding to y8n7c597 must completely contain the rectangle corresponding to y8n7c597qqv2.
[0042] In one implementation, the geocoding method may adopt any existing geocoding method, such as Geohash coding, which encodes the longitude and latitude coordinates into a string. For example, the result of the coordinate encoding (121.335, 45.679) may be y8n7c597qqv2, which means that the coordinate point is located in the rectangular area represented by the encoding result. Based on this, each reference track point and each target track point also have a corresponding encoding string. The encoding string of each track point represents a geographical area where the point is located, and the length of the encoding string is positively correlated with the size of the geographical area.
[0043] The target area where the reference track point is located is also the grid area of a certain level where the reference track point is located. Those skilled in the art can determine the grid level corresponding to the target area as needed, such as selecting the size of the six-level grid as the size of the target area.
[0044] In some embodiments, Figure 3 As shown, step S120 of selecting a target trajectory point located in the target area where the reference trajectory point is located from a plurality of target trajectory points may include:
[0045] Step S310: generating a code string for each target trajectory point among a plurality of target trajectory points;
[0046] Step S320: generating a code string for each reference track point among the plurality of reference track points;
[0047] Step S330: determining a first prefix character string from the code character string of the reference track point according to a preset code length, the prefix character string representing the target area where the reference track point is located; and
[0048] Step S340: Selecting a target trajectory point whose encoding string has a first prefix string from a plurality of target trajectory points, thereby obtaining a target trajectory point in a target area.
[0049] For example, if the target trajectory t includes three target trajectory points D, E, and F, the encoding strings corresponding to these three target trajectory points are y8n7, y8nw, and 5gz7 respectively. If the first prefix string is y8, then the trajectory points D and E whose encoding strings have the first prefix string y8 are the selected target trajectory points. Assuming that the rectangle corresponding to y8 is a rectangle with a side length of 100m, then points D and E must be within the rectangle, and the distance between points D and E is less than 141m (the length of the rectangle diagonal). Here, just for the sake of distinction, the prefix string used to represent the target area is referred to as the first prefix string, and the prefix string used to represent the adjacent area is referred to as the second prefix string hereinafter. The two prefix strings have the same preset encoding length. In addition, considering that the encoding string of each geographical area may be known, the encoding string of the trajectory point can be obtained by directly obtaining the encoding string of the geographical area where the trajectory point is located from other devices.
[0050] Wherein, step S340 of selecting a target trajectory point whose encoding string has a first prefix string from a plurality of target trajectory points comprises:
[0051] S341: Generate an index tree of the target trajectory according to the coded character strings respectively corresponding to the multiple target trajectory points, wherein the length of the coded character string corresponds to the number of layers of the index tree, and each character represents a node in the index tree; and
[0052] S342: Starting from the root node of the index tree, select the target track point corresponding to the encoding string having the first prefix string in the index tree.
[0053] Figure 4 A schematic diagram of an index tree according to an embodiment of the present disclosure is shown, wherein the index tree has a root node root, the first layer connected to the root node represents the first character position of the encoded string, the second layer represents the second character position of the encoded string, and the last layer of the index tree represents the last character position of the encoded string, and multiple trajectory points with the same prefix string will be on the same branch. If all points use the maximum encoding accuracy in the geocoding method, the number of nodes in the last layer represents the number of trajectory points in the target trajectory. Multiple trajectory points with the same prefix string will be on the same branch. Figure 3 The index tree composed of three trajectory points is only exemplarily shown in FIG. 1 . It should be understood that the index tree may also include nodes of other trajectory points and may also include more levels.
[0054] In step S342, assuming that the first prefix character string is y8, starting from the root node, select the character string with the character string y8, that is, select the two track points on the branch 1 on the left.
[0055] In other embodiments, Figure 5 As shown, step S120 of selecting a target trajectory point located in the target area where the reference trajectory point is located from a plurality of target trajectory points may also include:
[0056] Step S510: determining the target area where the reference track point is located and the adjacent area of the target area; and
[0057] Step S520: selecting target trajectory points located in the target area where the reference trajectory point is located and in an area adjacent to the target area from the plurality of target trajectory points.
[0058] It is known that the target area where the reference track point is located is also the grid area of a certain level where the reference track point is located, and the adjacent area of the target area is the adjacent grid area of the grid area of the same level.
[0059] Wherein, determining the adjacent area of the target area in step S510 includes: determining the orientation of the reference trajectory point according to the azimuth of the reference trajectory point in the reference trajectory, and determining the adjacent areas located on both sides of the target area in the vertical direction of the orientation.
[0060] The orientation can be an orientation in eight directions or four directions. The eight directions are north, northeast, east, southeast, south, southwest, west, and northwest. The four directions are southeast, northwest, and northeast. The orientation that the line connecting the reference track point and the adjacent point is closer to is the orientation of the reference track point. If the angle between the line connecting the reference track point and the adjacent point and the true north direction is 10 degrees, then the reference track point faces the true north. In the vertical direction of the true north direction, that is, in the east-west direction, determine the adjacent areas on the left and right sides of the target area where the reference track point is located. If the reference track point faces the true east, determine the adjacent areas on the upper and lower sides of the target area in the north-south direction.
[0061] Further, step S520 selects target trajectory points located in the target area and the adjacent area from the multiple target trajectory points, including: selecting target trajectory points located in the target area and the adjacent area that have not been determined as associated trajectory points from the multiple target trajectory points. This is mainly to exclude those points that have been determined as associated trajectory points of the reference trajectory to avoid repeated judgment.
[0062] Figure 6 A schematic diagram of the adjacent area of the target area according to an embodiment of the present disclosure is shown. The reference track s includes reference track points A, B, C, etc. The target area where the reference track point B is located is grid #1. The direction of the reference track point B is north, and the two adjacent grids #2 and #3 of grid #1 are determined in the east-west direction. If the target track t has 100 target track points, step S120 needs to select track points located in grid #1, grid #2 and grid #3 from these 100 target track points. Figure 4As shown, the trajectory point H on the target trajectory t is located in grid #1, the trajectory points I and G are located in adjacent grids, and these three points have not yet been determined as associated trajectory points of a certain reference trajectory point, then step S520 can select the target trajectory points H, I, G.
[0063] In one implementation, Figure 7 As shown, step S520 selects the target track point in the adjacent area including:
[0064] Step S710: Generate a code string for the adjacent area. The length of the code string may be the same as or different from the length of the code string for the target area, as long as the length of the code string is greater than or equal to a preset code length.
[0065] Step S720: determining a second prefix string from the code strings of the adjacent regions according to a preset code length, wherein the code length of the second prefix string is the same as that of the first prefix string;
[0066] Step S730: for multiple target trajectory points, respectively obtain the encoding string of the area where each target trajectory point is located as the encoding string of the target trajectory point; and
[0067] Step S740: Selecting a target trajectory point whose encoding string has a second prefix string from a plurality of target trajectory points, thereby obtaining a target trajectory point in an adjacent area.
[0068] If the coding string of the adjacent area is 5gz7, and the preset coding length is the length of the first prefix string, i.e., two digits, then the second prefix string is determined to be 5g according to the preset coding length, and then the trajectory point with the second prefix string in the target trajectory is determined to be the selected trajectory point.
[0069] It should be noted that the above article first generates a code string for each geographical area, or each reference track point, or each target track point, and then determines a prefix string according to a preset code length, and the points with the same prefix string represent the points to be selected. In another implementation of the embodiment of the present disclosure, at the stage of generating a code string, a code string of corresponding bits can also be directly generated according to a preset code length, and the points with the same code string represent the points to be selected.
[0070] Specifically, if Figure 8 As shown, step S120 of selecting a target trajectory point located in the target area where the reference trajectory point is located from a plurality of target trajectory points may also include:
[0071] Step S810: generating a code string for each target trajectory point among a plurality of target trajectory points according to a preset code length;
[0072] Step S820: generating a code string for each reference track point in the plurality of reference track points according to a preset code length;
[0073] Step S830: Select a target trajectory point having the same encoding string as the reference trajectory point from the plurality of target trajectory points, thereby obtaining a target trajectory point in the target area. Specifically, select a target trajectory point having the same encoding string as the reference trajectory point and not yet determined as an associated trajectory point from the plurality of target trajectory points.
[0074] Then step S520 of selecting the target track point in the adjacent area may also include:
[0075] Generate a code string of the adjacent area according to a preset code length, the length of the code string is the same as the length of the code string of the target area; and select a target track point having the same code string as the adjacent area from a plurality of target track points, thereby obtaining a target track point in the adjacent area. Further, select a target track point having the same code string as the adjacent area and not yet determined as an associated track point from a plurality of target track points, thereby obtaining a target track point in the adjacent area.
[0076] After the selected target trajectory points are determined in step S120, it can be determined in step S130 whether each selected target trajectory point has an approximate relationship with the reference trajectory point.
[0077] In some embodiments, step S130 includes:
[0078] Step S131: in response to the distance between the selected target trajectory point and the reference trajectory point being less than or equal to a first threshold and the azimuth difference being less than or equal to a second threshold, determining that the selected target trajectory point and the reference trajectory point have an approximate relationship; and
[0079] Step S132: In response to the distance between the selected target trajectory point and the reference trajectory point being greater than a first threshold or the azimuth difference being greater than a second threshold, determining that there is no approximate relationship between the target trajectory point and the reference trajectory point.
[0080] In some embodiments, step S130 further includes:
[0081] Calculate the azimuth offset between the selected target trajectory point and the reference trajectory point;
[0082] In response to the azimuth offset being less than or equal to a second threshold, calculating a distance between the selected target trajectory point and the reference trajectory point; and
[0083] In response to the distance being less than or equal to the first threshold, it is determined that the selected target trajectory point has an approximate relationship with the reference trajectory point.
[0084] The first threshold and the second threshold can be set as needed, for example, the first threshold is 100m and the second threshold is 10 degrees, but it is certainly not limited thereto.
[0085] The target trajectory points that have an approximate relationship with each reference trajectory point on the reference trajectory s are determined as associated trajectory points of the reference trajectory s. These associated trajectory points can be deleted from the multiple target trajectory points of the target trajectory to determine which other trajectory points are associated trajectory points of the reference trajectory s from the remaining target trajectory points. Then step S120 of selecting the target trajectory point may include: selecting a target trajectory point that has not been determined as an associated trajectory point and is located in the target area from the multiple target trajectory points. Further, the trajectory point determined as an associated trajectory point can be marked as an associated trajectory point, and step S120 can select a target trajectory point that has not been marked as an associated trajectory point and is located in the target area from the multiple target trajectory points.
[0086] In some embodiments, method 100 may include the steps of:
[0087] Traversing starts from the predetermined track point of the reference track, and for each reference track point traversed, determining the target track point that has an approximate relationship with the reference track point, and deleting the target track point that has an approximate relationship from the target track to obtain an updated target track. Afterwards, it can be determined which track points are associated tracks of the reference track based on the updated target track. If the reference track has multiple tracks, the multiple tracks can be obtained at one time, and each reference track point in each track can be traversed in turn according to the timestamp order of the reference track points in each track to determine which target track points in the target track are associated track points of the reference track.
[0088] The associated track points can also be understood as approximate track points. Since the map of the reference track has been generated before, in one implementation, the associated track points of a reference track can be ignored, that is, the road environment data related to the associated track points are discarded. In another implementation, the associated track points in the target track can be connected to obtain the associated track of the reference track, and the road map corresponding to the reference track can be updated according to the road environment data corresponding to the associated track.
[0089] In some embodiments, because each reference track point has a timestamp, the traversal can be performed in the order of the timestamps of the multiple reference track points. The predetermined track point can be the starting track point or the ending track point among the multiple reference track points, that is, the track point with the smallest or largest timestamp. Of course, the predetermined track point can also be a track point arbitrarily selected by the developer.
[0090] Each time a reference track point is traversed, it is determined which points in the target track have an approximate relationship with the reference track point. After all track points are traversed, it can be determined which points in the target track are associated track points of the reference track, and the remaining points that are not associated with the reference track are difference track points of the reference track. In other words, if a target track point does not have an approximate relationship with all track points of the reference track, then the target track point can be considered to be a difference track point of the reference track, and a new road map needs to be generated based on the difference track point. Alternatively, after completing the traversal of a reference track, the target track points in the target track that are not marked as associated track points are determined as difference track points, and the mark of the difference track point is added.
[0091] Therefore, if Fig. 9 As shown, the method 100 may further include the steps of:
[0092] S910: taking a target trajectory point among the plurality of target trajectory points that has no approximate relationship with each of the plurality of reference trajectory points as a difference trajectory point;
[0093] S920: Connecting the difference trajectory points in the target trajectory to obtain the difference trajectory, wherein the connection may be made in the order of timestamps of the multiple points; and
[0094] S930: Generate a road map corresponding to the difference trajectory according to the road environment data corresponding to the difference trajectory.
[0095] Note though Fig. 9 The three steps in are depicted as independent blocks and appear to be separate steps, but these steps should not be understood as having to be performed in the order shown. In some embodiments, steps S120, S130, and S140 can be looped multiple times, and each loop will determine whether a reference trajectory point has a target trajectory point that has an approximate relationship with it. After completing the classification of multiple trajectory points of the target trajectory, the disclosed embodiment can also integrate the difference trajectory points of the reference trajectory with related road environment data (such as point clouds, pictures, and videos, etc.), and generate a corresponding data packet. The data packet may include comprehensive map information corresponding to the difference trajectory.
[0096] Fig.10 FIG. 1 is a flow chart of a trajectory point processing method 1000 according to another embodiment of the present disclosure. Fig.10 As shown, method 1000 includes steps S1010 to S1080.
[0097] Step S1010: respectively obtain a reference track and a target track. Specifically, multiple reference tracks and multiple target tracks can be obtained, and processing multiple tracks at one time can improve the efficiency of mapping.
[0098] Step S1020: Calculate the azimuth of each reference track point of the reference track and each target track point of the target track respectively. In the disclosed embodiment, the azimuth of a point in a track includes the angle between the line connecting the point and the adjacent point and the reference direction. The orientation of a point represents the orientation of the eight directions or four directions that the line connecting the point and the adjacent point is closest to.
[0099] Step S1030: Calculate the code string of each reference trajectory point and each target trajectory point respectively. Considering that the code string of each geographical area may have been pre-generated and stored, the code string of the geographical area where each reference trajectory point and target trajectory point are located can be directly obtained in step S1030. Of course, step S530 can also determine the code string of each reference trajectory point and each target trajectory point according to the preset code length.
[0100] Step S1040: Determine the index tree of the target trajectory according to the encoding strings of the multiple target trajectory points. The target trajectory includes multiple target trajectory points, each of which has a corresponding encoding string, so starting from the root node, the encoding strings of the multiple target trajectory points can be connected one by one to form the index tree of the target trajectory.
[0101] Step S1050: Determine the prefix string of each reference track point according to the preset code length. Those skilled in the art can determine the value of the preset code length as needed, for example, it can be 3 characters or 4 characters, and the present disclosure does not limit this.
[0102] Step S1060: For any reference trajectory point, select a target trajectory point located in a target area and an adjacent area where the reference trajectory point is located from a plurality of target trajectory points. In one implementation, this step may determine a first prefix string of the reference trajectory point, and determine a second prefix string from a code string of an adjacent area according to the same preset code length, so as to select a target trajectory point having the first prefix string or the second prefix string from a plurality of target trajectory points.
[0103] Step S1060: Determine whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point according to the spatial position relationship between the selected target trajectory point and the reference trajectory point. The spatial position relationship includes a distance relationship and an azimuth difference.
[0104] Step S1070: determining a target trajectory point that has an approximate relationship with the reference trajectory point as an associated trajectory point of the reference trajectory, and marking the target trajectory point as an associated trajectory point.
[0105] Step S1080: The target trajectory point that has no approximate relationship with multiple reference trajectory points is determined as a difference trajectory point of the reference trajectory, and the target trajectory point can be marked as a difference trajectory point. The target trajectory point can be marked with a binary value of 0 / 1, such as the associated trajectory point is marked as 0 and the difference trajectory point is marked as 1, and of course it can also be reversed. Because the trajectory points of a trajectory have a timestamp order, the marked difference trajectory points or associated trajectory points also have a corresponding timestamp order. The difference trajectory points in a trajectory can be connected in the timestamp order, and the associated trajectory points can be connected. In addition, each target trajectory point maintains a corresponding relationship with the target trajectory to which it originally belongs, so when connecting, it is also connected according to the trajectory points belonging to the same trajectory. This can avoid the trajectory points that originally belonged to different trajectories being connected to produce a trajectory that did not originally exist.
[0106] In addition, in step S1060, the predetermined track point of the reference track can be started, and the multiple track points can be traversed in the order of the timestamps. Each traversal determines the target track point that has an approximate relationship with the current reference track point, and removes the target track point that has an approximate relationship from the target track to obtain an updated target track. Continue to traverse the next reference track point until all reference track points have been traversed, and the remaining target track points that have not been determined as associated track points are difference track points, and the map of the corresponding road section needs to be generated based on these difference track points.
[0107] Moreover, in some embodiments, after the traversal of the target trajectory is completed, the isolated trajectory point in the target trajectory can also be identified, that is, the category attributes of the two trajectory points on the left and right sides of the middle trajectory point (i.e., the point in the target trajectory that is neither the starting point nor the end point) are different from the category attributes of the trajectory point, or the category attribute of the trajectory point on the adjacent side of the starting point or the end point is different from the category attribute of the trajectory point, which means that the point is an isolated trajectory point, and the category attribute of the isolated trajectory point is changed to the category attribute of the adjacent trajectory point, so as to prevent the occurrence of isolated points when connecting the trajectory points. For example, the starting trajectory point 1 of a trajectory is a difference trajectory point, and the trajectory points 2-30 are all associated trajectory points, then the attribute of the trajectory point 1 is changed from a difference trajectory point to an associated trajectory point, and the trajectory points 1-30 are connected to form an associated trajectory. In the embodiment of the present disclosure, the attribute of the isolated trajectory point can be changed first, and then the adjacent trajectory points with the same attribute are connected; of course, the adjacent trajectory points with the same attribute can also be connected first, and then the attribute of the isolated trajectory point is changed, and the previous connection is corrected.
[0108] Fig.11 A schematic diagram of a reference trajectory and a target trajectory according to an embodiment of the present disclosure is shown. Fig.12 For Fig.11 Schematic diagram of the associated and differential trajectory points identified in . Fig.11 The middle circle represents the reference track point, and the triangle represents the target track point. The reference track includes 6 reference track points P1-P6, and the target track includes 14 target track points Q1-Q14. There are some overlapping sections between the two tracks. Through the track point processing method of the embodiment of the present disclosure, it is determined that the target track points Q1 and Q9-Q14 are the difference track points of the reference track, and Q2-Q8 are the associated track points of the reference track. Then Q1 is an isolated track point, and its attribute is changed to an associated track point. The track points Q1-Q8 are connected by solid lines as the associated track, and the track points Q9-Q14 are connected by dotted lines as the difference track.
[0109] In addition, the trajectory point processing method according to the embodiment of the present disclosure may further include the following steps:
[0110] Take any track point in the target track as the current track point:
[0111] Selecting a target trajectory point located in a target area where the current trajectory point is located from a plurality of target trajectory points;
[0112] Determine the category attribute of the selected target trajectory point according to a first azimuth offset between the selected target trajectory point and the current trajectory point, and the category attribute of the current trajectory point, wherein the category attribute includes a first category and / or a second category;
[0113] Connect adjacent target trajectory points whose category attributes are all the first category in the target trajectory to obtain one or more first category trajectories;
[0114] Adjacent target trajectory points whose category attributes are all the second category in the target trajectory are connected to obtain one or more second category trajectories.
[0115] Among them, the first category can be considered as an uplink point, and the second category can be considered as a downlink point, or vice versa. Determining the category attribute of the selected target trajectory point according to the first azimuth offset between the selected target trajectory point and the current trajectory point, and the category attribute of the current trajectory point specifically includes: in response to the first azimuth offset being in the first interval range, determining that the selected target trajectory point and the current trajectory point have the same category attribute; and in response to the first azimuth offset being in the second interval range, determining that the selected target trajectory point and the current trajectory point have different category attributes. Those skilled in the art can set the values of the first interval range and the second interval range as needed. The first interval range is a numerical interval greater than or equal to the first threshold and less than or equal to the second threshold, and the second interval range is a numerical interval greater than or equal to the third threshold and less than or equal to the fourth threshold. The values of the first to fourth thresholds can be set as needed, for example, the first interval range can be [0°, 10°], and the second interval range can be [170°, 180°], of course, not limited to this.
[0116] In some embodiments, each target trajectory point has a timestamp, and the category attribute of the current trajectory point can be determined in the following manner: starting from a predetermined trajectory point (such as a starting trajectory point, an ending trajectory point, or a specified trajectory point) among multiple target trajectory points in the order of increasing or decreasing timestamps, and determining the category attribute of each traversed target trajectory point in turn, wherein the attribute of the predetermined trajectory point is a preset attribute (such as the first category by default, or the category attribute of the nearest point with a known category attribute in the opposite direction of the traversal, if the nearest point is a first category point, then the predetermined trajectory point is also a first category point).
[0117] Furthermore, if the category attribute of the current trajectory point has been determined in the previous traversal process, the category attribute can be directly used. If the category attribute is still unknown, it can be determined in the following way:
[0118] Determine the previous trajectory point of the current trajectory point in the target trajectory;
[0119] The category attribute of the current track point is determined according to the second azimuth offset of the current track point and the previous track point, and the category attribute of the previous track point. Specifically: in response to the second azimuth offset being within the first interval range, it is determined that the current track point and the previous track point have the same category attribute; and in response to the second azimuth offset being within the second interval range, it is determined that the current track point and the previous track point have different category attributes.
[0120] In some embodiments, a target trajectory point located in the target area where the current trajectory point is located is selected from multiple target trajectory points of the target trajectory, and a coding string of the target area can be generated as a third prefix string according to a preset coding length, and a target trajectory point whose coding string has the third prefix string is selected from multiple target trajectory points. Further, a target trajectory point located in the target area and adjacent area where the current trajectory point is located can be selected from multiple target trajectory points, and a coding string of an adjacent area of the target area can be generated as a fourth prefix string according to a preset coding length, and a target trajectory point whose coding string has the third and fourth prefix strings is selected from multiple target trajectory points. Further, the embodiment of the present disclosure can also start from the root node of the index tree corresponding to the target trajectory, and select the target trajectory point corresponding to the coding string having the third and / or fourth prefix string in the index tree. The target area and adjacent area where the target trajectory point is located can also adopt the calculation method of the target area and adjacent area where the aforementioned reference trajectory point is located, which will not be repeated here. It should be noted that when selecting the target trajectory point in the target area and adjacent area, the point whose category attribute has not yet been determined is selected, and the point whose category attribute has been determined does not need to be selected again.
[0121] If multiple target tracks are imported at one time in step S110, when traversing target track 1, in step S140, not only track points of target track 1 but also track points in other tracks may be selected. Each time traversal is performed, one or more track points on the same track or different tracks are selected based on the currently traversed track points, so as to determine the category attributes of the one or more track points according to the current track points.
[0122] Another possible situation is that multiple target tracks are imported at one time. When traversing based on track 1, the category attributes of most track points of track 2 may be determined at the same time, and the category attributes of some track points of track 2 have not been determined. Then the method 100 may also include the step of: for the target track to be traversed, starting the traversal from the starting point or the ending point of the track segment whose category attributes have not been determined in the target track, and the starting point or the ending point adopts the category attributes of the adjacent points whose category attributes have been determined.
[0123] It can be seen that each time the embodiment of the present disclosure traverses to a target trajectory point, it determines which points in the target trajectory have the same category attributes and different category attributes as the target trajectory point, and the points whose category attributes have been determined no longer participate in the subsequent traversal process. After all target trajectory points are traversed, the first-class points and the second-class points in the target trajectory, as well as the first-class trajectory composed of continuous first-class points and the second-class trajectory composed of continuous second-class points can be determined, and road maps of corresponding sections can be generated according to the first-class trajectory and the second-class trajectory, respectively. Moreover, in some embodiments, after the traversal of the target trajectory is completed, isolated trajectory points in the target trajectory can also be identified, and the category attributes of the isolated trajectory points can be changed to the category attributes of the adjacent trajectory points, so as to prevent the appearance of isolated points when connecting trajectory points.
[0124] The embodiments of the present disclosure further provide a computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by a computer, the computer executes the trajectory point processing method in any of the above embodiments.
[0125] Fig.13A diagram of a machine in the form of an example of a computing device 1300 is shown, which may be a control computer system on a vehicle, or may be other computing devices on a vehicle or remotely. In the computing device, the instruction set when executed and / or the processing logic when started may enable the machine to perform any one or more of the methods described and / or required herein. In an alternative embodiment, the machine operates as a standalone device, or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate as a server or client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a laptop computer, a tablet computing system, a personal digital assistant (PDA), a cellular phone, a smart phone, a network application, a set-top box (STB), a network router, a switch or a bridge, or any machine capable of executing an instruction set (in succession or otherwise) or starting processing logic specifying the action to be taken by the machine. Further, while a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets of instructions) to perform any one or more of the methodologies described and / or claimed in this document.
[0126] The example computing device 1300 may include a data processor 1302 (e.g., a system-on-chip (SoC), a general processing core, a graphics core, and optional other processing logic) and a memory 1304 (e.g., memory) that may communicate with each other via a bus 1306 or other data transfer system. The computing device 1300 may also include various input / output (I / O) devices and / or interfaces 1310, such as a touch screen display, an audio jack, a voice interface, and an optional network interface 1312. In an example embodiment, the network interface 1312 may include one or more radio transceivers configured to communicate with any one or more standard wireless and / or cellular protocols or access technologies (e.g., second generation (2G), 2.5 generation, third generation (3G), fourth generation (4G) and next generation radio access of cellular systems, global system for mobile communications (GSM), general packet radio service (GPRS), enhanced data GSM environment (EDGE), wideband code division multiple access (WCDMA), LTE, CDMA2000, WLAN, wireless router (WR) mesh, etc.). The network interface 1312 may also be configured for use with a variety of other wired and / or wireless communication protocols, including TCP / IP, UDP, SIP, SMS, RTP, WAP, CDMA, TDMA, UMTS, UWB, WiFi, WiMax, Bluetooth, IEEE802.11x, etc. In essence, the network interface 1312 may include or support virtually any wired and / or wireless communication and data processing mechanism by which information / data may be communicated between the computing device 1300 and another computing or communication system via the network 1314.
[0127] The memory 1304 may represent a machine-readable medium (or computer-readable storage medium) on which is stored one or more instruction sets, software, firmware, or other processing logic (e.g., logic 1308) that implements any one or more of the methods or functions described and / or claimed herein. During execution by the computing device 1300, the logic 1308 or a portion thereof may also be disposed entirely or at least partially within the processor 1302. As such, the memory 1304 and the processor 1302 may also constitute a machine-readable medium (or computer-readable storage medium). The logic 1308 or a portion thereof may also be configured as processing logic or logic that is at least partially implemented in hardware. The logic 1308 or a portion thereof may also be transmitted or received over the network 1314 via the network interface 1312. Although the machine-readable medium (or computer-readable storage medium) of the example embodiments may be a single medium, the term "machine-readable medium" (or computer-readable storage medium) should be understood to include a single non-transitory medium or multiple non-transitory media (such as centralized or distributed databases and / or associated caches and computing systems) that store one or more instruction sets. The term "machine-readable medium" (or computer-readable storage medium) may also be understood to include any non-transitory medium that can store, encode, or carry an instruction set for machine execution and cause the machine to perform any one or more of the methods of the various embodiments or that can store, encode, or carry data structures utilized by or associated with such an instruction set. The term "machine-readable medium" (or computer-readable storage medium) may therefore be understood to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0128] The disclosed and other embodiments, modules, and functional operations described in this document may be implemented in digital electronic circuit systems, or in computer software, firmware or hardware (including the structures disclosed in this document and their structural equivalents), or in a combination of one or more of them. The disclosed and other embodiments may be implemented as one or more computer program products, that is, one or more modules of computer program instructions encoded on a computer-readable medium to be executed by a data processing device or to control the operation of the data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a material composition that affects a machine-readable propagation signal, or a combination of one or more of them. The term "data processing device" covers all devices, equipment, and machines for processing data, including, for example, a programmable processor, a computer or multiple processors or computers. In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagation signal is an artificially generated signal, such as an electrical signal, an optical signal, or an electromagnetic signal generated by a machine, which is generated to encode information to be transmitted to a suitable receiver device.
[0129] A computer program (also referred to as a program, software, software application, script, or code) can be written in any form of programming language (including compiled or interpreted languages), and the computer program can be deployed in any form, including being deployed as an independent program or as a module, component, subroutine, or another unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), or in a single file dedicated to the program under discussion, or in multiple collaborative files (e.g., files storing one or more modules, subroutines, or partial codes). A computer program may be deployed to be executed on one computer or on multiple computers located at one site or distributed in multiple sites and interconnected by a communication network.
[0130] The processes and logic flows described in this document may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by a dedicated logic circuit system (e.g., FPGA (field programmable gate array) or ASIC (application-specific integrated circuit)), and the apparatus may also be implemented as a dedicated logic circuit (e.g., FPGA (field programmable gate array) or ASIC (application-specific integrated circuit)).
[0131] Processors suitable for executing computer programs include, for example, both general-purpose microprocessors and special-purpose microprocessors and any one or more processors of any kind of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The necessary elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (such as magnetic disks, magneto-optical disks, or optical disks) for storing data, or the computer will also be operatively connected to receive data from the one or more mass storage devices or to transfer data to the one or more mass storage devices or to perform both. However, the computer does not need to have such a device. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by a dedicated logic circuit system or may be incorporated into the dedicated logic circuit system.
[0132] Although the present disclosure includes many details, these details should not be interpreted as limitations on the scope of any disclosure or content that may be claimed, but rather as descriptions of features that may be directed to a particular embodiment of a particular disclosure. Certain features described in the context of a separate embodiment in the present disclosure may also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination. In addition, although the features may be described above as working in certain combinations and initially even claimed for these features, one or more features from the claimed combination may be deleted from the combination in some cases, and the claimed combination may be directed to a sub-combination or a variation of the sub-combination.
[0133] Similarly, although operations are depicted in a particular order in the drawings, it should not be understood that such operations must be performed in the particular order shown or in a sequential order, or that all illustrated operations must be performed to achieve the desired results. In addition, the separation of various system components in the embodiments described in this disclosure should not be understood as requiring such separation in all embodiments.
[0134] Only a few implementations and examples are described, and other implementations, enhancements, and variations may be made based on what is described and illustrated in this disclosure.
[0135] The description of the embodiments described herein is intended to provide a general understanding of the structures of various embodiments, and they are not intended to be used as a complete description of all elements and features of the components and systems that may utilize the structures described herein. For those of ordinary skill in the art, many other embodiments will be apparent after reviewing the description provided herein. Other embodiments may be utilized and derived so that structural and logical replacements and changes may be made without departing from the scope of the present disclosure. The figures herein are representative only and may not be drawn to scale. Certain ratios may be increased, while other ratios may be minimized. Therefore, the specification and the accompanying drawings will be considered illustrative rather than restrictive.
[0136] Some embodiments implement functionality in two or more specific interconnected hardware modules or devices, with relevant control and data signals communicated between and through the modules, or as part of an application specific integrated circuit. Thus, the example system is suitable for software, firmware, and hardware implementations.
[0137] Although exemplary embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the exemplary discussion above is not intended to be exhaustive or to limit the present disclosure to the specific forms disclosed. Based on the above teachings, many modifications and variations are possible. Therefore, the disclosed subject matter should not be limited to any single embodiment or example described herein, but should be interpreted according to the breadth and scope of the attached claims.
Claims
1. A trajectory point processing method, comprising: Acquire a target trajectory and a reference trajectory respectively, wherein the target trajectory includes a plurality of target trajectory points, and the reference trajectory includes a plurality of reference trajectory points; For any reference track point in the reference track: Selecting a target trajectory point located in the target area where the reference trajectory point is located from the multiple target trajectory points; Determining whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point according to the spatial position relationship between the selected target trajectory point and the reference trajectory point; as well as In response to the selected target trajectory point having an approximate relationship with the reference trajectory point, the selected target trajectory point is determined to be an associated trajectory point of the reference trajectory.
2. The method of claim 1, further comprising: taking a target trajectory point among the plurality of target trajectory points which has no approximate relationship with each of the plurality of reference trajectory points as a difference trajectory point; Connecting the difference trajectory points in the target trajectory to obtain the difference trajectory of the reference trajectory; as well as A road map corresponding to the difference trajectory is generated according to the road environment data corresponding to the difference trajectory.
3. The method of claim 1, further comprising: Connecting the associated track points in the target track to obtain an associated track of the reference track; The road map corresponding to the reference trajectory is updated according to the road environment data corresponding to the associated trajectory.
4. The method of claim 1, wherein: The spatial position relationship includes at least one of a distance relationship and an azimuth offset, and the azimuth offset includes a difference between azimuths corresponding to two points.
5. The method of claim 4, wherein: The azimuth of each target trajectory point includes the angle between the connecting direction between the target trajectory point and its adjacent target trajectory point and the reference direction; The azimuth of each reference track point includes an angle between a direction of a line connecting the reference track point and its adjacent reference track point and a reference direction.
6. The method of claim 4, wherein: Determining whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point according to the spatial position relationship between the selected target trajectory point and the reference trajectory point includes: In response to the distance between the selected target trajectory point and the reference trajectory point being less than or equal to a first threshold and the azimuth offset being less than or equal to a second threshold, it is determined that the selected target trajectory point and the reference trajectory point have an approximate relationship.
7. The method of claim 4, wherein: Determining whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point according to the spatial position relationship between the selected target trajectory point and the reference trajectory point includes: In response to the distance between the selected target trajectory point and the reference trajectory point being greater than a first threshold or the azimuth offset being greater than a second threshold, it is determined that there is no approximate relationship between the selected target trajectory point and the reference trajectory point.
8. The method of claim 4, wherein: Determining whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point according to the spatial position relationship between the selected target trajectory point and the reference trajectory point includes: Calculating the azimuth offset between the selected target trajectory point and the reference trajectory point; In response to the azimuth offset being less than or equal to a second threshold, calculating a distance between the selected target trajectory point and the reference trajectory point; and In response to the distance being less than or equal to a first threshold, it is determined that the selected target trajectory point has an approximate relationship with the reference trajectory point.
9. The method of claim 1, further comprising: Generate a code string for each target trajectory point in the plurality of target trajectory points; Generate a code string for each reference trajectory point in the plurality of reference trajectory points; The encoding string of each trajectory point represents a geographical area where the trajectory point is located, and the length of the encoding string is positively correlated with the size of the geographical area.
10. The method of claim 9, wherein: Selecting a target trajectory point located in the target area where the reference trajectory point is located from the plurality of target trajectory points comprises: Determining a first prefix character string from the code character string of the reference track point according to a preset code length, wherein the first prefix character string represents a target area where the reference track point is located; and A target trajectory point whose encoding string has the first prefix string is selected from the multiple target trajectory points.
11. The method of claim 10, wherein: Determining a target trajectory point whose encoding string has the first prefix string from the plurality of target trajectory points comprises: Generate an index tree of the target trajectory according to the coded character strings respectively corresponding to the multiple target trajectory points, wherein the length of the coded character string corresponds to the number of layers of the index tree, and each character represents a node in the index tree; and Starting from the root node of the index tree, a target trajectory point corresponding to the encoding character string having the first prefix character string in the index tree is selected.
12. The method of claim 1, wherein: Selecting a target trajectory point located in the target area where the reference trajectory point is located from the plurality of target trajectory points comprises: A target trajectory point located in the target area and not yet determined as an associated trajectory point is selected from the multiple target trajectory points.
13. The method of claim 1, wherein: Selecting a target trajectory point located in the target area where the reference trajectory point is located from the plurality of target trajectory points comprises: The target track points located in the target area where the reference track point is located and in the adjacent area of the target area are selected from the multiple target track points.
14. The method of claim 13, wherein: Selecting a target trajectory point located in the target area where the reference trajectory point is located from the plurality of target trajectory points comprises: A target trajectory point located in the target area and the adjacent area and not yet determined as an associated trajectory point is selected from the plurality of target trajectory points.
15. The method of claim 13, further comprising: Determining the orientation of the reference trajectory point according to the azimuth of the reference trajectory point in the reference trajectory; as well as Adjacent areas located on both sides of the target area are determined in a direction vertical to the orientation.
16. The method of claim 13, wherein: Selecting the target trajectory point located in the adjacent area includes: Obtaining a code string of the adjacent area; Determine a second prefix character string from the code character strings of the adjacent area according to a preset code length; For multiple target trajectory points, respectively obtain the encoding string of the area where each target trajectory point is located as the encoding string of the target trajectory point; A target trajectory point whose encoding string has the second prefix string is selected from the multiple target trajectory points.
17. The method of claim 1, further comprising: Traversing from a predetermined track point of the reference track, for each traversed reference track point, determining a target track point that has an approximate relationship with the reference track point; as well as The target trajectory points that have an approximate relationship are deleted from the target trajectory to obtain an updated target trajectory.
18. The method of claim 17, wherein: Each reference track point has a timestamp, and the traversal is performed in a sequence of the timestamps of the multiple reference track points.
19. A computing device comprising a memory, a processor, and computer instructions stored in the memory and executable on the processor, characterized in that: When the processor executes the computer instructions, the method according to any one of claims 1 to 18 is implemented.
20. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by a processor, the method according to any one of claims 1 to 18 is implemented.