A three-dimensional map aided GNSS positioning method based on density clustering improvement
By introducing the OPTICS clustering algorithm and sky masking database to optimize satellite visibility scoring, the problem of multiple nearby peak candidate points in urban environments was solved, achieving higher positioning accuracy, especially with significant improvements in low-cost receivers and mobile phone applications.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUBEI URBAN LIFELINE TECHNOLOGY CO LTD
- Filing Date
- 2026-02-27
- Publication Date
- 2026-05-29
Smart Images

Figure CN122110185A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite navigation and positioning technology, specifically to a three-dimensional map-assisted GNSS positioning method based on density clustering improvement. Background Technology
[0002] In complex urban environments, satellite signals are blocked due to building obstruction, resulting in three scenarios: non-line-of-sight (NLOS) signals and multipath signals. To reduce NLOS and multipath effects, many scholars have conducted extensive research.
[0003] Since NLOS signals primarily originate from building obstruction and reflection, using 3D building models to determine signal obstruction allows for direct geometric NLOS identification. This use of 3D building models to assist GNSS positioning is called 3D Mapping Aided (3DMA) positioning. In the 3DMA field, the Shadow Matching (SM) algorithm proposed in 2011 is highly representative. The core principle of this algorithm is to determine whether the satellite signal is a direct signal by judging whether the connection between the user and the satellite is obstructed by a building model. Researchers have provided a detailed description of the implementation technology; the entire algorithm can be divided into two stages and a total of six steps: The first stage, also known as the offline stage, includes a step of generating a sky map of the building outlines offline.
[0004] The first step is to generate a sky map with the building outline based on the 3D building model. This is done by dividing the model into a grid and calculating the building outline for each grid point. This step is time-consuming and is performed offline.
[0005] The second stage involves online real-time location calculation, which includes five steps.
[0006] The first step is user location initialization. This typically involves using a single-point localization algorithm to obtain initial location coordinates, which are then used as the initial points for subsequent grid search.
[0007] The second step is to determine the search area. Considering the balance between the error range of single-point positioning and the computational load, a circular area with a search radius of 50m is usually defined, centered on the initial point.
[0008] The third step is satellite visibility prediction. Using the sky map with building boundaries generated offline in the first stage, the visibility of each satellite can be determined by analyzing the relationship between the satellite azimuth angle and its corresponding elevation angle at each grid point and the elevation angle of the building boundary.
[0009] The fourth step is location similarity assessment and scoring. A scoring mechanism is used to assess the similarity between satellite visibility and actual observed satellite visibility, generating a score for each grid point within the search area, and identifying the grid location with the best match.
[0010] The fifth step is location calculation. Finally, the location calculation result of the shadow matching is obtained by weighted averaging the positions of multiple high-scoring points.
[0011] Some scholars have made further optimizations based on this, improving the rules for selecting the highest score points, but the overall method remains similar.
[0012] The final step of the GNSS shadow matching positioning algorithm calculates high-scoring candidate points using a scoring model. However, since the search range is typically a circular area with a radius of 50m, multiple candidate points with the same highest score may appear simultaneously. These identical highest-scoring points may not be clustered together, and there's a possibility that the highest-scoring point is not the actual location. Therefore, calculating the final positioning location using a weighted average of candidate point locations will introduce bias. Selecting the top 5% of high-scoring points and then performing a weighted average on these points can improve the positioning effect to some extent, but it still cannot solve the problem of multiple scattered clusters of high-scoring points in adjacent blocks due to spatial similarity in the positioning environment. (See attached manual.) Figure 9 The candidate points in the search range are represented by small circles that transition from a light blue to orange-red color gradient. Areas with orange-red hues indicate high scores, while those with a bluish gradient indicate low scores. Two blue elliptical regions are shown, with the receiver's actual position at the magenta dot. The presence of numerous orange-red dots around these areas indicates a high score and good matching. However, the image also shows several high-scoring points within the small blue elliptical regions. Simply using the top 5% selection rule is insufficient to effectively eliminate these points. Therefore, according to the weighted average algorithm, these points will skew the final calculation result towards these small elliptical regions, resulting in a less than ideal final positioning result. Summary of the Invention
[0013] The purpose of this invention is to address the problems existing in the prior art by providing a 3D map-assisted GNSS positioning method based on density clustering improvement.
[0014] To achieve the above objectives, the technical solution adopted by the present invention is as follows: A 3D map-assisted GNSS positioning method based on density clustering includes the following steps: Build a 3D building model, obtain a sky map, and generate a sky mask. The sky mask is used to represent the area where the sky is blocked by an obstacle at a certain location. Based on the sky mask, a sky mask database is pre-generated, which contains data on azimuth and elevation angles, with the azimuth and elevation angles corresponding to each other; To determine satellite visibility, the visibility of each satellite is determined by the relationship between the satellite's azimuth angle and its corresponding elevation angle and the elevation angle of the obstacle boundary. The satellite visibility is scored based on the shadow matching algorithm, which provides a reliable basis for the subsequent selection of candidate points and location calculation; The candidate point selection rules were optimized by introducing the OPTICS clustering algorithm to sort, clean, and select candidate points, thereby selecting high-scoring points. Using the scores of high-scoring points as weights, the calculation formula is optimized into a weighted average formula that takes into account cluster weights to calculate the final position.
[0015] Furthermore, the sky mask is displayed on the sky map in polar coordinates that include azimuth and elevation angles. The sky mask is stored in a grid format, with each grid point containing azimuth information from 0° to 360°, and each azimuth angle corresponding to the highest obstacle elevation angle.
[0016] Furthermore, the sky mask database arranges all azimuth and elevation angle data in order using commas as separators, forming a field stored in the SQLite database, and the corresponding azimuth and elevation angles can be obtained by calling the database.
[0017] Furthermore, in the shadow matching algorithm, the observed data is optimized from simply whether or not satellite signals can be received into four categories: no reception, weak signal, medium intensity signal, and strong signal. A diffraction region for satellite signals is constructed around the three-dimensional building model. The diffraction region is used to simplify the simulation of the diffraction effect at the edge of the building, and satellite signals in the diffraction region in the prediction results are distinguished, thereby distinguishing invisible signals, diffracted signals, and visible signals.
[0018] Furthermore, the strength of the observed data is distinguished based on the signal strength, which is determined by the carrier-to-noise ratio (C / N0) in the observed data. When the observed data is a weak signal, if it is determined to be diffraction, the given score is greater than the score for determining it to be visible or invisible. Similarly, the score for a weak signal in the observed data to be determined to be diffraction is also higher than the score for a strong signal to be determined to be diffraction.
[0019] Furthermore, candidate points are screened according to the following rules: (1) Rank all candidate points from highest to lowest, and select the top three, which shall not exceed 5% of the total number of candidate points; (2) When the total number of the top three highest scores exceeds 5% of the total number of candidate points, only the top two or the first one will be selected.
[0020] Furthermore, the OPTICS clustering algorithm identifies cluster structures by ranking points, clustering data according to density distribution; the OPTICS clustering algorithm defines core distance and reachability distance, where core distance... It is expressed as follows: , reachable distance It is expressed as follows: , In the formula, Represents a point set The number of points Represents the minimum number of neighboring nodes. Point exist The distance within the range that exactly satisfies the minimum number of neighboring points. Point Time The distance.
[0021] Furthermore, the OPTICS clustering algorithm outputs an reachability map, where low-reachability points indicate the boundaries of clusters, distinguishing between large and small clusters of candidate points. In the application scenario of the shadow matching algorithm, large clusters represent a higher probability of the true location, while small clusters represent a lower probability of the true location. Based on the proportion of all valid candidate points within a cluster, corresponding weights are assigned to all points within the cluster.
[0022] Furthermore, using the scores of the top 5% as weights, the calculation formula is optimized into a weighted average, as follows: , In the formula, b , l and h These represent latitude, longitude, and altitude in geodetic coordinates, respectively. Indicates the first The coordinates of the candidate points Indicates the first The score for each point.
[0023] Furthermore, based on the identification results of the OPTICS clustering algorithm, the weight values of different clusters are obtained. The weighted average formula for the cluster weights is as follows: , In the formula, This represents the weight of the effective clustering of candidate points, and the value of j is generally within 3.
[0024] A computer-readable storage medium comprising a stored program that, when executed by a processor, implements the density clustering-based improved 3D map-assisted GNSS positioning method as described above.
[0025] An electronic device includes at least one processor and at least one memory connected to the processor; wherein the processor is configured to call program instructions in the memory to execute the density clustering-based improved 3D map-assisted GNSS positioning method as described above.
[0026] Compared with existing technologies, the beneficial effects of this invention are as follows: 1. This density-based improved 3D map-assisted GNSS positioning method can solve the problem of multiple neighboring peak candidate points in 3D building model-assisted GNSS pseudorange single-point positioning caused by similar geometric observation conditions in complex urban environments. By analyzing the distribution of peak candidate points, the candidate point selection problem is transformed into a high-scoring candidate point clustering problem. A density-based positioning candidate point selection method is proposed. The OPTICS clustering algorithm is used to sort data points according to density. By eliminating small clusters, the candidate points are effectively cleaned and selected. After eliminating candidate points from small clusters, the candidate points entering the weighted average calculation are more concentrated, which can effectively improve positioning accuracy. 2. In the sky mask generation stage, the storage method of sky mask data is optimized, which can save storage space while ensuring algorithm call efficiency. This is very useful for offline calls with mobile terminals and has practical application value. 3. The satellite visibility scoring algorithm has been improved, taking into account the diffraction model of building boundaries. By constructing a 3° diffraction interval, the scoring algorithm is further optimized, making the scoring more accurate. Attached Figure Description
[0027] Figure 1 This is a flowchart illustrating a 3D map-assisted GNSS positioning method based on density clustering, as described in this invention. Figure 2 This is a schematic diagram of the sky masking image database generation process of the present invention; Figure 3 This is a schematic diagram of the satellite signal diffraction region constructed around a three-dimensional building according to the present invention; Figure 4 This is a schematic diagram of the candidate point scoring scheme in the shadow matching algorithm of this invention; Figure 5 This is a schematic diagram illustrating the relationship between core distance and reachability distance in the OPTICS clustering algorithm of this invention; Figure 6 This is a schematic diagram of OPTICS density clustering based on the present invention; Figure 7This is a schematic diagram of the calculation results of static experimental position A in a highly complex environment in Embodiment 2 of the present invention; Figure 8 This is a schematic diagram of the dynamic experimental environment in Embodiment 2 of the present invention; Figure 9 This is a schematic diagram of the screening of candidate points in the prior art. Detailed Implementation
[0028] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0029] In the description of this invention, it should be noted that the terms "middle", "upper", "lower", "left", "right", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0030] Example 1: A 3D map-assisted GNSS positioning method based on density clustering is provided, combined with... Figure 1 and Figure 2 As shown, it includes the following steps: Build a 3D building model, obtain a sky map, and generate a sky mask. The sky mask is used to represent the area where the sky is blocked by an obstacle at a certain location. Based on the sky mask, a sky mask database is pre-generated, which contains data on azimuth and elevation angles, with the azimuth and elevation angles corresponding to each other; To determine satellite visibility, the visibility of each satellite is determined by the relationship between the satellite's azimuth angle and its corresponding elevation angle and the elevation angle of the obstacle boundary. The satellite visibility is scored based on the shadow matching algorithm, which provides a reliable basis for the subsequent selection of candidate points and location calculation; The candidate point selection rules were optimized by introducing the OPTICS clustering algorithm to sort, clean, and select candidate points, thereby selecting high-scoring points. Using the scores of high-scoring points as weights, the calculation formula is optimized into a weighted average formula that takes into account cluster weights to calculate the final position.
[0031] This density-based improved 3D map-assisted GNSS positioning method, through the steps outlined above, addresses the issue of multiple neighboring peak candidate points in 3D building model-assisted GNSS pseudorange single-point positioning (3DMA) in complex urban environments due to similar geometric observation conditions in adjacent urban areas. By analyzing the distribution of peak candidate points, the candidate point selection problem is transformed into a high-scoring candidate point clustering problem. A density-based positioning candidate point selection method is proposed, employing the OPTICS (Ordering Points To Identify the Clustering Structure) clustering algorithm to sort data points according to density. By eliminating small clusters, effective cleaning and selection of candidate points are achieved. After eliminating candidate points from small clusters, the candidate points entering the weighted average calculation are more concentrated, effectively improving positioning accuracy.
[0032] Furthermore, the sky mask is displayed on the sky map in polar coordinates, including azimuth and elevation angles. The sky mask is stored in a grid format, with each grid point containing azimuth information from 0° to 360°, and each azimuth angle corresponding to the highest obstacle elevation angle. The sky mask database arranges all elevation angle data corresponding to all azimuth angles sequentially, separated by commas, forming a field stored in an SQLite database. The corresponding azimuth and elevation angles can be retrieved through a retrieval method.
[0033] In the process of generating the sky mask, the storage method of the sky mask data has been optimized. As mentioned earlier, it can save storage space while ensuring the efficiency of algorithm calls. This is very useful for offline calls with mobile terminals and has practical application value.
[0034] More specifically, the sky mask is used to represent the area where the sky is obstructed by obstacles such as buildings or terrain at a certain location. It is usually displayed on the sky map in polar coordinates (azimuth and elevation angles), identifying which azimuth and elevation angles may be blocked from satellite signals. In urban environments, the sky mask plays a crucial role, effectively identifying and distinguishing between LOS and NLOS. In densely built-up urban areas, satellite signals are easily blocked by buildings, causing NLOS and severely impacting positioning accuracy. The sky mask can accurately locate areas where signal obstruction may occur, providing crucial information for subsequent improvements in positioning accuracy. The generated sky mask database has various uses, such as in 3D assisted positioning, where sky mask data is used to analyze and correct signal obstruction problems in complex urban environments, demonstrating its effectiveness in correcting NLOS errors and improving positioning accuracy.
[0035] The generated sky mask is typically stored in a grid format, with each grid point containing azimuth information from 0° to 360°, and each azimuth corresponding to the highest building elevation angle. To facilitate subsequent use by mobile devices such as smartphones, data storage should be as space-efficient as possible. Existing technologies store the sky mask data by storing the elevation angle corresponding to each azimuth as a separate field. This method is clear and intuitive, but its storage space consumption is relatively high. Table 1 shows an example of this sky mask storage format, where each point stores one record for each azimuth, requiring 360 records for a single location's sky mask. In database storage compression technology, storing data of the same type across multiple rows and columns consumes more space than merging data into a single field. Therefore, this invention arranges all elevation angle data corresponding to all azimuths sequentially using commas as separators, forming a single field stored in an SQLite database. During retrieval, the corresponding azimuth and elevation angles can be quickly obtained using the aforementioned rules. The database storage method is shown in Table 2. Each record represents the sky mask data for the corresponding location, and only one record needs to be stored for each point, significantly reducing the data storage space consumption.
[0036] Table 1: Examples of Sky Mask Data Storage Formats in Existing Technologies
[0037] Table 2: Examples of Sky Mask Data Storage Format in this Invention
[0038] Furthermore, in the shadow matching algorithm, the observed data is optimized from simply whether a satellite signal can be received into four categories: no signal, weak signal, medium-intensity signal, and strong signal. A diffraction region for the satellite signal is constructed around the 3D building model. This diffraction region simplifies the simulation of the diffraction effect at the building edges, distinguishing satellite signals within the diffraction region from the predicted results, thus differentiating between invisible, diffracted, and visible signals. The strength of the observed data is distinguished based on signal strength, which is determined by the carrier-to-noise ratio (C / N0). When the observed data is a weak signal, if it is determined to be diffraction, the given score is higher than the score for being determined to be visible or invisible. Similarly, the score for a weak signal being determined to be diffraction is also higher than the score for a strong signal being determined to be diffraction.
[0039] This method improves the satellite visibility scoring algorithm by taking into account the diffraction model of building boundaries and constructing a 3° diffraction interval, thereby further optimizing the scoring algorithm and making the scoring more accurate.
[0040] Specifically, in shadow matching algorithms, satellite visibility scoring is a crucial step, directly impacting the selection of subsequent candidate points and location calculations, and playing a decisive role in the overall positioning accuracy of the algorithm. In the early stages of shadow matching algorithm development, satellite visibility assessment relied solely on 3D building models, scoring based on whether the received satellite signal matched the occlusion predicted by the 3D model. While this relatively simple method could initially differentiate satellite signal occlusion to some extent, it failed to comprehensively and accurately reflect the actual propagation of satellite signals in complex urban environments. Subsequently, the scoring model was further optimized by introducing signal strength for further differentiation, refining the observation value from simply whether a satellite signal could be received to four categories: no reception, weak signal, moderate signal, and strong signal. This improvement allows for more detailed analysis of satellite signals, more accurately reflecting the attenuation and interference during propagation. Regarding the prediction results, given the diffraction phenomenon of satellite signals at building edges, constructing a diffraction field using various physical factors such as building surface material, incident angle, and receiver characteristics would be extremely complex and computationally intensive, making it impractical in real-world applications. Therefore, this invention simplifies the simulation of diffraction effects at building edges by adding a 3° diffraction region, as illustrated below. Figure 3 As shown.
[0041] Based on the above modeling method, signals located in the diffraction region in the prediction results can be distinguished, thereby differentiating between invisible signals (NLOS), diffracted signals, and visible signals (LOS). On this basis, the scoring rules can be further optimized and improved, resulting in... Figure 4 The scoring scheme is shown below. In this scheme, the strength of observed data is distinguished based on signal strength, which is determined by the carrier-to-noise ratio (C / N0) in the observed data. When the observed data is a weak signal, if it is determined to be diffraction, its given score is higher than the score for being determined to be visible or invisible; similarly, the score for a weak signal being determined to be diffraction is also higher than the score for a strong signal being determined to be diffraction. This scoring rule fully considers the differences in the characteristics of signals of different intensities under diffraction conditions, and can more reasonably quantify and score satellite visibility, providing a more accurate and reliable basis for subsequent candidate point selection and position calculation.
[0042] Furthermore, as can be seen from the shadow matching algorithm's process, regardless of the scoring scheme used, there is always a possibility of multiple candidate points with the same score. In this case, the candidate point selection strategy will determine the final localization result of the shadow matching algorithm. The weighted average method is currently a commonly used approach, and its point selection principle is to select the point with the same highest score. However, when there are adjacent streets with similar sky structures, this method is prone to causing deviations in the calculation results. To effectively solve this problem, a clustering method based on spatial distance is proposed. The principle for including points in the cluster is to obtain the top 5% of points. Then, for one or more clusters obtained, the confidence level R of each cluster is calculated according to the following formula: , In the formula, N represents the number of clusters. This represents the number of satellites in the *th cluster. This indicates the number of identical satellites in two clusters. A higher R value indicates that the cluster is closer to the actual location.
[0043] However, this point selection method has certain limitations. It may result in points with the same score not being included in the candidates, which will have an adverse effect on the clustering effect of the candidate points.
[0044] Therefore, the present invention performs candidate point screening according to the following rules: (1) Rank all candidate points from highest to lowest, and select the top three, which shall not exceed 5% of the total number of candidate points; (2) When the total number of the top three highest scores exceeds 5% of the total number of candidate points, only the top two or the first one will be selected.
[0045] OPTICS is a density-based clustering algorithm, short for Ordering Points To Identify the Clustering Structure. It identifies cluster structures by ordering points, aiming to cluster spatial data according to density distribution. Its concept is very similar to DBSCAN (Density-Based Spatial Clustering of Applications with Noise). However, unlike DBSCAN, OPTICS has a unique advantage: it can identify clusters of different densities. This characteristic perfectly aligns with the research goal of identifying principal clusters.
[0046] This invention, based on DBSCAN, further defines the core distance and reachability distance (e.g., based on the OPTICS clustering algorithm). Figure 5 As shown), the core distance It is expressed as follows: , reachable distance It is expressed as follows: , In the formula, Represents a point set The number of points Represents the minimum number of neighboring nodes. Point exist The distance within the range that exactly satisfies the minimum number of neighboring points. Point Time The distance.
[0047] Furthermore, the output of the OPTICS clustering algorithm is an reachability graph, where low-reachability points indicate the boundaries of clusters. This graph can help distinguish between large and small clusters of candidate points. In the application scenario of the shadow matching algorithm, large clusters represent a higher probability of the true location, while small clusters represent a lower probability of the true location. Based on the proportion of all valid candidate points within a cluster, corresponding weights are assigned to all points within the cluster.
[0048] Specifically, such as Figure 6 As shown, the horizontal axis represents the order in which the OPTICS algorithm processes points, and the vertical axis represents the reachability distance. Clusters are represented in a valley shape on the coordinate axis, and the depth of the valley is positively correlated with the density of the cluster. For example, the green areas in the figure indicate clusters. Yellow in each cluster represents noise, and the determination of noise points depends on a pre-set threshold, which can be flexibly adjusted according to actual needs. After setting a fixed and appropriate reachability threshold, discrete points in the peak area can be easily eliminated, thereby determining large and small clusters. Subsequently, based on the proportion of all valid candidate points within a cluster, corresponding weights are assigned to all points within the cluster.
[0049] Furthermore, using the scores of the top 5% as weights, the calculation formula is optimized into a weighted average, as follows: , In the formula, b , l and h These represent latitude, longitude, and altitude in geodetic coordinates, respectively. Indicates the first The coordinates of the candidate points Indicates the first The score for each point.
[0050] Furthermore, based on the identification results of the OPTICS clustering algorithm, the weight values of different clusters are obtained. The weighted average formula for the cluster weights is as follows: , In the formula, This represents the weight of the effective clustering of candidate points, and the value of j is generally within 3.
[0051] The above calculations will eliminate small clusters as noise points, making the points involved in the location calculation more realistic and thus improving the accuracy of the positioning.
[0052] Example 2: A verification process for the positioning method in Example 1 is provided.
[0053] To verify the practical effect of the improved shadow matching algorithm, a static experiment was conducted in a complex environment. The area was flanked by tall buildings, all over 30 stories high, resulting in significant signal obstruction. The experimental area was located within a narrow passage approximately 16 meters wide. Raw GNSS observation data was acquired using a Trimble Alloy geodetic receiver and a low-cost ublox F9P receiver. The Trimble Alloy was paired with a Trimble Zephyr 3 geodetic antenna, while the ublox F9P was equipped with an ANN-MB microstrip patch antenna. For the GNSS data acquired by the two sets of devices at the two locations, single-point positioning (SPP), shadow matching algorithm (SM), and a cluster-based improved shadow matching algorithm (SM-OP) were used for computation. Figure 7 The distribution of calculation results for location A is shown. The left figure shows the solution results of Trimble Alloy, and the right figure shows the positioning results of ublox. The dark gray, blue, and green dots in the figures represent the positioning results of the SPP algorithm, the traditional SM algorithm, and the SM-OP algorithm, respectively. It can be seen that for the Trimble Alloy receiver, the SPP horizontal positioning accuracy (RMS) is 17.46m, and SM is 8.53m, an improvement of 51.15%. When the SM-OP algorithm is used, the positioning accuracy is further improved by 44.25%, reaching 5.00m. For ublox, the SPP RMS is 45.82m, and SM is 16.38m, an improvement of 64.25% compared to SPP. The SM-OP positioning accuracy is 11.63m, an improvement of 29.0% compared to SM.
[0054] The equipment and test site used in the dynamic experiment were consistent with those used in the static experiment in a moderately complex environment; all equipment was mounted on a vehicle-mounted platform. The test route covered three different types of areas: the areas within the red boxes on the east and west sides were relatively narrow areas; the southern section was a relatively open canyon area; and the northern section was a semi-obstructed area, as shown in the diagram. Figure 8 As shown.
[0055] Analysis of the experimental results shows that SM-OP demonstrates a significant performance improvement over the SM algorithm on all three devices. For Trimble Alloy, the horizontal positioning accuracy (RMS) across the SPP, SM, and SM-OP algorithms is 11.14m, 8.61m, and 7.55m, respectively. SM-OP shows a 12.4% improvement over SM and a 32.3% improvement over the traditional SPP. For ublox F9P, the horizontal RMS across the SPP, SM, and SM-OP algorithms is 19.73m, 12.01m, and 8.08m, respectively. SM-OP shows a 32.8% improvement over SM and a 59.0% improvement over the traditional SPP. For Huawei P40, the horizontal RMS across the SPP, SM, and SM-OP algorithms is 17.47m, 11.07m, and 7.88m, respectively. SM-OP shows a 28.8% improvement over SM and a 54.9% improvement over the traditional SPP.
[0056] In summary, this invention addresses the problem of multiple high-score regions in traditional shadow matching algorithms affecting positioning accuracy. It proposes a candidate point clustering algorithm based on OPTICS, and the improved shadow matching algorithm demonstrates significant performance improvements for high-precision measurement receivers, low-cost receivers, and mobile phones. Particularly in low-cost receiver and mobile phone applications, SM-OP shows a significant improvement in positioning accuracy compared to SPP, reaching 59.0% and 54.9% respectively; compared to traditional SM, it also achieves positioning accuracy improvements of 32.8% and 28.8% respectively.
[0057] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A 3D map-assisted GNSS positioning method based on density clustering improvement, characterized in that, Includes the following steps: Build a 3D building model, obtain a sky map, and generate a sky mask. The sky mask is used to represent the area where the sky is blocked by an obstacle at a certain location. Based on the sky mask, a sky mask database is pre-generated, which contains data on azimuth and elevation angles, with the azimuth and elevation angles corresponding to each other; To determine satellite visibility, the visibility of each satellite is determined by the relationship between the satellite's azimuth angle and its corresponding elevation angle and the elevation angle of the obstacle boundary. The satellite visibility is scored based on the shadow matching algorithm, which provides a reliable basis for the subsequent selection of candidate points and location calculation; The candidate point selection rules were optimized by introducing the OPTICS clustering algorithm to sort, clean, and select candidate points, thereby selecting high-scoring points. Using the scores of high-scoring points as weights, the calculation formula is optimized into a weighted average formula that takes into account cluster weights to calculate the final position.
2. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, The sky mask is displayed on the sky map in polar coordinates that include azimuth and elevation angles. The sky mask is stored in a grid format, with each grid point containing azimuth information from 0° to 360°, and each azimuth angle corresponding to the highest obstacle elevation angle.
3. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, The sky mask database arranges all azimuth and elevation angle data in comma-separated order, forming a field stored in the SQLite database. The corresponding azimuth and elevation angles can be retrieved by calling the database.
4. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, In the shadow matching algorithm, the observation data is optimized from simply whether or not a satellite signal can be received into four categories: no reception, weak signal, medium strength signal, and strong signal; A diffraction region for satellite signals is constructed around a 3D building model. This diffraction region simplifies the simulation of diffraction effects at the building edges, allowing satellite signals within the diffraction region in the prediction results to be distinguished, thus differentiating between invisible signals, diffracted signals, and visible signals.
5. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 4, characterized in that, The strength of the observed data is distinguished based on the signal strength, which is determined by the carrier-to-noise ratio C / N0 in the observed data. When the observed data is a weak signal, if it is determined to be diffraction, the given score is greater than the score for determining whether it is visible or invisible. Similarly, the score for weak signals in the observed data being identified as diffraction is higher than the score for strong signals being identified as diffraction.
6. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, Candidate points are selected according to the following rules: (1) Rank all candidate points from highest to lowest, and select the top three, which shall not exceed 5% of the total number of candidate points; (2) When the total number of the top three highest scores exceeds 5% of the total number of candidate points, only the top two or the first one will be selected.
7. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, The OPTICS clustering algorithm identifies cluster structures by ranking points, clustering data according to density distribution. The OPTICS algorithm defines core distance and reachability distance, where core distance... It is expressed as follows: , reachable distance It is expressed as follows: , In the formula, Represents a point set The number of points Represents the minimum number of neighboring nodes. Point exist The distance within the range that exactly satisfies the minimum number of neighboring points. Point Time The distance.
8. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, The OPTICS clustering algorithm outputs an reachability map, where low-reachability points indicate the boundaries of clusters, distinguishing between large and small clusters of candidate points. In the application scenario of the shadow matching algorithm, large clusters represent a higher probability of the true location, while small clusters represent a lower probability of the true location. Based on the proportion of all valid candidate points within a cluster, corresponding weights are assigned to all points within the cluster.
9. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 1, characterized in that, Using the scores of the top 5% as weights, the calculation formula is optimized into a weighted average, as follows: , In the formula, b , l and h These represent latitude, longitude, and altitude in geodetic coordinates, respectively. Indicates the first The coordinates of the candidate points Indicates the first The score for each point.
10. The 3D map-assisted GNSS positioning method based on density clustering improvement according to claim 9, characterized in that, Based on the identification results of the OPTICS clustering algorithm, the weight values of different clusters are obtained. The weighted average formula for the cluster weights is as follows: , In the formula, This represents the weight of the effective clustering of candidate points, where j takes a value less than or equal to 3.