Positioning signal processing method and apparatus, medium, and electronic device

By acquiring road network data of the positioning object and matching the positioning signal, the problems of large computational load and limited applicability of positioning drift detection are solved, and efficient and accurate positioning drift detection and path correction are achieved.

CN116026352BActive Publication Date: 2026-05-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2023-02-10
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In existing technologies, the detection of trajectory drift caused by occlusion or signal switching of the positioning object requires a large amount of computation and has limited applicability, making it difficult to accurately and efficiently detect positioning drift.

Method used

By acquiring road network data near the location of the object, searching for road data that matches the positioning signal, and determining whether the positioning signal has drifted, including matching the positioning position, direction, and speed, if a match is found, it is determined that there is no drift; otherwise, it is determined that there is a drift, and trajectory features are extracted for path correction when there is a drift.

Benefits of technology

It reduces the computational load of positioning drift detection, improves the accuracy and applicability of detection, reduces path planning errors, and ensures positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116026352B_ABST
    Figure CN116026352B_ABST
Patent Text Reader

Abstract

This application embodiment can be applied to the field of mapping, specifically providing a method, apparatus, medium, and electronic device for processing positioning signals. The positioning signal processing method includes: acquiring a positioning signal for a positioning object, the positioning signal containing the positioning location of the positioning object; acquiring road network data near the positioning location based on the positioning location of the positioning object; searching for road data matching the positioning signal in the road network data; if road data matching the positioning signal is found in the road network data, then it is determined that the positioning signal has not experienced positioning drift. The technical solution of this application embodiment can reduce the computational load of drift detection and improve the applicability of drift detection while ensuring the accuracy of drift detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of computer and communication technology, and more specifically, to a method, apparatus, medium, and electronic device for processing positioning signals. Background Technology

[0002] The continuous location data of a positioning object (such as a vehicle or mobile terminal) over a period of time constitutes its trajectory during that time. Obstructions or signal switching can cause inaccurate positioning, resulting in a significant difference between the object's local trajectory and its true location—a phenomenon known as trajectory drift. Current drift detection methods typically suffer from high computational complexity and limited applicability. Therefore, reducing the computational burden and improving the applicability of drift detection while ensuring accuracy is a pressing technical challenge. Summary of the Invention

[0003] The embodiments of this application provide a method, apparatus, medium, and electronic device for processing positioning signals, which can reduce the computational load of drift detection and improve the applicability of drift detection while ensuring the accuracy of drift detection.

[0004] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.

[0005] According to one aspect of the embodiments of this application, a method for processing a positioning signal is provided, comprising: acquiring a positioning signal for a positioning object, the positioning signal including the positioning location of the positioning object; acquiring road network data near the positioning location based on the positioning location of the positioning object; searching for road data matching the positioning signal in the road network data; and if road data matching the positioning signal is found in the road network data, determining that the positioning signal has not experienced positioning drift.

[0006] According to one aspect of the embodiments of this application, a positioning signal processing apparatus is provided, comprising: an acquisition unit configured to acquire a positioning signal for a positioning object, the positioning signal including the positioning location of the positioning object, and acquiring road network data near the positioning location based on the positioning location of the positioning object; a search unit configured to search for road data matching the positioning signal in the road network data; and a processing unit configured to determine that the positioning signal has not experienced positioning drift if road data matching the positioning signal is found in the road network data.

[0007] In some embodiments of this application, based on the foregoing scheme, the positioning signal further includes at least one of the moving direction and moving speed of the positioning object; the search unit is configured to: if a road data matching the positioning signal is found in the road network data that is within a first set range from the positioning location and meets one or more of the following conditions, then it is determined that road data matching the positioning signal has been found in the road network data: the road direction matches the moving direction, and the road speed limit data matches the moving speed.

[0008] In some embodiments of this application, based on the foregoing scheme, the processing unit is further configured to: if road network data near the location is not obtained according to the location of the positioning object, then determine that the positioning signal has experienced positioning drift.

[0009] In some embodiments of this application, based on the foregoing scheme, the processing unit is further configured to: if no road data matching the positioning signal is found in the road network data, determine that the positioning signal has experienced positioning drift.

[0010] In some embodiments of this application, based on the foregoing scheme, the location signal processing device further includes: a feature extraction unit, a path retrieval unit, and a path selection unit;

[0011] The acquisition unit is further configured to: when it is determined that the positioning signal has experienced positioning drift, acquire local trajectories generated by multiple positioning signals that have not experienced positioning drift before, wherein the local trajectories contain positioning positions corresponding to the multiple positioning signals respectively; the feature extraction unit is configured to: extract trajectory features corresponding to the local trajectories; the path retrieval unit is configured to: perform path retrieval in road network data based on the trajectory features to obtain at least one candidate path that matches the trajectory features; and the path selection unit is configured to: select the optimal path corresponding to the local trajectory from the at least one candidate path.

[0012] In some embodiments of this application, based on the foregoing scheme, the feature extraction unit is configured to: perform thinning processing on the local trajectory to select a set of key points from the positioning positions corresponding to the plurality of positioning signals respectively; and extract the geometric features corresponding to the local trajectory based on the set of key points as the trajectory features.

[0013] In some embodiments of this application, based on the aforementioned scheme, the process of the feature extraction unit thinning the local trajectory includes: adding the start and end points of the local trajectory to the key point set corresponding to the local trajectory, and generating a straight line between adjacent key points in the key point set; selecting a target point with the largest distance to the straight line from the positioning positions located between the adjacent key points; if the distance from the target point to the straight line is greater than or equal to a set distance threshold, adding the target point as a newly determined key point to the key point set; re-determining new key points between adjacent key points in the key point set, until the distances from the positioning positions between adjacent key points to the straight lines between the adjacent key points are all less than the set distance threshold.

[0014] In some embodiments of this application, based on the aforementioned scheme, the process by which the feature extraction unit extracts the geometric features corresponding to the local trajectory according to the set of key points includes: determining key points at the curve position from the set of key points; determining the turning angle of the curve position according to the angle between the key points at the curve position and other key points before and after, and using the turning angle as the curve feature corresponding to the local trajectory.

[0015] In some embodiments of this application, based on the aforementioned scheme, the process by which the feature extraction unit extracts the geometric features corresponding to the local trajectory according to the set of key points includes: determining the line distance between adjacent key points from the set of key points; and generating the length feature corresponding to the local trajectory according to the line distance between adjacent key points.

[0016] In some embodiments of this application, based on the foregoing scheme, the process by which the feature extraction unit extracts the geometric features corresponding to the local trajectory according to the set of key points includes: generating a line connecting adjacent key points in the set of key points; calculating the absolute angle corresponding to the line connecting adjacent key points according to the positioning coordinates of the adjacent key points, and using the absolute angle as the absolute angle feature corresponding to the local trajectory.

[0017] In some embodiments of this application, based on the foregoing scheme, the path retrieval unit is configured to: determine the target key point of the local trajectory at the first curve position according to the trajectory features; in the target road network data within a second predetermined range centered on the target key point, select road segments whose starting point or ending point is located in the target road network data as candidate road segments; if the difference between the angle between the candidate road segment and its adjacent road segment and the turning angle at the target key point is within a predetermined angle range, and the length of the candidate road segment and its adjacent road segment matches the length feature at the target key point, then select the candidate road segment and its adjacent road segment as a combination of road segments matching the first curve position; based on the combination of road segments matching the first curve position, continue to match other curve positions of the local trajectory to obtain the at least one candidate path.

[0018] In some embodiments of this application, based on the foregoing scheme, the process by which the path retrieval unit continues to match other curve positions of the local trajectory according to the road segment combination that matches the first curve position to obtain the at least one candidate path includes:

[0019] When matching the (n+1)th curve position of the local trajectory, the last road segment in the combination of road segments that match the nth curve position of the local trajectory is taken as the starting point, and the angle formed between the last road segment and its downstream road segment is calculated, where n≥1;

[0020] If the difference between the angle and the turning angle at the (n+1)th bend position is within a set angle range, and the length of the downstream road segment matches the length characteristics at the (n+1)th bend position, then the last road segment and its downstream road segment are combined as a road segment combination that matches the (n+1)th bend position.

[0021] The at least one candidate path is generated based on the combination of road segments that match the locations of all curves in the local trajectory.

[0022] In some embodiments of this application, based on the foregoing scheme, if the at least one candidate path includes multiple candidate paths, the path retrieval unit is further configured to perform at least one of the following deduplication processes:

[0023] If at least two candidate paths have the same starting point but different ending points, and the ending points are on the same link, then the ending points of the at least two candidate paths are extended along the first link where the ending points of the at least two candidate paths are located, so that the ending point of the first link is used as the ending point of the candidate path after the at least two candidate paths have been deduplicated.

[0024] If at least two candidate paths have different starting points but the same ending point, and the starting points are on the same link, then the starting points of the at least two candidate paths are extended along the second link where the starting points of the at least two candidate paths are located, so that the starting point of the second link is used as the starting point of the candidate path after the at least two candidate paths have been deduplicated.

[0025] If at least two candidate paths have different start and end points, but their start points are on the same link and their end points are on the same link, then the end points of the at least two candidate paths are extended along the first link where the end points of the at least two candidate paths are located, and the start points of the at least two candidate paths are extended along the second link where the start points of the at least two candidate paths are located, so that the end point of the first link is used as the end point of the candidate path after deduplication, and the start point of the second link is used as the start point of the candidate path after deduplication.

[0026] In some embodiments of this application, based on the foregoing scheme, the path selection unit is configured to: calculate the similarity between the at least one candidate path and the local trajectory to obtain a similarity score corresponding to each candidate path; and select the optimal path corresponding to the local trajectory based on the similarity scores corresponding to each candidate path.

[0027] In some embodiments of this application, based on the foregoing scheme, the path selection unit is configured to: obtain the key point set corresponding to each candidate path; and calculate the similarity between each candidate path and the local trajectory based on the key point set corresponding to each candidate path and the key point set corresponding to the local trajectory.

[0028] In some embodiments of this application, based on the foregoing scheme, the path selection unit is configured to: select two candidate paths according to the order of similarity scores corresponding to each candidate path from high to low; if the difference between the similarity scores corresponding to the two candidate paths is greater than or equal to a set score threshold, then the candidate path with the largest similarity score is selected as the optimal path; if the difference between the similarity scores corresponding to the two candidate paths is less than the set score threshold, then the candidate path with the largest similarity score and the candidate path whose similarity score differs from the largest similarity score from the set score threshold are selected as the optimal path.

[0029] According to one aspect of the embodiments of this application, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements the positioning signal processing method as described in the above embodiments.

[0030] According to one aspect of the embodiments of this application, an electronic device is provided, including: one or more processors; and a storage device for storing one or more computer programs, which, when executed by the one or more processors, cause the electronic device to implement the positioning signal processing method as described in the above embodiments.

[0031] According to one aspect of the embodiments of this application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium. A processor of an electronic device reads from the computer-readable storage medium and executes the computer program, causing the electronic device to perform the positioning signal processing method provided in the various alternative embodiments described above.

[0032] In some embodiments of this application, the technical solutions are provided by obtaining road network data near the location of the positioning object, and then searching for road data that matches the positioning signal of the positioning object in the road network data. When road data matching the positioning signal is found in the road network data, it is determined that the positioning signal of the positioning object has not drifted. This allows drift detection to be achieved based on the positioning location of the positioning object and with the help of road network data near the positioning location. This not only ensures the accuracy of drift detection but also effectively reduces the computational load of drift detection. At the same time, the technical solutions of this application can be applied to various application scenarios, improving the applicability of drift detection.

[0033] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0034] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of this application can be applied is shown;

[0035] Figure 2 A flowchart illustrating a method for processing positioning signals according to an embodiment of this application is shown;

[0036] Figure 3 A flowchart illustrating a method for processing positioning signals according to an embodiment of this application is shown;

[0037] Figure 4 A schematic diagram of a system architecture according to an embodiment of this application is shown;

[0038] Figure 5 A schematic diagram of trajectory drift is shown;

[0039] Figure 6 A processing flowchart of a locally optimal path matching module according to an embodiment of this application is shown;

[0040] Figure 7 A comparative schematic diagram of the trajectory before and after thinning is shown according to an embodiment of this application;

[0041] Figure 8 A schematic diagram of trajectory thinning according to an embodiment of this application is shown;

[0042] Figure 9 A block diagram of a positioning signal processing apparatus according to an embodiment of this application is shown;

[0043] Figure 10 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown. Detailed Implementation

[0044] Exemplary embodiments will now be described in a more comprehensive manner with reference to the accompanying drawings. However, the exemplary embodiments can be implemented in various forms and should not be construed as limited to these examples; rather, these embodiments are provided so that this application will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art.

[0045] Furthermore, the features, structures, or characteristics described in this application can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to provide a full understanding of the embodiments of this application. However, those skilled in the art will recognize that when implementing the technical solutions of this application, not all the detailed features in the embodiments may be used, one or more specific details may be omitted, or other methods, elements, devices, steps, etc., may be employed.

[0046] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0047] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0048] It should be noted that "multiple" in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0049] It is understood that in the specific embodiments of this application, data related to the positioning signal, positioning location, direction of movement and speed of the positioning object are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0050] With the increasing number of cars and mobile devices, the demand for map navigation services is also growing. When users use map navigation services and drive on the road, obstructions and other factors can cause significant deviations between the location and the actual location, leading to incorrect routes planned by the map navigation service. This results in a very poor user experience. Therefore, it is necessary to detect the drift between the actual and the location in a timely and accurate manner. However, existing drift detection schemes typically suffer from high computational costs and limited applicability.

[0051] Based on this, embodiments of this application provide a new method for processing positioning signals. Specifically, after obtaining a positioning signal for a positioning object, road network data near the positioning location can be obtained based on the positioning location of the positioning object contained in the positioning signal. Then, road data matching the positioning signal is searched in the road network data. If road data matching the positioning signal is found in the road network data (for example, if road data matching the positioning signal is found within a first set range from the positioning location, the road direction matches the movement direction of the positioning object, and the road speed limit data matches the movement speed of the positioning object), then it is determined that the obtained positioning signal has not experienced positioning drift.

[0052] Accordingly, if no road network data near the location of the object is obtained based on the location of the object, it is determined that the obtained positioning signal has drifted. Alternatively, if no road data matching the positioning signal is found in the road network data, it is determined that the obtained positioning signal has drifted.

[0053] The following combination Figure 1 The application scenarios of the technical solutions in the embodiments of this application are described, such as... Figure 1As shown, the vehicle terminal 101 is equipped with an electronic map application, which can drive according to lane markings on the electronic map, such as for autonomous driving or assisted driving. The vehicle terminal 101 also has a positioning device deployed, which can receive positioning signals, such as GNSS (Global Navigation Satellite System) signals. This GNSS positioning signal can be one or more of the following: GPS (Global Positioning System), BDS (BeiDou Navigation Satellite System), GLONASS, or Galileo.

[0054] After obtaining the positioning signal, the vehicle terminal 101 can send the positioning signal of the vehicle terminal 101 to the server 102. Then, the server 102 can obtain the road network data near the positioning location based on the positioning location of the vehicle terminal 101 contained in the positioning signal. Then, it searches for road data that matches the positioning signal in the road network data. If road data that matches the positioning signal is found in the road network data (for example, if the road data is found to be within a first set range from the positioning location, the road direction matches the movement direction of the positioning object, and the road speed limit data matches the movement speed of the positioning object), then it is determined that the obtained positioning signal has not experienced positioning drift.

[0055] Optionally, after acquiring the positioning signal, if the vehicle terminal 101 can acquire road network data near the positioning location of the vehicle terminal 101 contained in the positioning signal, then the vehicle terminal 101 can search for road data that matches the positioning signal in the road network data. If road data that matches the positioning signal is found in the road network data, it is determined that the acquired positioning signal has not experienced positioning drift.

[0056] Optionally, if it is determined that the positioning signal of vehicle terminal 101 has experienced positioning drift, the local trajectories generated by multiple positioning signals of vehicle terminal 101 before the positioning drift occurred can be obtained. These local trajectories contain the positioning positions corresponding to these multiple positioning signals respectively. Then, the trajectory features corresponding to the local trajectory are extracted, and path retrieval is performed in the road network data based on the trajectory features to obtain at least one candidate path that matches the trajectory features. Then, the optimal path corresponding to the local trajectory can be selected from these at least one candidate path to reduce problems such as path planning errors and yaw judgment errors caused by positioning signal drift.

[0057] It should be noted that server 102 can be a single physical server, a server cluster or distributed system consisting of at least two physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. Vehicle terminal 101 can specifically refer to smartphones, smart speakers, speakers with screens, smartwatches, sensors, etc., with in-vehicle functionality, but is not limited to these. For example, vehicle terminal 101 can also be replaced by mobile terminals such as aircraft. The various vehicle terminals and servers can be directly or indirectly connected via wired or wireless communication. Furthermore, the number of vehicle terminals and servers can be one or at least two; this application does not impose any restrictions.

[0058] The implementation details of the technical solutions in the embodiments of this application are described in detail below:

[0059] Figure 2 A flowchart illustrating a method for processing a positioning signal according to an embodiment of this application is shown. This method can be executed by a device with computational processing capabilities, such as by the positioning object (e.g., a vehicle terminal, a mobile terminal), or by a server communicating with the positioning object. (Refer to...) Figure 2 As shown, the method for processing the positioning signal includes at least steps S210 to S240, which are described in detail below:

[0060] In step S210, a positioning signal for the positioning object is obtained, which contains the positioning location of the positioning object.

[0061] Optionally, the object to be located can be any object that needs to be located, such as a vehicle terminal, smartphone, or smartwatch.

[0062] The positioning signal in this embodiment can be a satellite positioning signal, such as a GNSS positioning signal. This GNSS positioning signal can be one or more of the following: GPS positioning signal, BDS positioning signal, GLONASS satellite navigation system positioning signal, and Galileo satellite navigation system positioning signal. The positioning object can determine the user's absolute location (i.e., positioning position) based on the latitude and longitude coordinate information contained in the received satellite positioning signal.

[0063] Alternatively, the positioning signal can also be a positioning signal from an auxiliary positioning device, such as a positioning signal provided by base station equipment or roadside equipment (such as a Roadside Unit, or RSU). It should be noted that if the positioning signal provided by the auxiliary positioning device indicates the relative position of the object to be positioned and the auxiliary positioning device, then the absolute position of the object itself (i.e., the positioning location) can be determined based on this relative position and the absolute position of the auxiliary positioning device.

[0064] In step S220, road network data near the location of the object is obtained based on the location of the object.

[0065] It should be noted that road network data refers to road-related data in electronic maps. Specifically, the most basic component of road network data is the geosegment. Several connected geosegments together form a link. A link connects to other links only through its starting and ending points. Within this link, it can be divided into different geosegments according to its shape. Multiple connected links can form a route.

[0066] Optionally, when acquiring road network data near the location, road network data within a certain range centered on the location can be acquired. For example, road network data within a 20-meter range centered on the location can be acquired.

[0067] Optionally, if road network data near the location of the object cannot be obtained based on the location of the object, it can be determined that the positioning signal has drifted, which results in the inability to obtain road network data at the location of the object.

[0068] In step S230, road data that matches the positioning signal is searched in the road network data.

[0069] Optionally, searching for road data matching the positioning signal in the road network data can be done by searching for road data within a first predetermined range from the positioning location. For example, if road data within 5 meters of the positioning location is found in the road network data, it means that road data matching the positioning signal has been found in the road network data.

[0070] Alternatively, road data can be searched that is within a first set range from the location and whose road direction matches the movement direction of the object being located. For example, if road data is found in the road network data that is 5 meters away from the location and whose road direction matches the movement direction of the object being located, then road data matching the positioning signal has been found in the road network data. The movement direction of the object being located is obtained from the positioning signal.

[0071] Alternatively, one can search for road data that is within a first set range from the location and whose speed limit data matches the moving speed of the located object. For example, if road data is found in the road network data that is 5 meters away from the location and whose moving speed is less than or equal to the road speed limit data, then it means that road data matching the positioning signal has been found in the road network data. The moving speed of the located object is obtained from the positioning signal.

[0072] Alternatively, one can search for road data that is within a first set range from the location, whose road direction matches the direction of movement of the located object, and whose road speed limit data matches the speed of movement of the located object. For example, if road data is found in the road network data that is 5 meters away from the location, whose road direction matches the direction of movement of the located object, and whose speed of movement of the located object is less than or equal to the road speed limit data, then it means that road data matching the location signal has been found in the road network data.

[0073] In step S240, if road data matching the positioning signal is found in the road network data, it is determined that the positioning signal has not experienced positioning drift.

[0074] In the embodiments of this application, if road data matching the positioning signal is found in the road network data, it indicates that the positioning signal of the positioning object is in the correct road network data, that is, the positioning signal has not experienced positioning drift. Conversely, if no road data matching the positioning signal is found in the road network data, it indicates that the positioning signal has experienced positioning drift.

[0075] Figure 2 The technical solution of the embodiment shown enables drift detection based on the location of the object and the road network data near that location. This not only ensures the accuracy of drift detection but also effectively reduces the computational load of drift detection. Furthermore, the technical solution of this application embodiment can be applied to various application scenarios, improving the applicability of drift detection.

[0076] Figure 3 A flowchart illustrating a method for processing a positioning signal according to an embodiment of this application is shown. This method can be executed by a device with computational processing capabilities, such as by the positioning object (e.g., a vehicle terminal, a mobile terminal), or by a server communicating with the positioning object. (Refer to...) Figure 3 As shown, the method for processing the positioning signal includes at least steps S310 to S340, which are described in detail below:

[0077] In step S310, when it is determined that the positioning signal has drifted, the local trajectory generated by multiple positioning signals that have not drifted before is obtained. The local trajectory contains the positioning positions corresponding to the multiple positioning signals respectively.

[0078] Optionally, for the positioning signals of the positioning object, a cache window can be set up to store a number of recently acquired positioning signals (e.g., 10 or 20) that have not experienced positioning drift. If positioning drift is detected in a newly acquired positioning signal, the cached positioning signals that have not experienced positioning drift can be retrieved from the cache window.

[0079] Since the positioning signal contains the positioning location and the direction of movement, a local trajectory of the positioning object can be generated based on multiple positioning signals. This local trajectory indicates the movement of the positioning object.

[0080] In step S320, the trajectory features corresponding to the local trajectory are extracted.

[0081] Optionally, the trajectory features corresponding to the local trajectory are used to represent the contour, curves, turns, and other characteristics of the local trajectory. These trajectory features can be geometric features, such as the turning angle at the curve position, the length features between key points, and the absolute angle features corresponding to the lines connecting adjacent key points.

[0082] In one embodiment of this application, the process of extracting trajectory features corresponding to a local trajectory may first thin out the local trajectory to select a set of key points from the positioning positions corresponding to multiple positioning signals, and then extract the geometric features corresponding to the local trajectory based on the selected set of key points as trajectory features.

[0083] Optionally, thinning the local trajectory can be achieved by adding the start and end points of the local trajectory to the keypoint set corresponding to the local trajectory, and generating straight lines between adjacent keypoints in the keypoint set. It should be noted that if the keypoint set only contains the start and end points of the local trajectory, then generating straight lines between adjacent keypoints in the keypoint set is equivalent to generating straight lines between the start and end points.

[0084] Then, from the locations between adjacent keypoints, select the target point with the largest distance to the straight line. If the distance from this target point to the straight line is greater than or equal to a set distance threshold, add this target point as a newly determined keypoint to the keypoint set. Then, re-determine new keypoints between adjacent keypoints in the keypoint set, until the distances from the locations between adjacent keypoints to the straight lines between adjacent keypoints are all less than the set distance threshold.

[0085] Specifically, for example, if a target point is determined between the start and end points, and the straight-line distance from this target point to the start and end points is greater than or equal to a set distance threshold (for ease of description, this target point is referred to as the intermediate point), then this intermediate point can also be added to the keypoint set. Then, new keypoints are determined between the start point and the intermediate point, and between the intermediate point and the end point.

[0086] For example, first calculate the distance from the location between the starting point and the midpoint to the line connecting the starting point and the midpoint. Then find the location with the maximum distance. If this maximum distance is less than a set distance threshold, discard all locations between the starting point and the midpoint; that is, these locations are not considered keypoints. The processing method for the location between the midpoint and the end point is similar: first calculate the distance from the location between the midpoint and the end point to the line connecting the midpoint and the end point. Then find the location with the maximum distance. If this maximum distance is greater than or equal to a set distance threshold, add this location as a newly determined keypoint to the keypoint set, and continue the iteration.

[0087] In one embodiment of this application, the process of extracting the geometric features corresponding to the local trajectory based on the key point set can be as follows: determining the key points at the curve location from the key point set; then determining the turning angle of the curve location based on the angle between the key point at the curve location and the lines connecting the key points before and after it; and using this turning angle as the curve feature corresponding to the local trajectory. It should be noted that the curve location is the position where the line connecting the key points in the key point set shows a bend.

[0088] In one embodiment of this application, the process of extracting the geometric features corresponding to the local trajectory based on the set of key points can be to determine the line distance between adjacent key points from the set of key points, and then generate the length feature corresponding to the local trajectory based on the line distance between adjacent key points. For example, the line distance between adjacent key points can be used as the length feature corresponding to the local trajectory, or the line distance between adjacent key points and the sum of the line distances between all adjacent key points can be used as the length feature corresponding to the local trajectory.

[0089] In one embodiment of this application, the process of extracting the geometric features corresponding to the local trajectory based on the key point set may involve generating lines connecting adjacent key points in the key point set, then calculating the absolute angle corresponding to the lines connecting adjacent key points based on the positioning coordinates of the adjacent key points, and using this absolute angle as the absolute angle feature corresponding to the local trajectory. It should be noted that the absolute angle corresponding to the lines connecting adjacent key points is used to represent the direction of the lines, and this absolute angle can also be used to calculate the turning angle of a curve.

[0090] The embodiments for extracting the geometric features corresponding to local trajectories described above can be implemented individually or in combination.

[0091] Continue to refer to Figure 3 As shown, in step S330, path retrieval is performed in the road network data based on the trajectory features corresponding to the local trajectory to obtain at least one candidate path that matches the trajectory features.

[0092] In one embodiment of this application, the process of retrieving a path from road network data based on trajectory features to obtain at least one candidate path matching the trajectory features can specifically be as follows: Based on the trajectory features, determine the target key point of the local trajectory at the first curve position; within the target road network data within a second predetermined range centered on the target key point, select road segments whose starting or ending points are located in the target road network data as candidate road segments; and then determine the angle between the candidate road segment and its adjacent road segments. It should be noted that the second predetermined range can be 10 meters, 20 meters, or similar.

[0093] Specifically, if the difference between the angle between a candidate road segment and its adjacent segments and the turning angle at the target key point is within a set angle range, and the lengths of the candidate road segment and its adjacent segments match the length characteristics at the target key point, then the candidate road segment and its adjacent segments are considered as a combination of road segments matching the first curve position. Then, based on the combination of road segments matching the first curve position, other curve positions of the local trajectory are matched to obtain at least one candidate path.

[0094] It should be noted that: matching the length of the candidate road segment and its adjacent road segments with the length feature at the target key point means that the length of the candidate road segment and its adjacent road segments are respectively matched with the distance between the two key points at the target key point (i.e., the distance between the target key point and the two key points before and after it).

[0095] In one embodiment of this application, the process of continuing to match other curve positions of the local trajectory based on the road segment combination matching the first curve position to obtain at least one candidate path can specifically be as follows: When matching the (n+1)th curve position of the local trajectory, taking the last road segment in the road segment combination matching the nth curve position of the local trajectory as the starting point, calculate the angle formed between the last road segment and its downstream road segment, where n≥1. If the difference between this angle and the turning angle at the (n+1)th curve position is within a set angle range, and the length of the downstream road segment matches the length characteristics at the (n+1)th curve position, then the last road segment and its downstream road segment are taken as the road segment combination matching the (n+1)th curve position; and then, at least one candidate path is generated based on the road segment combinations matching all curve positions of the local trajectory.

[0096] It should be noted that: in this embodiment, the last road segment refers to the last road segment traversed in the direction of movement within the road segment combination. The downstream road segment of the last road segment refers to the road segment connected to the last road segment and traversed in the direction of movement.

[0097] In one embodiment of this application, if multiple candidate paths are generated, there may be duplicate paths among these candidate paths, so it is necessary to deduplicate the duplicate paths. Optionally, at least two candidate paths with the same starting point but different ending points, and whose ending points are on the same link, can be considered as duplicate paths; at least two candidate paths with different starting points but the same ending points, and whose starting points are on the same link, can be considered as duplicate paths; at least two candidate paths with different starting points and ending points, but whose starting points are on the same link and whose ending points are also on the same link, can be considered as duplicate paths.

[0098] For at least two candidate paths that have the same starting point but different ending points and whose ending points are on the same link, during deduplication, the ending points of the at least two candidate paths can be extended along the first link where the ending points of these at least two candidate paths are located, so that the ending point of the first link can be used as the ending point of the candidate path after deduplication of the at least two candidate paths.

[0099] For at least two candidate paths with different starting points but the same ending point, and whose starting points are on the same link, during deduplication, the starting points of the at least two candidate paths can be extended along the second link where the starting points of these at least two candidate paths are located, so that the starting point of the second link can be used as the starting point of the candidate path after deduplication.

[0100] For at least two candidate paths with different starting points and ending points, but whose starting points and ending points are on the same link, during deduplication, the ending points of the at least two candidate paths can be extended along the first link where the ending points of the at least two candidate paths are located, and the starting points of the at least two candidate paths can be extended along the second link where the starting points of the at least two candidate paths are located, so that the ending point of the first link is used as the ending point of the candidate path after deduplication, and the starting point of the second link is used as the starting point of the candidate path after deduplication.

[0101] Continue to refer to Figure 3 As shown, in step S340, the optimal path corresponding to the local trajectory is selected from at least one candidate path.

[0102] In one embodiment of this application, when selecting the optimal path, the similarity between at least one candidate path and the local trajectory can be calculated to obtain the similarity score corresponding to each candidate path. Then, based on the similarity score corresponding to each candidate path, the optimal path corresponding to the local trajectory is selected.

[0103] Optionally, the process of calculating the similarity between at least one candidate path and the local trajectory can involve obtaining the keypoint sets corresponding to each candidate path, and then calculating the similarity between each candidate path and the local trajectory based on the keypoint sets corresponding to each candidate path and the keypoint sets corresponding to the local trajectory. For example, the Frechet distance or Hausdorff distance can be calculated between the keypoint sets corresponding to the candidate paths and the keypoint sets corresponding to the local trajectory. The smaller the calculated distance value, the higher the similarity.

[0104] In one embodiment of this application, the process of selecting the optimal path corresponding to a local trajectory based on the similarity scores of each candidate path can be as follows: First, select two candidate paths in descending order of their similarity scores. If the difference between the similarity scores of these two candidate paths is greater than or equal to a set score threshold, then the candidate path with the highest similarity score is selected as the optimal path. If the difference between the similarity scores of these two candidate paths is less than the set score threshold, it indicates that there may be multiple optimal paths. In this case, the candidate path with the highest similarity score, and the candidate path whose similarity score differs from the highest similarity score from the set score threshold, can be selected as the optimal path.

[0105] Figure 3 The technical solution of the embodiment shown enables the use of cached, non-drifted positioning signals to retrieve the optimal path matching the local trajectory when the positioning signal (such as satellite positioning signal) drifts, thereby reducing problems such as path planning errors and yaw judgment errors caused by positioning signal drift.

[0106] The following combination Figures 4 to 8 The implementation details of the technical solutions in the embodiments of this application are described in detail below:

[0107] like Figure 4As shown, in one embodiment of the system architecture of this application, it mainly includes a drift detection module 401 and a local optimal path matching module 402. The GNSS signal of the positioning object (such as a vehicle terminal) first enters the drift detection module 401 for drift detection. If it is determined that the current GNSS signal is not drifting, it directly enters other subsequent modules without performing local optimal path matching; if it is determined that the current GNSS signal has drifted, it enters the local optimal path matching module 402, obtains the optimal path, and then passes it to other subsequent modules. These other modules may be, for example, a navigation module, a location display module, etc.

[0108] The drift detection module 401 is mainly used to determine whether a single input GNSS signal is drifting, and the determination result is used in other modules of subsequent map navigation services.

[0109] Specifically, the target object can obtain GNSS signal points at a frequency of 1Hz (this is just an example in this embodiment). The obtained GNSS signal points can be considered as the observed position. When the observed position differs significantly from the actual position of the target object, the map navigation service may match the target object to an incorrect position on the map based on the observed incorrect position. Such GNSS signals that differ significantly from the actual position are generally considered to be drifted signals.

[0110] For a vehicle terminal in normal operation, the normal GNSS signal position obtained by the terminal should be near the road, with an error not exceeding a set value (e.g., 10 meters). However, due to factors such as obstruction and equipment signal quality, the positioning error may increase, reaching tens or even hundreds of meters. Figure 5 In the trajectory drift example shown, the arrowed line segments represent GNSS signals acquired at a frequency of 1Hz, the GNSS points within the dashed boxes represent local drift trajectories, and the solid lines represent the navigation routes planned by the map navigation service. Figure 5 As can be seen, if the route is planned according to the drift point, it will have a significant impact on the navigation route planning.

[0111] Optionally, one approach for the drift detection module 401 to detect whether a GNSS signal is drifting is to acquire road network data within a certain range around the GNSS signal after inputting a single GNSS signal. If there is no road network data around the current GNSS signal, then false is returned (i.e., the current GNSS signal is determined to be drifting). If there is normal road network data around the current GNSS signal, then a road matching the current GNSS signal in terms of speed, absolute direction, etc. is searched in this road network data (e.g., the movement speed matches the road's speed limit, and the movement direction matches the road's direction). If a matching road exists within 20 meters of the current GNSS signal (the value is only for example), then the GNSS signal is considered not to be drifting, and true is returned (i.e., the current GNSS signal is determined not to be drifting); otherwise, false is returned (i.e., the current GNSS signal is determined to be drifting).

[0112] The local optimal path matching module 402 is used to retrieve one or more geometrically similar paths composed of the most basic road segments from the road network data when GNSS signal drift occurs, based on the cached local trajectory. The processing flow of the local optimal path matching module 402 is as follows: Figure 6 As shown, it includes the following steps:

[0113] S601, trajectory thinning.

[0114] In one embodiment of this application, when GNSS signal drift occurs, a buffered local trajectory is acquired. The buffered local trajectory consists of several GNSS signal points. For example, a buffer window of a set size can be set to store the most recent GNSS signal points that have not drifted. To preserve the shape (geometric information) of the trajectory as much as possible while reducing the number of GNSS signal points that need to be processed subsequently, the Douglas thinning algorithm can be used to thin the local trajectory. After thinning, the local trajectory retains only a few key GNSS signal points. The specific steps of the thinning algorithm are as follows: input the local trajectory to be thinned (i.e., a continuous set of points) and a predetermined distance threshold. Then connect the start and end points of the curve to form a straight line, and calculate the distance from each of the remaining points to the straight line; select the maximum value among all the distances from the points to the straight line. If this maximum value is greater than the predetermined distance threshold, the point corresponding to this maximum value is retained, that is, this maximum value is used as a key point; otherwise, all other points between the two endpoints of the straight line are discarded, that is, not used as key points.

[0115] Then, based on the currently retained points, the curve is divided into two parts, and the same operation is performed again in each part, iterating recursively until no points can be discarded or a certain precision is met.

[0116] Trajectory thinning can reduce the number of cached GNSS signal points by an order of magnitude. For example, if 50 GNSS signal points were originally cached, trajectory thinning can reduce this to about 5 key points, which retain the approximate outline of the trajectory. In one example, the comparison before and after trajectory thinning is shown below. Figure 7 As shown in the figure. The solid line trajectory is the actual trajectory before trajectory thinning, and the dashed line trajectory is the trajectory formed by key points after trajectory thinning.

[0117] S602, Feature Extraction.

[0118] After trajectory thinning, local trajectories are transformed into a small number of keypoints, which retain the general outline of the original trajectory. Feature extraction aims to extract the geometric features of the original trajectory based on these keypoints. Figure 8 Taking the thinned trajectory shown as an example, this trajectory consists of 5 key points, 4 straight lines, and 3 curves. Feature extraction can extract the following features:

[0119] Curve Feature Extraction: The local trajectory of n key points can form (n-2) curves. By calculating the steering angle of each curve and storing it as an array, the curve features of the trajectory are obtained. Figure 8 For example, after extracting the curve features, we get an array [-30, +30, -30] consisting of positive and negative steering angles, where negative angle values ​​represent left turns and positive angle values ​​represent right turns (the steering angle values ​​in this example are just examples).

[0120] Length Feature Extraction: The local trajectories of n key points can form (n-1) straight lines. By calculating the length of each straight line and storing it in an array, and then calculating the sum of the lengths of all the straight lines to obtain the length of the entire trajectory, the length feature of the trajectory is obtained. Figure 8 For example, after length feature extraction, an array [120, 120, 120, 120] representing the straight-line distance of each segment of the trajectory can be obtained. Therefore, this array indicates the length of each straight-line segment of the trajectory starting from the starting point, and their sum represents the length of the entire trajectory (the straight-line distance values ​​in this example are for illustrative purposes only).

[0121] Trajectory Absolute Angle Feature Extraction: Each straight line in a local trajectory has a starting point and an ending point. Based on the absolute positions (latitude and longitude) of the starting and ending points, the absolute angle of the corresponding straight line can be calculated. The absolute angles of all straight lines in the trajectory are calculated and stored in an array, thus obtaining the trajectory's absolute angle features. The absolute angle features of the trajectory represent the direction of each straight line.

[0122] After extracting the above features, the trajectory can be completely described based on the extracted features such as curves, length, and absolute angles of straight lines. Figure 8 Taking the trajectory shown as an example, based on the extracted features, the trajectory can be described as follows: Starting from the starting point 1 (latitude and longitude are absolute positions), travel 120 meters in direction 1 (the absolute angle at which key points 1 and 2 form a straight line) to reach key point 2, then turn left 30 degrees and travel 120 meters to reach key point 3, then turn right 30 degrees and travel 120 meters to reach key point 4, and finally turn left 30 degrees and travel 120 meters to reach the endpoint key point 5.

[0123] By extracting features, we can obtain all the features that can fully describe the trajectory. These features will be used to retrieve the optimal path in the road network.

[0124] S603, path retrieval and deduplication.

[0125] Since the smallest element constituting road network data is a road segment, the goal of path retrieval is to find a set of sequentially connected road segments such that the path formed by connecting these segments minimizes the difference between the path and the user's local trajectory. The following example... Figure 8 The process of path retrieval and deduplication is illustrated using the trajectory shown as an example:

[0126] First, find the two road segments that match the first curve of the trajectory. Figure 8 In the example shown, the first curve intersection of the trajectory is key point 2. Using key point 2 as the center, road segments within a certain range are selected as candidate road segments for curve matching. For example... Figure 8 As shown, one possible screening method is to select road network segments within a 100m x 100m rectangular area (the value is only for example) surrounding the key point as candidate road segments. The definition of a road network segment within the rectangular area is: any segment whose start or end point is located within the rectangular area is acceptable. All candidate road segments are traversed. If the angle formed by the current road segment and its downstream road segment differs from the angle of the first curve of the trajectory within a certain threshold range, then a 120m straight-line exploration is performed forward from the current road segment, and simultaneously a 120m straight-line exploration is performed backward from the downstream road segment. If no 120-meter straight line is found during the exploration, it indicates that the current road segment does not match. In this way, a set of all road segments matching the first curve of the local trajectory is found.

[0127] Then, starting from the set of road segments that match the previous curve of the local trajectory, we explore forward to find the set of road segments that match the next curve. Assuming that n (n≥1) curves have already been matched, and we are about to match the (n+1)th curve, we start from the last road segment in the set matching the nth curve, calculate the angle formed by this road segment and its downstream segments, and compare it with the angle of the (n+1)th curve. If a downstream road segment meets the conditions, we start from this downstream segment and explore forward in a straight line for a certain distance until we reach the next curve. We repeat this process until all curves of the local trajectory have been matched or there are no road segments in the road network data that meet the conditions.

[0128] If path retrieval finds only one path matching the user's trajectory, this path is returned as the optimal path. If path retrieval finds multiple paths matching the user's trajectory, these paths may contain multiple duplicates, requiring deduplication. The following are defined as duplicate paths: same starting point but different ending points, and the ending points are on the same link; different starting points but on the same link, and the same ending point; different starting points and ending points, but the starting points and ending points are on the same link. One possible deduplication method is to extend the link along the starting point and / or ending point separately until the starting point and / or ending point reach the end position of the link.

[0129] S604, Path scoring and sorting.

[0130] After path retrieval and deduplication, several paths matching the user's local trajectory can be obtained. In order to select the path that best matches the user's local trajectory (the optimal path), it is necessary to score the similarity between the retrieved paths and the user's local trajectory, and return the path with the highest similarity as the optimal path after sorting.

[0131] When calculating similarity, since the local trajectory is an array of key points and the retrieved path is an array of road segments, to facilitate the calculation of the similarity between the two, the array of road segments is first converted into an array of points. Specifically, all adjacent road segments in the array are connected, and the endpoint of the previous road segment coincides with the starting point of the next road segment. Therefore, by extracting the starting points of the road segments one by one, we obtain the set of points in the road network path. In this way, the retrieved path can be represented by a set of points. Similar to the method of thinning the local trajectory, the point set of the path is thinned in the same way as the local trajectory, resulting in a set of key points for the path. At this point, the similarity between the key point set of the local trajectory and the key point set of the path can be calculated. A possible similarity calculation method is a shape-based method, such as Frechet distance and Hausdorff distance.

[0132] Assuming that path retrieval yields n paths matching the user's trajectory, similarity calculation results in n similarity scores for each path. These n paths are then sorted according to their similarity scores, and the difference between the two highest scores is calculated. If the difference exceeds a pre-defined threshold, the path with the highest score is returned as the optimal path; otherwise, assuming there may be multiple optimal paths, all paths with score differences within the threshold are returned.

[0133] The technical solution of this application first determines in real time whether the current GNSS signal has drifted based on the absolute position of the current GNSS signal and the corresponding road network information, thus judging the quality of the GNSS signal to a certain extent. If the current GNSS signal is determined to have drifted, the cached GNSS signal is used to retrieve the optimal path matching the user's trajectory from the road network. This reduces yaw judgment errors and navigation route planning errors caused by signal drift, thereby effectively improving the accuracy of map navigation services.

[0134] The following describes an embodiment of the apparatus described in this application, which can be used to execute the positioning signal processing method in the above embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the positioning signal processing method described above in this application.

[0135] Figure 9 A block diagram of a location signal processing apparatus according to an embodiment of the present application is shown. The location signal processing apparatus can be installed in a device with computing processing capabilities, such as in a location object (e.g., a vehicle terminal, a mobile terminal, etc.) or in a server communicating with the location object.

[0136] Reference Figure 9 As shown, a positioning signal processing apparatus 900 according to an embodiment of this application includes: an acquisition unit 902, a search unit 904, and a processing unit 906.

[0137] The acquisition unit 902 is configured to acquire a positioning signal for a positioning object, the positioning signal including the positioning location of the positioning object, and road network data near the positioning location based on the positioning location of the positioning object; the search unit 904 is configured to search for road data matching the positioning signal in the road network data; and the processing unit 906 is configured to determine that the positioning signal has not experienced positioning drift if road data matching the positioning signal is found in the road network data.

[0138] In some embodiments of this application, based on the foregoing scheme, the positioning signal further includes at least one of the moving direction and moving speed of the positioning object; the search unit 904 is configured to: if a road data matching the positioning signal is found in the road network data that is within a first set range from the positioning location and meets one or more of the following conditions: the road direction matches the moving direction, and the road speed limit data matches the moving speed.

[0139] In some embodiments of this application, based on the foregoing scheme, the processing unit 906 is further configured to: if road network data near the location is not obtained according to the location of the positioning object, then determine that the positioning signal has experienced positioning drift.

[0140] In some embodiments of this application, based on the foregoing scheme, the processing unit 906 is further configured to: if no road data matching the positioning signal is found in the road network data, determine that the positioning signal has experienced positioning drift.

[0141] In some embodiments of this application, based on the foregoing scheme, the positioning signal processing device 900 further includes: a feature extraction unit, a path retrieval unit, and a path selection unit;

[0142] The acquisition unit 902 is further configured to: when it is determined that the positioning signal has experienced positioning drift, acquire local trajectories generated by multiple positioning signals that have not experienced positioning drift before, wherein the local trajectories contain positioning positions corresponding to the multiple positioning signals respectively; the feature extraction unit is configured to: extract trajectory features corresponding to the local trajectories; the path retrieval unit is configured to: perform path retrieval in road network data based on the trajectory features to obtain at least one candidate path that matches the trajectory features; and the path selection unit is configured to: select the optimal path corresponding to the local trajectory from the at least one candidate path.

[0143] In some embodiments of this application, based on the foregoing scheme, the feature extraction unit is configured to: perform thinning processing on the local trajectory to select a set of key points from the positioning positions corresponding to the plurality of positioning signals respectively; and extract the geometric features corresponding to the local trajectory based on the set of key points as the trajectory features.

[0144] In some embodiments of this application, based on the aforementioned scheme, the process of the feature extraction unit thinning the local trajectory includes: adding the start and end points of the local trajectory to the key point set corresponding to the local trajectory, and generating a straight line between adjacent key points in the key point set; selecting a target point with the largest distance to the straight line from the positioning positions located between the adjacent key points; if the distance from the target point to the straight line is greater than or equal to a set distance threshold, adding the target point as a newly determined key point to the key point set; re-determining new key points between adjacent key points in the key point set, until the distances from the positioning positions between adjacent key points to the straight lines between the adjacent key points are all less than the set distance threshold.

[0145] In some embodiments of this application, based on the aforementioned scheme, the process by which the feature extraction unit extracts the geometric features corresponding to the local trajectory according to the set of key points includes: determining key points at the curve position from the set of key points; determining the turning angle of the curve position according to the angle between the key points at the curve position and other key points before and after, and using the turning angle as the curve feature corresponding to the local trajectory.

[0146] In some embodiments of this application, based on the aforementioned scheme, the process by which the feature extraction unit extracts the geometric features corresponding to the local trajectory according to the set of key points includes: determining the line distance between adjacent key points from the set of key points; and generating the length feature corresponding to the local trajectory according to the line distance between adjacent key points.

[0147] In some embodiments of this application, based on the foregoing scheme, the process by which the feature extraction unit extracts the geometric features corresponding to the local trajectory according to the set of key points includes: generating a line connecting adjacent key points in the set of key points; calculating the absolute angle corresponding to the line connecting adjacent key points according to the positioning coordinates of the adjacent key points, and using the absolute angle as the absolute angle feature corresponding to the local trajectory.

[0148] In some embodiments of this application, based on the foregoing scheme, the path retrieval unit is configured to: determine the target key point of the local trajectory at the first curve position according to the trajectory features; in the target road network data within a second predetermined range centered on the target key point, select road segments whose starting point or ending point is located in the target road network data as candidate road segments; if the difference between the angle between the candidate road segment and its adjacent road segment and the turning angle at the target key point is within a predetermined angle range, and the length of the candidate road segment and its adjacent road segment matches the length feature at the target key point, then select the candidate road segment and its adjacent road segment as a combination of road segments matching the first curve position; based on the combination of road segments matching the first curve position, continue to match other curve positions of the local trajectory to obtain the at least one candidate path.

[0149] In some embodiments of this application, based on the foregoing scheme, the process by which the path retrieval unit continues to match other curve positions of the local trajectory according to the road segment combination that matches the first curve position to obtain the at least one candidate path includes:

[0150] When matching the (n+1)th curve position of the local trajectory, the last road segment in the combination of road segments that match the nth curve position of the local trajectory is taken as the starting point, and the angle formed between the last road segment and its downstream road segment is calculated, where n≥1;

[0151] If the difference between the angle and the turning angle at the (n+1)th bend position is within a set angle range, and the length of the downstream road segment matches the length characteristics at the (n+1)th bend position, then the last road segment and its downstream road segment are combined as a road segment combination that matches the (n+1)th bend position.

[0152] The at least one candidate path is generated based on the combination of road segments that match the locations of all curves in the local trajectory.

[0153] In some embodiments of this application, based on the foregoing scheme, if the at least one candidate path includes multiple candidate paths, the path retrieval unit is further configured to perform at least one of the following deduplication processes:

[0154] If at least two candidate paths have the same starting point but different ending points, and the ending points are on the same link, then the ending points of the at least two candidate paths are extended along the first link where the ending points of the at least two candidate paths are located, so that the ending point of the first link is used as the ending point of the candidate path after the at least two candidate paths have been deduplicated.

[0155] If at least two candidate paths have different starting points but the same ending point, and the starting points are on the same link, then the starting points of the at least two candidate paths are extended along the second link where the starting points of the at least two candidate paths are located, so that the starting point of the second link is used as the starting point of the candidate path after the at least two candidate paths have been deduplicated.

[0156] If at least two candidate paths have different start and end points, but their start points are on the same link and their end points are on the same link, then the end points of the at least two candidate paths are extended along the first link where the end points of the at least two candidate paths are located, and the start points of the at least two candidate paths are extended along the second link where the start points of the at least two candidate paths are located, so that the end point of the first link is used as the end point of the candidate path after deduplication, and the start point of the second link is used as the start point of the candidate path after deduplication.

[0157] In some embodiments of this application, based on the foregoing scheme, the path selection unit is configured to: calculate the similarity between the at least one candidate path and the local trajectory to obtain a similarity score corresponding to each candidate path; and select the optimal path corresponding to the local trajectory based on the similarity scores corresponding to each candidate path.

[0158] In some embodiments of this application, based on the foregoing scheme, the path selection unit is configured to: obtain the key point set corresponding to each candidate path; and calculate the similarity between each candidate path and the local trajectory based on the key point set corresponding to each candidate path and the key point set corresponding to the local trajectory.

[0159] In some embodiments of this application, based on the foregoing scheme, the path selection unit is configured to: select two candidate paths according to the order of similarity scores corresponding to each candidate path from high to low; if the difference between the similarity scores corresponding to the two candidate paths is greater than or equal to a set score threshold, then the candidate path with the largest similarity score is selected as the optimal path; if the difference between the similarity scores corresponding to the two candidate paths is less than the set score threshold, then the candidate path with the largest similarity score and the candidate path whose similarity score differs from the largest similarity score from the set score threshold are selected as the optimal path.

[0160] Figure 10 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.

[0161] It should be noted that, Figure 10The computer system 1000 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0162] like Figure 10 As shown, the computer system 1000 includes a Central Processing Unit (CPU) 1001, which can perform various appropriate actions and processes based on programs stored in Read-Only Memory (ROM) 1002 or programs loaded from storage portion 1008 into Random Access Memory (RAM) 1003, such as performing the methods described in the above embodiments. Various programs and data required for system operation are also stored in RAM 1003. The CPU 1001, ROM 1002, and RAM 1003 are interconnected via bus 1004. An Input / Output (I / O) interface 1005 is also connected to bus 1004.

[0163] The following components are connected to I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to I / O interface 1005 as needed. Removable media 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 1010 as needed so that computer programs read from them can be installed into storage section 1008 as needed.

[0164] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by central processing unit (CPU) 1001, it performs various functions defined in the system of this application.

[0165] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0166] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and a computer program.

[0167] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0168] In another aspect, this application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable medium carries one or more computer programs, which, when executed by the electronic device, cause the electronic device to perform the methods described in the above embodiments.

[0169] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0170] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the method according to the embodiments of this application.

[0171] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0172] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for processing positioning signals, characterized in that, include: When it is determined that the positioning signal for the positioning object has drifted, the local trajectory generated by multiple positioning signals that have not drifted before is obtained, and the local trajectory contains the positioning positions contained by the multiple positioning signals respectively. Extract the trajectory features corresponding to the local trajectory; Based on the trajectory features, the target key point of the local trajectory at the first curve position is determined. In the target road network data within a second set range centered on the target key point, the road segments whose starting point or ending point is located in the target road network data are selected as candidate road segments. If the difference between the angle between the candidate road segment and its adjacent road segment and the turning angle at the target key point is within a set angle range, and the length of the candidate road segment and its adjacent road segment matches the length characteristics at the target key point, then the candidate road segment and its adjacent road segment are considered as a combination of road segments that match the position of the first curve. Based on the combination of road segments that match the first curve position, continue to match other curve positions of the local trajectory to obtain at least one candidate path that matches the trajectory features. Select the optimal path corresponding to the local trajectory from the at least one candidate path.

2. The method for processing positioning signals according to claim 1, characterized in that, The method further includes: Obtain a positioning signal for the positioning object, wherein the positioning signal contains the positioning location of the positioning object; Based on the location of the object being located, obtain road network data near the location; Search the road network data for road data that matches the positioning signal. If road data matching the positioning signal is found in the road network data, it is determined that the positioning signal has not experienced positioning drift.

3. The method for processing positioning signals according to claim 2, characterized in that, The positioning signal also includes at least one of the movement direction and movement speed of the positioning object; searching for road data matching the positioning signal in the road network data includes: If a road data matching the positioning signal is found in the road network data that is within a first set range from the positioning location and meets one or more of the following conditions, then it is determined that road data matching the positioning signal has been found in the road network data: the road direction matches the direction of movement, and the road speed limit data matches the speed of movement.

4. The method for processing positioning signals according to claim 2, characterized in that, The method further includes: If road network data near the location of the object is not obtained based on the location of the object, it is determined that the location signal has drifted.

5. The method for processing positioning signals according to claim 2, characterized in that, The method further includes: If no road data matching the positioning signal is found in the road network data, it is determined that the positioning signal has experienced positioning drift.

6. The method for processing positioning signals according to claim 1, characterized in that, Extracting the trajectory features corresponding to the local trajectory includes: The local trajectory is thinned to select a set of key points from the positioning locations corresponding to the multiple positioning signals. Geometric features corresponding to the local trajectory are extracted based on the set of key points to serve as the trajectory features.

7. The method for processing positioning signals according to claim 6, characterized in that, The local trajectory is thinned, including: Add the start and end points of the local trajectory to the key point set corresponding to the local trajectory, and generate straight lines between adjacent key points in the key point set; From the positioning positions located between the adjacent key points, select the target point with the largest distance to the straight line; If the distance from the target point to the line is greater than or equal to a set distance threshold, then the target point is added to the set of key points as a newly determined key point; New key points are re-determined among adjacent key points in the key point set until the distance from the location of each adjacent key point to the straight line between the adjacent key points is less than the set distance threshold.

8. The method for processing positioning signals according to claim 6, characterized in that, Extracting the geometric features corresponding to the local trajectory based on the set of key points includes: Determine the key points at the curve location from the set of key points; Based on the angle between the key point at the curve location and other key points before and after it, the turning angle at the curve location is determined, and the turning angle is used as the curve feature corresponding to the local trajectory.

9. The method for processing positioning signals according to claim 6, characterized in that, Extracting the geometric features corresponding to the local trajectory based on the set of key points includes: Determine the line distance between adjacent key points from the set of key points; The length feature corresponding to the local trajectory is generated based on the distance between the lines connecting the adjacent key points.

10. The method for processing positioning signals according to claim 6, characterized in that, Extracting the geometric features corresponding to the local trajectory based on the set of key points includes: Generate lines connecting adjacent key points in the key point set; Based on the location coordinates of the adjacent key points, calculate the absolute angle corresponding to the line connecting the adjacent key points, and use the absolute angle as the absolute angle feature corresponding to the local trajectory.

11. The method for processing positioning signals according to claim 10, characterized in that, Based on the road segment combinations that match the first curve position, other curve positions of the local trajectory are continued to be matched to obtain at least one candidate path that matches the trajectory features, including: When matching the (n+1)th curve position of the local trajectory, the last road segment in the combination of road segments that match the nth curve position of the local trajectory is taken as the starting point, and the angle formed between the last road segment and its downstream road segment is calculated, where n≥1; If the difference between the angle and the turning angle at the (n+1)th bend position is within a set angle range, and the length of the downstream road segment matches the length characteristics at the (n+1)th bend position, then the last road segment and its downstream road segment are combined as a road segment combination that matches the (n+1)th bend position. The at least one candidate path is generated based on the combination of road segments that match the locations of all curves in the local trajectory.

12. The method for processing positioning signals according to claim 1, characterized in that, If the at least one candidate path includes multiple candidate paths, the method further includes at least one of the following deduplication processes: If at least two candidate paths have the same starting point but different ending points, and the ending points are on the same link, then the ending points of the at least two candidate paths are extended along the first link where the ending points of the at least two candidate paths are located, so that the ending point of the first link is used as the ending point of the candidate path after the at least two candidate paths have been deduplicated. If at least two candidate paths have different starting points but the same ending point, and the starting points are on the same link, then the starting points of the at least two candidate paths are extended along the second link where the starting points of the at least two candidate paths are located, so that the starting point of the second link is used as the starting point of the candidate path after the at least two candidate paths have been deduplicated. If at least two candidate paths have different start and end points, but their start points are on the same link and their end points are on the same link, then the end points of the at least two candidate paths are extended along the first link where the end points of the at least two candidate paths are located, and the start points of the at least two candidate paths are extended along the second link where the start points of the at least two candidate paths are located, so that the end point of the first link is used as the end point of the candidate path after deduplication, and the start point of the second link is used as the start point of the candidate path after deduplication.

13. The method for processing positioning signals according to claim 1, characterized in that, Selecting the optimal path corresponding to the local trajectory from the at least one candidate path includes: Calculate the similarity between the at least one candidate path and the local trajectory to obtain the similarity score corresponding to each candidate path; Based on the similarity scores of each candidate path, the optimal path corresponding to the local trajectory is selected.

14. The method for processing positioning signals according to claim 13, characterized in that, Calculating the similarity between the at least one candidate path and the local trajectory includes: Obtain the set of key points corresponding to each candidate path; Based on the key point set corresponding to each candidate path and the key point set corresponding to the local trajectory, the similarity between each candidate path and the local trajectory is calculated.

15. The method for processing positioning signals according to claim 13, characterized in that, Based on the similarity scores corresponding to each candidate path, the optimal path corresponding to the local trajectory is selected, including: Based on the similarity scores of each candidate path from high to low, two candidate paths are selected. If the difference between the similarity scores of the two candidate paths is greater than or equal to a set score threshold, then the candidate path with the largest similarity score is taken as the optimal path. If the difference between the similarity scores of the two candidate paths is less than the set score threshold, then the candidate path with the largest similarity score and the candidate path whose similarity score is less than the set score threshold are taken as the optimal path.

16. A device for processing positioning signals, characterized in that, include: The acquisition unit is configured to acquire, when it is determined that a positioning drift has occurred in the positioning signal for the positioning object, a local trajectory generated by multiple positioning signals that have not experienced positioning drift before, wherein the local trajectory contains the positioning positions contained by the multiple positioning signals respectively; The feature extraction unit is configured to extract the trajectory features corresponding to the local trajectory; The path retrieval unit is configured to determine the target key point of the local trajectory at the first curve position based on the trajectory features, and to select road segments with the starting point or ending point located in the target road network data within a second predetermined range centered on the target key point as candidate road segments. If the difference between the angle between the candidate road segment and its adjacent road segment and the turning angle at the target key point is within a set angle range, and the length of the candidate road segment and its adjacent road segment matches the length feature at the target key point, then the candidate road segment and its adjacent road segment are used as a road segment combination that matches the first curve position; based on the road segment combination that matches the first curve position, other curve positions of the local trajectory are continued to be matched to obtain at least one candidate path that matches the trajectory feature; The path selection unit is configured to select the optimal path corresponding to the local trajectory from the at least one candidate path.

17. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for processing the positioning signal as described in any one of claims 1 to 15.

18. An electronic device, characterized in that, include: One or more processors; A memory for storing one or more computer programs that, when executed by one or more processors, cause the electronic device to implement the method for processing positioning signals as described in any one of claims 1 to 15.

19. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, wherein a processor of an electronic device reads from and executes the computer program, causing the electronic device to perform the method for processing a positioning signal as described in any one of claims 1 to 15.