Track point processing method, computing device and storage medium

By calculating the azimuth angle of the trajectory point and determining its category attributes, the problem of interference between up and down trajectory data in the navigation map is solved, and the efficiency and accuracy of trajectory point processing are improved.

CN119826841APending Publication Date: 2025-04-15BEIJING TUSEN ZHITU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311294732.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

Technical Problem

When building a high-precision navigation map, the up and down trajectory data of the same road interfere with each other, resulting in ghosting problems, and manual identification and distinction between up and down trajectory is inefficient and error rate is high.

Method used

By obtaining multiple track points in the target trajectory, computing the azimuth angle of each track point, and determining its class attributes based on the spatial positional relationship of the track point, thereby distinguishing up and down tracks.

Benefits of technology

It improves the efficiency of trajectory point processing, reduces the error rate, can effectively distinguish up and down trajectories, and improves the quality of the navigation map construction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119826841A_ABST
    Figure CN119826841A_ABST
Patent Text Reader

Abstract

The invention provides a trajectory point processing method, computing equipment and a storage medium. The method comprises the steps of obtaining a target trajectory comprising a plurality of target trajectory points; calculating the azimuth angle of each target trajectory point in the target trajectory according to the spatial position relationship of the plurality of target trajectory points; taking any target trajectory point in the target trajectory as a current trajectory point; determining the category attribute of the current trajectory point; selecting a target trajectory point located in a target area where the current trajectory point is located from the plurality of target trajectory points; and determining the category attribute of the selected target trajectory point according to the first azimuth angle offset between the selected target trajectory point and the current trajectory point and the category attribute of the current trajectory point. Through the embodiment of the invention, the category attribute of each track point can be automatically identified from the newly collected target track, so that mapping is carried out according to the track points with the same category attribute, and the mapping precision and efficiency are improved.
Need to check novelty before this filing date? Find Prior Art

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, etc.) 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 multiple times on the same road (for example, in the scene of updating the map). The uplink and downlink lanes of the same road usually collect data independently, but the collected road environment data will interfere with each other at certain stages of mapping. Moreover, when the collection vehicle may scan the same object in the uplink and downlink lanes of the same section of road, the point cloud data will have cumulative errors. The cumulative error of the object scanned by the uplink lane after the outbound journey and then returning to the same position on the return journey may be large. At this time, if the same object scanned twice is visualized in the same picture, ghosting may occur. Therefore, it is also necessary to distinguish between the uplink and downlink trajectories.

[0003] Currently, manual recognition is usually used to distinguish uplink and downlink trajectories. However, when the amount of trajectory data is large or the trajectory is complex, the efficiency of manual distinction between uplink and downlink trajectories is low and the error rate is high. In addition, when there are intersections or U-turns in the trajectory, the trajectory may need to be interrupted, but if the trajectory is interrupted too short, it is not conducive to map construction. Therefore, a more intelligent and efficient method for distinguishing uplink and downlink trajectories is needed. Summary of the invention

[0004] To this end, the present disclosure proposes a trajectory point processing method, a computing device, and a storage medium, which can identify the category attributes of each trajectory point in the target trajectory, thereby improving the subsequent mapping efficiency.

[0005] According to one aspect of the present disclosure, a trajectory point processing method is proposed, including: obtaining a target trajectory including multiple target trajectory points; calculating the azimuth of each target trajectory point in the target trajectory according to the spatial position relationship of the multiple target trajectory points; taking any target trajectory point in the target trajectory as a current trajectory point: determining the category attribute of the current trajectory point; selecting a target trajectory point located in a target area where the current trajectory point is located from the multiple target trajectory points; determining 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.

[0006] 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.

[0007] 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.

[0008] According to the scheme of the embodiment of the present disclosure, the category attributes of different trajectory points can be distinguished from one or more imported target trajectories, so as to obtain one or more segments of continuous trajectory points with different category attributes, and the mapping task can be performed based on the continuous trajectory points with the same category attributes. 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 flowchart showing a trajectory point processing method 300 according to another embodiment of the present disclosure is shown.

[0013] Figure 4 A flow chart of selecting target trajectory points from a target trajectory according to an embodiment of the present disclosure is shown.

[0014] Figure 5 A schematic diagram of an index tree according to an embodiment of the present disclosure is shown.

[0015] Figure 6 A flowchart of selecting target trajectory points from a target trajectory according to another embodiment of the present disclosure is shown.

[0016] Figure 7A schematic diagram of determining adjacent areas according to an embodiment of the present disclosure is shown.

[0017] Figure 8 and Fig. 9 A flow chart of selecting target trajectory points from a target trajectory according to another embodiment of the present disclosure is respectively 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 target trajectory according to an embodiment of the present disclosure is shown.

[0020] Fig. 12A and 12B They are shown respectively Fig.11 Schematic diagram of the first and second types of trajectories in the target trajectory.

[0021] Fig.13 A block diagram of a computing device according to one embodiment of the present disclosure is shown. 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 flowchart of a trajectory point processing method 100 according to an exemplary embodiment of the present disclosure is shown. The method 100 may be executed in a computing device, and 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, obtaining a target trajectory including a plurality of target trajectory points.

[0029] Step S120, calculating the azimuth of each target trajectory point in the target trajectory according to the spatial position relationship of the plurality of target trajectory points.

[0030] Step S130: taking any target track point in the target track as a current track point, and determining a category attribute of the current track point.

[0031] Step S140, selecting a target trajectory point located in a target area where the current trajectory point is located from a plurality of target trajectory points.

[0032] Step S150, 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.

[0033] The disclosed embodiments process the collected target trajectory. 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 the laser radar, image data and / or video data collected by the camera, and physical environment information collected by the millimeter wave radar (including but not limited to the relative distance, relative speed, angle, direction between the collection vehicle and other objects).

[0034] 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 also has a unique data identifier. The data collection task includes the road section identifier to be collected, the number of the collection vehicle 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.

[0035] Multiple track points of a data collection task are connected in sequence according to the timestamp order to obtain one or more target tracks. Knowing the coordinate value of each target track point, the azimuth of each target track point in the target track can be calculated in step S120 according to the spatial position relationship between the multiple target track points. Among them, the spatial position relationship includes the coordinate relationship between points, and the azimuth of each target track point includes the angle between the connection direction between the target track point and the reference track point and the reference direction. The reference track point can be an adjacent track point of the target track point on the target track, or it can be the starting track point, the ending track point or the predetermined track point defined by the developer, as long as all track points refer to the same track point to calculate the azimuth. The adjacent here can be adjacent in time sequence, such as the previous track point or the next track point with adjacent timestamps. It should be understood that, considering that the target track obtained in step S110 can be one or more target tracks, the adjacent track points in the embodiment of the present disclosure can refer to adjacent track points on the same target track. The reference direction can be due north on the geographic plane or other specified directions.

[0036] 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.

[0037] Figure 2exemplarily shows three trajectory points A, B, and C of the target trajectory s, and the arrow direction of the target trajectory s indicates the direction of time. The angle between the line connecting the trajectory points A and B and the reference direction RF can be used as the azimuth angle α1 of the trajectory point B. The angle between the line connecting the trajectory points B and C and the reference direction RF is defined as the azimuth angle α2 of the trajectory point C.

[0038] If trajectory point A is the starting trajectory point of the target 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 other customized methods can be used to determine it.

[0039] 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.

[0040] The present disclosure can treat each target trajectory point as a current trajectory point, and judge the category attribute of each target trajectory point one by one, and the category attribute includes but is not limited to the first category and the second category. The first category can also be called a forward point or an upward point; the second category can also be called a reverse point or a downward point. It should be noted that the first category and the second category, forward and reverse, upward or downward are only relative concepts, and do not specifically refer to which of the eight directions the direction is. It is just that from the final presentation result, a complete trajectory from beginning to end is divided into segments of the first category and the second category.

[0041] In some embodiments, step S130 of determining the category attribute of the current track point includes:

[0042] Determine the previous trajectory point of the current trajectory point in the target trajectory;

[0043] 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.

[0044] Wherein, each trajectory point has a timestamp, and the trajectory points on the same target trajectory can be traversed in the order of increasing or decreasing timestamps, and the previous trajectory point of each current trajectory point is determined according to the traversal order, and the category attribute of the next trajectory point is determined according to the category attribute of the previous trajectory point. The traversal can start from a predetermined trajectory point among multiple target trajectory points, and the category attribute of the predetermined trajectory point can be a preset attribute, and the preset attribute can be the first category (that is, the predetermined trajectory point is defaulted to be a forward point or an upward point). The predetermined trajectory point can be the trajectory point with the smallest or largest timestamp in the target trajectory, that is, the starting trajectory point or the ending trajectory point of the target trajectory. The azimuth offset includes but is not limited to the azimuth difference, that is, the difference in the azimuths corresponding to the two points.

[0045] Of course, if the category attribute of the current track point has been determined in the traversal process of the previous points, the category attribute can be directly used without calculating the category attribute of the current track point based on the azimuth offset of the current track point and the previous track point.

[0046] In some embodiments, step S130 further includes:

[0047] In response to the second azimuth offset being within the first interval, determining that the current track point and the previous track point have the same category attribute; and

[0048] In response to the second azimuth offset being within the second interval, it is determined that the current trajectory point and the previous trajectory point have different category attributes.

[0049] Among them, the two points have the same category attribute, which means that the current trajectory point inherits the category attribute of the previous trajectory point, that is, if the previous trajectory point is a first-class point, the current trajectory point is also a first-class point. The two points have different category attributes, which means that the current trajectory point is the reverse attribute of the direction of the previous trajectory point, that is, if the previous trajectory point is a first-class point, the current trajectory point is a second-class point. 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, it is not limited to this.

[0050] Of course, if the second azimuth offset is neither in the first interval nor in the second interval, it means that the attribute of the current track point is temporarily difficult to determine, and the current track point is marked as an unclassified track point, that is, the classification of the track point is skipped and the next track point is processed. At this time, because the current track point cannot determine the attribute, in one implementation, the next track point automatically adopts the default attribute, such as the first type of point by default; in another implementation, when traversing to the next track point, the category attribute of the next track point inherits the category attribute of the previous track point with known category attributes, that is, the closest track point with known category attributes is determined from the reverse direction of the traversal direction, so that the category attribute of the next track point can be determined based on the closest track point with the known category attribute.

[0051] The track points that have been classified are marked as classified points, and the rest are unclassified points. The unclassified points include points that have never been classified, or points that have been classified but the class attributes have not been determined. It should be understood that each time the traversal process is executed, one or more target track points will be selected according to the current track point, and the class attributes of the selected multiple target track points will be determined, so that only those track points marked as unclassified points can be processed in subsequent operations.

[0052] In some embodiments, step S150 determines 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, including:

[0053] In response to the first azimuth offset being within a first interval, determining that the selected target trajectory point and the current trajectory point have the same category attribute; and

[0054] In response to the first azimuth offset being in the second interval range, it is determined that the selected target trajectory point has a different category attribute from the current trajectory point. Those skilled in the art can set the values ​​of the first interval range and the second interval range as needed, for example, the first interval range can be [0°, 10°], and the second interval range can be [170°, 180°], but it is certainly not limited thereto.

[0055] Therefore, step S140 may include: selecting a target trajectory point located in the target area where the current trajectory point is located from a plurality of target trajectory points, which may include: selecting a target trajectory point located in the target area whose category attribute has not yet been determined from a plurality of target trajectory points, or selecting a target trajectory point located in the target area that is currently marked as an unclassified point from a plurality of target trajectory points, or selecting a target trajectory point located in the target area that is currently not marked as a classified point from a plurality of target trajectory points. Alternatively, step S140 may also include: deleting the target trajectory point whose category attribute has been determined from the target trajectory, obtaining an updated target trajectory, and selecting a target trajectory point from the updated target trajectory. Further, step S140 may also include: selecting a target trajectory point other than the current trajectory point located in the target area where the current trajectory point is located from a plurality of target trajectory points.

[0056] It should be understood that, because step S140 selects target track points according to the track area, 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.

[0057] It can be seen that different traversal orders or traversal from different predetermined trajectory points may result in different category attributes of trajectory points, different first-category trajectory segments and second-category trajectory segments, and different classification results of uplink and downlink trajectory points. A trajectory point may be determined as a first-category point in one traversal method and a second-category point in another traversal method. In some traversal methods, the 1st to 10th trajectory points may be second-category trajectory points, and the 11th to 40th trajectory points may be first-category trajectory points; while in other traversal methods, the 1st to 23rd trajectory points may be first-category trajectory points, and the 24th to 50th trajectory points may be second-category trajectory points. Moreover, for an east-west trajectory, the first segment (such as the 1st to 20th trajectory points) may be a first-category trajectory, the second segment (such as the 21st to 40th points) may be a second-category trajectory, and the third segment may become a first-category trajectory again. This may be because in the traversal process based on other trajectory points, the second segment of trajectory points is located in the adjacent area of ​​these other trajectory points, and follows these other trajectory points, and is classified in advance. In addition, the two trajectory segments before and after the U-turn generally have different category attributes. If the distance between the two trajectory segments is relatively close, the trajectory point after the U-turn may be located in the adjacent area of ​​the trajectory point before the U-turn, and the azimuth offset between the trajectory points is located in the second interval range. Therefore, when traversing the trajectory points before the U-turn, the trajectory points after the U-turn may be marked as having different category attributes from those before the U-turn.

[0058] Another possible situation is that multiple target tracks are imported at one time. When traversing based on track 1, the category attributes of most of the track points of track 2 may be determined at the same time, and there are still some track points in track 2 whose category attributes have not been determined. Then the method 100 may also include the steps 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. For example, if in the process of traversing track 1, the 1st to 20th track points of track 2 are determined to be the first type of points, the 31st to 40th track points are the second type of points, and the 51st to 60th track points are the first type of points. Then there are still track points 21-30 and track points 41-50 in track 2 whose category attributes have not been determined. For each continuous track segment whose category attributes have not been determined, such as the track segment composed of track points 21-30, the traversal starts from the starting point or the ending point of the track segment in the same traversal order of increasing or decreasing timestamps as track 1. If the traversal is uniformly performed in ascending order of timestamps, the traversal starts from the starting point of the trajectory segment (i.e., trajectory point 21), and the category attribute of the starting point 21 is the same as the category attribute of the adjacent point with known category attribute, that is, the category attribute of trajectory point 20 is adopted. Similarly, for trajectory segments 41-50, the traversal is still started from the starting point (i.e., trajectory point 41), and the category attribute of the starting point is the same as the category attribute of trajectory point 40.

[0059] In some embodiments, Figure 3 As shown, the method 100 may further include the steps of:

[0060] Step S310: connecting adjacent target trajectory points whose category attributes are all the first category in the target trajectory to obtain one or more first category trajectories;

[0061] Step S320: connecting adjacent target trajectory points whose category attributes are all the second category in the target trajectory to obtain one or more second category trajectories;

[0062] Step S330: generating a road map corresponding to the first type of trajectory according to the road environment data corresponding to the first type of trajectory in the target trajectory; and

[0063] Step S340: Generate a road map corresponding to the second type of trajectory according to the road environment data corresponding to the second type of trajectory in the target trajectory.

[0064] Note though Figure 3 In the figure, these four steps 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 addition, after the uplink and downlink trajectory points are judged, a target trajectory may be divided into multiple segments, for example, the first segment is all first-class trajectory points, the second segment is all second-class trajectory points, and the third segment is all first-class trajectory points. Then, a road map corresponding to the first-class trajectory is generated based on the road environment data of each segment of the first-class trajectory, and a road map corresponding to the second-class trajectory is generated based on the road environment data of each segment of the second-class trajectory.

[0065] In some embodiments, method 100 may further include the steps of: obtaining a first precision trajectory and a second precision trajectory of the same category attribute belonging to the same road section; and correcting the second precision trajectory according to the first precision trajectory, wherein the correction includes but is not limited to: removing abnormal points and encrypting sparse trajectory segments. The first precision is greater than the second precision. Generally, the higher the configuration of the map collection vehicle, the higher the accuracy of the collected trajectory. For example, high-precision and low-precision trajectories of the same road section are collected by map vehicles with different configurations. After the trajectory points in the two trajectories are divided into categories by the same method, the first category and the second category of trajectory segments can be obtained respectively. The low-precision trajectory segments can be corrected according to the high-precision trajectory segments of the same category attribute of the same road section to remove abnormal points and encrypt the sparse trajectory segments.

[0066] 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. The 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 to this. 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 the first-level grid is the largest. The larger the grid level, the smaller the grid and the longer the code length. The coordinate points in the same grid all share the geocode of the grid. For example, if a grid is coded as y8n7c597qqv2, the geocode of each coordinate point in the grid can use 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.

[0067] In one implementation, the geocoding method includes Geohash coding, which encodes the longitude and latitude coordinates into a string. For example, the result of the coordinate encoding (121.335, 45.679) can 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 has 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.

[0068] The target area where the target trajectory point is located is also the grid area of ​​a certain level where the target trajectory 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.

[0069] In some embodiments, Figure 4 As shown, step S140 of selecting a target trajectory point located in a target area where the current trajectory point is located from a plurality of target trajectory points may include:

[0070] Step S410: Generate a code string of the target trajectory point, the code string represents a geographical area where the target trajectory point is located, and the length of the code string is positively correlated with the size of the geographical area;

[0071] Step S420: determining a first prefix character string from the coded character string according to a preset coding length, the first prefix character string representing the target area where the current track point is located;

[0072] Step S430: Selecting a target trajectory point having a first prefix character string in the encoding character string from the plurality of target trajectory points.

[0073] 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.

[0074] Wherein, step S430 of selecting a target trajectory point whose encoding string has a first prefix string from a plurality of target trajectory points comprises:

[0075] S431: 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

[0076] S432: Starting from the root node of the index tree, a target track point corresponding to the encoding string having the first prefix string in the index tree is selected.

[0077] Figure 5 A schematic diagram of an index tree according to an embodiment of the present disclosure is shown. 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. 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. Figure 5The 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.

[0078] In step S432, assuming that the first prefix character string is y8, starting from the root node, a character string having a character string of y8 is selected, that is, two track points on branch 1 on the left are selected.

[0079] In other embodiments, Figure 6 As shown, step S140 of selecting a target trajectory point located in the target area where the current trajectory point is located from a plurality of target trajectory points may also include:

[0080] Step S610: determining the target area where the current track point is located, and the adjacent area of ​​the target area; and

[0081] Step S620: Selecting target track points located in the target area where the current track point is located and in the adjacent area of ​​the target area from the multiple target track points.

[0082] It is known that the target area where the current track point is located is also the grid area of ​​a certain level where the current 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.

[0083] Wherein, determining the adjacent area of ​​the target area in step S610 includes: determining the direction of the current trajectory point according to the azimuth of the current trajectory point in the target trajectory, and determining the adjacent areas located on both sides of the target area in the vertical direction of the direction.

[0084] 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 current track point and the adjacent target track point is closer to is the orientation of the current track point. If the angle between the line connecting the current track point and the adjacent point and the true north direction is 10 degrees, then the current track point is facing 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 current track point is located. If the current track point is facing the due east, determine the adjacent areas on the upper and lower sides of the target area in the north-south direction.

[0085] Further, step S620 of selecting target trajectory points located in the target area and the adjacent area from the multiple target trajectory points includes: selecting target trajectory points located in the target area and the adjacent area whose category attributes have not been determined from the multiple target trajectory points, or selecting target trajectory points located in the target area and the adjacent area that are not marked as unclassified points from the multiple target trajectory points, or selecting target trajectory points located in the target area and the adjacent area that are currently marked as unclassified points from the multiple target trajectory points. This is mainly to exclude those points that have been determined as the first category or the second category to avoid repeated judgment.

[0086] Figure 7 A schematic diagram of the adjacent area of ​​the target area according to an embodiment of the present disclosure is shown. The target trajectory t includes trajectory points A, B, C, etc. If the target trajectory point B is the currently traversed trajectory point, the target area where the trajectory point is located is grid #1, and the direction is north, then two adjacent grids #2 and #3 of grid #1 are determined in the east-west direction. If the target trajectory t has 100 target trajectory points, step S620 needs to select the trajectory points whose category attributes are not determined in grid #1, grid #2 and grid #3 from these 100 target trajectory points. Figure 7 As shown, the track point H on the target track t is located in grid #1, and the track points I and G are located in the adjacent grid #3. If the category attributes of these three points are not determined, step S620 can select the target track points H, I, and G.

[0087] In one implementation, step S620 of selecting a target trajectory point in an adjacent area includes:

[0088] S621: 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.

[0089] S622: Determine a second prefix string from the code strings of the adjacent region according to a preset code length, where the code length of the second prefix string is the same as that of the first prefix string;

[0090] S623: 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

[0091] S624: Select a target trajectory point whose encoding string has a second prefix string from the multiple target trajectory points, thereby obtaining a target trajectory point in the adjacent area.

[0092] Assuming that the coding string of the adjacent area is 5gz7, the preset coding length is the length of the first prefix string, that is, 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 as the selected trajectory point.

[0093] It should be noted that the above article first generates a code string for each geographical area or each target trajectory 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.

[0094] Specifically, if Figure 8 As shown, step S140 of selecting a target trajectory point located in the target area where the current trajectory point is located from a plurality of target trajectory points may also include:

[0095] Step S810: generating a code string for each target trajectory point among a plurality of target trajectory points according to a preset code length;

[0096] Step S820: Select a target trajectory point having the same encoding string as the current trajectory point from the multiple 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 current trajectory point and whose category attribute has not yet been determined from the multiple target trajectory points, or select a target trajectory point having the same encoding string as the current trajectory point and marked as unclassified.

[0097] like Fig. 9 As shown, step S620 of selecting the target track point in the adjacent area may also include:

[0098] Step S910: Generate a code string for the adjacent area according to a preset code length, where the length of the code string is the same as the length of the code string for the target area;

[0099] Step S920: Select a target trajectory point having the same coding string as the adjacent area from the multiple target trajectory points, thereby obtaining a target trajectory point in the adjacent area. Further, select a target trajectory point having the same coding string as the adjacent area and not yet determined as an associated trajectory point from the multiple target trajectory points, thereby obtaining a target trajectory point in the adjacent area. Alternatively, select a target trajectory point having the same coding string as the adjacent area and not marked as a classified point from the multiple target trajectory points, or select a target trajectory point having the same coding string as the adjacent area and marked as an unclassified point from the multiple target trajectory points.

[0100] Each time a target trajectory point is traversed, it is determined 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 will no longer participate in the subsequent traversal process. After all target trajectory points are traversed, the first-class points and 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 a road map of the corresponding road section can be generated according to the first-class trajectory and the second-class trajectory, respectively. After completing the classification of multiple trajectory points of the target trajectory, the embodiment of the present disclosure can also integrate the first-class trajectory with relevant road environment data (such as point clouds, pictures and videos, etc.), and generate a corresponding first-class data packet, integrate the second-class trajectory with relevant road environment data, and generate a corresponding second-class data packet. The data packet may contain comprehensive map information of the corresponding trajectory.

[0101] 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.

[0102] Step S1010: Obtain a target trajectory including multiple target trajectory points. Specifically, multiple target trajectories may be obtained, and processing multiple trajectories at one time may improve mapping efficiency.

[0103] Step S1020: Calculate the azimuth of each target trajectory point in the target trajectory respectively. In the disclosed embodiment, the azimuth of a point in a trajectory includes the angle between the direction of the line connecting the point and the reference trajectory point and the reference direction. The orientation of a point represents the orientation of the eight directions or four directions closest to the direction of the line connecting the point and the reference trajectory point. The reference trajectory point may be an adjacent trajectory point of the trajectory point, and the adjacent trajectory point may be the previous adjacent point or the next adjacent point belonging to the same trajectory as the trajectory point. The reference trajectory point may also be the starting trajectory point, the ending trajectory point, or the trajectory point specified by the developer of the target trajectory where the target trajectory point is located.

[0104] Step S1030: Calculate the encoding string of each target trajectory point respectively. Considering that the encoding string of each geographical area may have been pre-generated and stored, the encoding string of the geographical area where each target trajectory point is located can be directly obtained in step S1030. Of course, this step can also determine the encoding string of each target trajectory point according to a preset encoding length.

[0105] 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.

[0106] Step S1050: Traverse each target trajectory point of the target trajectory in turn, use the target trajectory point as the current trajectory point each time, and determine the target area and adjacent area where the current trajectory point is located. Further, step S1050 includes: determining a prefix string from the index string of the current trajectory point according to a preset coding length, and determining a second prefix character from the coding string of the adjacent area according to the same preset coding length. The two prefix strings represent the identifiers of the target area and the adjacent area, respectively. Those skilled in the art can determine the value of the preset coding length as needed, for example, it can be 3-bit characters or 4-bit characters, and the present disclosure does not limit this.

[0107] Step S1060: Select target trajectory points located in the target area and the adjacent area where the current trajectory point is located from the multiple target trajectory points. In one implementation, the target trajectory points having the encoding string and the first prefix string or the second prefix string may be selected from the multiple target trajectory points.

[0108] Step S1070: Determine 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. The azimuth offset includes the difference between the azimuths corresponding to the two points.

[0109] Step S1080: Use 0 / 1 binary values ​​to mark the target trajectory points, such as the first category is marked as 0 and the second category is marked as 1, and of course it can be reversed. Because the trajectory points of a trajectory have a timestamp order, the marked first category points or second category points also have a corresponding timestamp order. The first category points in a trajectory can be connected according to the timestamp order, and the second category points can be connected. In addition, each target trajectory point maintains a corresponding relationship with the target trajectory to which it originally belongs. Therefore, when connecting, it is also connected according to the adjacent trajectory points belonging to the same trajectory. This can avoid the trajectory points that originally belonged to different trajectories being connected to generate a trajectory that did not originally exist.

[0110] In addition, in step S1050, it is possible to start from the predetermined trajectory point of the target trajectory and traverse in the order of the timestamps of the multiple trajectory points, and each traversal determines the target trajectory point of the same category or a different category as the current trajectory point. Continue to traverse the next target trajectory point until all the target trajectory points of a target trajectory have been traversed, and continue to traverse the target trajectory points of the next target trajectory. For each target trajectory point traversed, if the category attribute of the target trajectory point has been determined in the previous traversal process, there is no need to calculate the category attribute of the current trajectory point based on the previous trajectory point, and the determined category attribute can be directly used.

[0111] In some embodiments, before traversing the next target track, it is first determined which track segments of the track have undetermined category attributes, and only the track points with undetermined category attributes are classified. For example, the traversal is started from the nearest track point with undetermined category attributes in the same traversal direction to determine the attributes of each track point in the track segment, as well as the attributes of the track points in the target area and adjacent areas where each track point is located. For each track segment to be traversed, assuming that the 15th to 30th track points of track 2 have undetermined category attributes, the first track point 15 of the category to be identified is first determined according to the traversal direction, and the track point 14 with known category attributes that is closest to the track point in the opposite direction of the traversal direction is first determined, and the category attribute of the track point 14 is used as the category attribute of the point 15, and the category attribute of the track points in the target area and adjacent areas where the point is located is determined according to the category attribute of the point 15. Of course, for the next track, even if some track segments of the track have determined category attributes, the track can be traversed from beginning to end.

[0112] Moreover, in some embodiments, after the traversal of the target trajectory is completed, the isolated trajectory points in the target trajectory can also be identified. If the category attributes of the two trajectory points on the left and right sides of the middle trajectory point (a point in the trajectory that is not the starting trajectory point or the ending trajectory point) are different from the category attributes of the trajectory point, or the category attributes of the trajectory points on the adjacent side of the starting trajectory point or the ending trajectory point are different from the category attributes of the trajectory point, it means that the point is an isolated trajectory point, and the category attributes of the isolated trajectory point are changed to the category attributes of the adjacent trajectory points, 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 first-class point, and the trajectory points 2-30 are all second-class points, then the attribute of the trajectory point 1 is changed from the first-class point to the second-class point, and the trajectory points 1-30 are connected to form a second-class trajectory. In the embodiment of the present disclosure, the attributes of the isolated trajectory point can be changed first, and then the adjacent trajectory points with the same attributes are connected; of course, the adjacent trajectory points with the same attributes can also be connected first, and then the attributes of the isolated trajectory point are changed, and the previous connection is corrected.

[0113] Fig.11 FIG. 1 shows a schematic diagram of a target trajectory according to an embodiment of the present disclosure, Fig. 12A and Fig. 12B Respectively Fig.11 The result after the target trajectory in is classified and attributed, where Fig. 12A Use color chart to show, Fig. 12B Represented in grayscale. Fig. 12A The blue lines in the figure represent the first type of trajectories composed of the first type of points, and the red lines represent the second type of trajectories composed of the second type of points. Fig. 12B Dark black lines and light gray lines are used to distinguish trajectory segments of different categories of attributes. For example, dark black lines represent the first type of trajectory composed of the first type of points, and light gray lines represent the second type of trajectory composed of the second type of points. Fig. 12A and Fig. 12B The enlarged frame in the middle shows some of the details.

[0114] In addition, the trajectory point processing method according to the embodiment of the present disclosure may further include the following steps:

[0115] Acquire a reference trajectory including a plurality of reference trajectory points;

[0116] For any reference track point in the reference track:

[0117] Selecting a target trajectory point located in the target area where the reference trajectory point is located from a plurality of target trajectory points of the target trajectory;

[0118] According to the spatial position relationship between the selected target trajectory point and the reference trajectory point, it is determined whether there is an approximate relationship between the selected target trajectory point and the reference trajectory point.

[0119] In response to the selected target trajectory point and the reference trajectory point having an approximate relationship, determining the selected target trajectory point as an associated trajectory point of the reference trajectory; and

[0120] In response to the fact that the selected target trajectory point does not have an approximate relationship with each of the plurality of reference trajectory points, the selected target trajectory point is determined to be a difference trajectory point of the reference trajectory.

[0121] Furthermore, the method further comprises the steps of:

[0122] Connect the associated track points in the target track to obtain the associated track of the reference track;

[0123] Connecting the difference trajectory points in the target trajectory to obtain the difference trajectory of the reference trajectory; and

[0124] A road map corresponding to the difference trajectory is generated according to the road environment data corresponding to the difference trajectory.

[0125] The associated track can be considered as an approximate track or a repeated track of the reference track. Therefore, if a map has been made based on the reference track, the associated track of the reference track can be ignored in subsequent mapping. Of course, the road map corresponding to the reference track can also be updated according to the road environment data corresponding to the associated track. The difference track can be considered as a track different from the reference track, and the map of the difference track needs to be generated according to the road environment data of the difference track.

[0126] In some embodiments, the spatial position relationship includes at least one of a distance relationship and an azimuth offset, the azimuth offset includes the difference in azimuths corresponding to the two points respectively, and the azimuth calculation method of the reference trajectory point is the same as the calculation method and principle of the target trajectory point, which will not be repeated here. In response to the distance between the selected target trajectory point and the reference trajectory point being less than or equal to the fifth threshold and the azimuth offset being less than or equal to the sixth threshold, it is determined that the selected target trajectory point and the reference trajectory point have an approximate relationship. In response to the distance between the selected target trajectory point and the reference trajectory point being greater than the fifth threshold or the azimuth offset being greater than the sixth threshold, it is determined that the selected target trajectory point and the reference trajectory point do not have an approximate relationship. The values ​​of the fifth and sixth thresholds can be set as needed, and the present disclosure does not limit this. For example, the fifth threshold is 100m and the sixth threshold is 10 degrees.

[0127] The target area where the reference trajectory point is located and the adjacent area of ​​the target area can also adopt the calculation method of the target area and the adjacent area where the target trajectory point is located, which will not be repeated here. The embodiment of the present disclosure can generate a coding string for each reference trajectory point as a third prefix string according to a preset coding length, and select a target trajectory point whose coding string has the third prefix string from multiple target trajectory points. In addition, the target trajectory point located in the target area where the reference trajectory point is located and the target trajectory point in the adjacent area of ​​the target area can also be selected from multiple target trajectory points. For example, the coding string of the adjacent area is generated as a fourth prefix string according to the preset coding length, and the target trajectory point whose coding string has the third and fourth prefix strings is selected from multiple target trajectory points. Furthermore, 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 with the third and / or fourth prefix strings in the index tree.

[0128] 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.

[0129] 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.

[0130] 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.

[0131] 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.

[0132] 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.

[0133] 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.

[0134] 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)).

[0135] 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.

[0136] 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.

[0137] 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.

[0138] 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.

[0139] 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.

[0140] 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.

[0141] 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 including a plurality of target trajectory points; Calculating the azimuth of each target trajectory point in the target trajectory according to the spatial position relationship of the plurality of target trajectory points; Take any target track point in the target track as the current track point: Determining the category attribute of the current trajectory point; Selecting a target trajectory point located in the target area where the current trajectory point is located from the multiple target trajectory points; The category attribute of the selected target trajectory point is determined 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.

2. The method of claim 1, wherein the category attribute comprises at least one of a first category and a second category, and the method further comprises at least one of the following: Connecting adjacent target trajectory points whose category attributes are all the first category in the target trajectory to obtain one or more first category trajectories; 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.

3. The method of claim 1, wherein: 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 includes: In response to the first azimuth offset being within a first interval, 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 within a second interval, it is determined that the selected target trajectory point and the current trajectory point have different category attributes.

4. The method of claim 1, wherein: Determining the category attribute of the current trajectory point includes: Determine a previous trajectory point of the current trajectory point in the target trajectory; The category attribute of the current trajectory point is determined according to the second azimuth offset between the current trajectory point and the previous trajectory point, and the category attribute of the previous trajectory point.

5. The method of claim 4, wherein: Determining the category attribute of the current trajectory point includes: In response to the second azimuth offset being within a first interval, determining 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 a second interval, it is determined that the current trajectory point and the previous trajectory point have different category attributes.

6. The method of claim 1, wherein: Determining the category attribute of the current trajectory point includes: The traversal starts from a predetermined trajectory point among the plurality of target trajectory points, and the category attribute of each traversed target trajectory point is determined in sequence, wherein the attribute of the predetermined trajectory point is a preset attribute.

7. The method of claim 6, wherein: Each target trajectory point has a timestamp, the predetermined trajectory point is a trajectory point with the smallest or largest timestamp among the multiple target trajectory points, and the traversal is performed in the order of the timestamps of the multiple target trajectory points.

8. The method of claim 1, wherein: Determining a target track point located in the target area where the current track point is located from the multiple target track points includes: A target trajectory point whose category attribute has not been determined and is located in the target area is determined from the multiple target trajectory points.

9. The method of claim 1, further comprising: Generate a code string of the target trajectory point, wherein the code string represents a geographical area where the target trajectory point is located, and the length of the code string is positively correlated with the size of the geographical area; as well as A prefix character string is determined from the coded character string according to a preset coding length, wherein the prefix character string represents a target area where the current track point is located.

10. The method of claim 9, wherein: Selecting a target trajectory point located in the target area where the current trajectory point is located from the multiple target trajectory points includes: A target trajectory point having the prefix string in the encoding string is selected from the multiple target trajectory points.

11. The method of claim 10, wherein: Selecting a target trajectory point having the prefix string in the encoding 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 prefix character string in the index tree is determined.

12. The method of claim 1, wherein: Selecting a target trajectory point located in the target area where the current trajectory point is located from the multiple target trajectory points includes: determining the target area and an area adjacent to the target area; and A target track point located in the target area and the adjacent area is selected from the multiple target track points.

13. The method of claim 12, wherein: Determining the adjacent area of ​​the target area includes: Determining the orientation of the target trajectory point in four directions according to the azimuth of the target trajectory point; and The adjacent areas on both sides of the target area are determined in a direction vertical to the orientation.

14. The method of claim 12, wherein: Selecting a target trajectory point located in the adjacent area from the plurality of target trajectory points comprises: Generate a code string for the adjacent area; Determine a prefix character string from the code character strings of the adjacent area according to a preset code length; For any target trajectory point of the plurality of target trajectory points, obtaining a coding string of a region where the target trajectory point is located as the coding string of the target trajectory point; as well as A target trajectory point whose encoding string has the prefix string is determined from the plurality of target trajectory points.

15. The method of claim 1, wherein: The azimuth of the target trajectory point in the target trajectory includes an angle between a direction of a line between the target trajectory point and its adjacent target trajectory point and a reference direction.

16. The method of claim 2, further comprising: generating a road map corresponding to the first type of trajectory according to the road environment data corresponding to the first type of trajectory in the target trajectory; as well as A road map corresponding to the second type of trajectory is generated according to the road environment data corresponding to the second type of trajectory in the target trajectory.

17. The method of claim 2, further comprising: Acquire a first precision trajectory and a second precision trajectory of the same category attribute belonging to the same road section; The second precision trajectory is corrected according to the first precision trajectory, and the correction includes at least one of the following: removing abnormal points and encrypting sparse trajectory segments.

18. 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 17 is implemented.

19. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by a processor, the method described in any one of claims 1 to 17 is implemented.