Terminal positioning method and apparatus, terminal, and storage medium

By dividing the urban environment with its towering buildings into sub-grid areas using ephemeris data and building data, and combining multi-dimensional data features to determine the terminal location, the problem of inaccurate positioning caused by weakened satellite signals has been solved, achieving precise regional positioning.

CN116202507BActive Publication Date: 2026-05-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

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 urban environments filled with high-rise buildings, satellite-based positioning technology struggles to achieve precise positioning, resulting in significant discrepancies between the actual location and the positioning results, leading to low positioning accuracy.

Method used

By obtaining the approximate location of the terminal, and based on ephemeris data, building data, and terminal satellite observation data, the target grid area is divided into multiple sub-grid areas. Multi-dimensional data features are then used to determine the target sub-grid area where the terminal is located, thereby improving positioning accuracy.

Benefits of technology

In environments with weak satellite signals, the terminal achieved accurate regional positioning, reducing the probability of positioning errors caused by positioning result errors and meeting users' positioning needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116202507B_ABST
    Figure CN116202507B_ABST
Patent Text Reader

Abstract

This application discloses a terminal positioning method, apparatus, terminal, and storage medium, relating to the field of mapping. The method includes: obtaining the approximate location of the terminal; determining a target grid region on a map based on the approximate location of the terminal, wherein the approximate location of the terminal is within the target grid region; dividing the target grid region into multiple sub-grid regions based on the current positioning scenario and map information of the target grid region, wherein the sub-grid region division method differs under different positioning scenarios; determining the sub-region characteristics of each sub-grid region based on ephemeris data, building data within the target grid region, and terminal satellite observation data; and determining the target sub-grid region where the terminal is located based on the sub-region characteristics. In environments with weak satellite signals, such as those with tall buildings, the solution described in this application can improve the accuracy of terminal positioning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mapping, and in particular to a terminal positioning method, device, terminal, and storage medium. Background Technology

[0002] In modern cities, high-rise buildings abound, and satellite signals are often weak on city streets or inside buildings. Related technologies typically use data extrapolated from satellite observations as positioning data to determine the terminal's location, for example, by predicting the terminal's location based on shadow matching. However, the accuracy of the positioning results is limited, making precise positioning difficult to achieve.

[0003] During the area positioning process, users need to determine their specific location, such as pinpointing which building within a cluster they are currently in. However, when area positioning is based on location data with poor accuracy, the target area obtained deviates significantly from the actual location of the device, resulting in low positioning accuracy. Summary of the Invention

[0004] This application provides a terminal positioning method, device, terminal, and storage medium, which can improve the accuracy of regional positioning in urban and other scenarios with numerous high-rise buildings. The technical solution is as follows:

[0005] On one hand, embodiments of this application provide a terminal positioning method, the method comprising:

[0006] Obtain approximate location of the terminal;

[0007] Based on the approximate location of the terminal, a target grid area in the map is determined, wherein the approximate location of the terminal is located within the target grid area;

[0008] Based on the current positioning scenario and the map information of the target grid area, the target grid area is divided into multiple sub-grid areas, wherein the sub-grid areas are divided in different ways under different positioning scenarios;

[0009] Based on ephemeris data, building data within the target grid area, and terminal satellite observation data, the sub-region characteristics of each sub-grid area are determined;

[0010] The target sub-grid region where the terminal is located is determined based on the sub-region features.

[0011] On the other hand, embodiments of this application provide a terminal positioning device, the device comprising:

[0012] The acquisition module is used to obtain the approximate location of the terminal;

[0013] The first determining module is used to determine a target grid area in the map based on the approximate location of the terminal, wherein the approximate location of the terminal is located within the target grid area;

[0014] The segmentation module is used to divide the target grid area into multiple sub-grid areas based on the current positioning scene and the map information of the target grid area. The segmentation method of the sub-grid areas is different in different positioning scenes.

[0015] The second determining module is used to determine the sub-region characteristics of each of the sub-grid regions based on ephemeris data, building data within the target grid region, and terminal satellite observation data.

[0016] The third determining module is used to determine the target sub-grid region where the terminal is located based on the sub-region features.

[0017] On the other hand, embodiments of this application provide a terminal, the terminal including a processor and a memory, the memory storing at least one program, the at least one program being loaded and executed by the processor to implement the terminal positioning method as described above.

[0018] On the other hand, embodiments of this application provide a computer-readable storage medium storing at least one program, which is loaded and executed by a processor to implement the terminal positioning method as described above.

[0019] On the other hand, embodiments of this application provide a computer program product including computer instructions stored in a computer-readable storage medium. A terminal's processor reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the terminal to perform the terminal positioning method described above.

[0020] In this embodiment, the server, after obtaining the approximate location of the terminal, determines a target grid area on the map that includes the approximate location of the terminal, and performs regional positioning within the target grid area. Based on the different positioning requirements under different positioning scenarios, and the different regions corresponding to the positioning requirements, the server divides the target grid area into sub-grid areas according to the current positioning scenario. Then, based on building data and terminal satellite observation data in the target grid area, the server determines the sub-region features corresponding to each sub-grid area, and calculates the probability that the terminal is located in each sub-grid area based on the sub-region features. The sub-grid area with the highest calculated probability is then determined as the target sub-grid area, completing the terminal positioning. In this embodiment, when performing regional positioning, the server first divides the area according to the current positioning scenario to meet the positioning requirements, obtaining sub-grid areas, and integrates various types of data as sub-region features. Then, based on the sub-region features, the relationship between the corresponding location of the sub-grid area and the terminal location is determined, improving the accuracy of regional positioning. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 A schematic diagram of an implementation environment provided by an exemplary embodiment of this application is shown;

[0023] Figure 2 A flowchart illustrating a terminal positioning method provided in an exemplary embodiment of this application is shown;

[0024] Figure 3 A schematic diagram of a target grid region provided in an exemplary embodiment of this application is shown;

[0025] Figure 4 A schematic diagram illustrating a data source provided in an exemplary embodiment of this application is shown;

[0026] Figure 5 A schematic diagram illustrating the calculation of shadow matching degree provided in an exemplary embodiment of this application is shown;

[0027] Figure 6 A schematic diagram of an intersection positioning scenario provided by an exemplary embodiment of this application is shown;

[0028] Figure 7 A schematic diagram of an intersection positioning scenario provided by another exemplary embodiment of this application is shown;

[0029] Figure 8 A schematic diagram of a building positioning scenario provided by an exemplary embodiment of this application is shown;

[0030] Figure 9 A flowchart illustrating the determination of a target subgrid region provided in an exemplary embodiment of this application is shown;

[0031] Figure 10 This invention provides a structural block diagram of a terminal positioning device according to an exemplary embodiment of the present application.

[0032] Figure 11 A structural block diagram of a terminal provided in an exemplary embodiment of this application is shown. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0034] For ease of understanding, the terms used in the embodiments of this application will be explained below.

[0035] Satellite positioning refers to a technology that uses satellites to accurately locate an object. In practical applications, users can use user equipment with satellite positioning capabilities to determine their current location. The user equipment component is the GPS (Global Positioning System) signal receiver, whose main function is to acquire the target satellites selected according to a certain satellite cutoff angle and determine the orbits of these satellites. Once the receiver acquires the corresponding satellite signals, it can measure the pseudo-range and the rate of change of distance from the receiving antenna to the satellite, and demodulate data such as satellite orbital parameters. Based on this data, the microprocessor in the receiver can perform positioning calculations according to positioning calculation methods, calculating the user's geographical location, latitude, longitude, altitude, speed, time, and other information. The receiver hardware, internal software, and GPS data post-processing software package constitute a complete GPS user equipment.

[0036] With the development of internet technology, satellite positioning technologies such as GNSS (Global Navigation Satellite System) are increasingly integrated with mobile internet technology. Applications incorporating terminal positioning capabilities are also increasing. For example, in ride-hailing services, the application first needs to locate the current terminal location, determine the caller's location, and locate available vehicles. It then sends order information to nearby available vehicles and synchronizes the caller's location with the accepting vehicle. In this scenario, if the caller is located at an intersection, accurately determining which side of the intersection the caller is on is crucial for the accepting vehicle to reach the correct location and provide ride-hailing service. However, in cities, due to the presence of tall buildings and significant building obstruction of satellite signals, the accuracy of positioning results obtained using only satellite signal-based methods like GPS is often insufficient to meet user needs.

[0037] This application provides a terminal positioning method that can still guarantee positioning accuracy and meet user positioning needs in environments with weak satellite signals, such as urban areas. Illustratively, in the aforementioned application scenario, even in environments where buildings obstruct satellite signals, the application can still determine the specific side of an intersection where the terminal is located, achieving accurate area positioning based on the weak satellite signal. This reduces the probability of incorrect positioning area results due to large positioning error.

[0038] Please refer to Figure 1 The diagram illustrates an implementation environment provided in one embodiment of this application, which includes a terminal 110 and a server 120.

[0039] Terminal 110 refers to an electronic device with terminal positioning function. Terminal 110 includes a positioning chip, such as a GNSS chip, which enables it to receive and process satellite signals for positioning. Terminal 110 includes, but is not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Terminal 110 and server 120 can be directly or indirectly connected via wired or wireless communication, which is not limited herein.

[0040] Figure 1In this system, terminal 110 is equipped with an application that enables terminal positioning, and this application can locate the terminal based on satellite signals. When performing a terminal positioning task, server 120 can obtain the approximate location of terminal 110 synchronized with the terminal. This approximate location can optionally be a less precise location determined by the terminal 110 based on a positioning chip. Server 120 then corrects the approximate location of the terminal using acquired ephemeris data, map information, and building data. In one possible implementation, server 120 determines the current positioning scene based on map information and divides the approximate location of the terminal into sub-grid areas based on the current positioning scene, thereby performing precise regional positioning based on these sub-grid areas.

[0041] Server 120 can be a standalone physical server, a server cluster or distributed system composed of multiple 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 (CDNs), and big data and artificial intelligence platforms. In this embodiment, server 120 is the backend server for the application with terminal positioning function in terminal 110, used to perform accurate regional positioning of the terminal based on the approximate location of the terminal and satellite data, and determine the regional positioning result.

[0042] In one possible implementation, the terminal positioning method can be deployed in terminal 110 or in server 120. In another possible implementation, the terminal positioning result is calculated based on a regression model, wherein the regression model is trained based on sample data. This model can be trained and deployed by server 120 or at terminal 110, but this embodiment does not limit this.

[0043] For ease of explanation, the following embodiments are illustrated using the example of the terminal positioning method being executed by the server.

[0044] It should be noted that this application may display a prompt interface, pop-up window, or output voice prompt information before and during the collection of user-related data. This prompt interface, pop-up window, or voice prompt information is used to inform the user that their relevant data is being collected. This ensures that the application only begins the steps for collecting user-related data after receiving confirmation from the user regarding the prompt interface or pop-up window; otherwise (i.e., without receiving confirmation from the user), the steps for collecting user-related data end, meaning no user-related data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of relevant user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. In one possible implementation, the relevant data collected with the user's consent and authorization includes the user's probabilistic location during terminal positioning. Optionally, the relevant data may also include terminal satellite observation data, etc.

[0045] Please refer to Figure 2 It illustrates a flowchart of a terminal positioning method provided in an exemplary embodiment of this application, combined with Figure 2 The above-described implementation environment will be used to illustrate the terminal positioning method provided in this application embodiment. In this embodiment, the method is applied to a terminal for illustration. The method includes:

[0046] Step 201: Obtain the approximate location of the terminal.

[0047] The approximate location of a terminal refers to the location information obtained through rough positioning. While it can indicate the terminal's current location to some extent, the accuracy of this approximate location is insufficient for users' positioning needs during regional positioning. Further calculations based on satellite observation data and other positioning data are required to improve positioning accuracy and correct the approximate location, thus determining a more precise terminal position.

[0048] Optionally, the approximate location of the terminal can be determined by satellite positioning such as GPS positioning, or by positioning through communication base stations; this application does not limit this.

[0049] Step 202: Based on the approximate location of the terminal, determine the target grid area in the map, where the approximate location of the terminal is located within the target grid area.

[0050] In one possible implementation, the area surrounding the approximate location of the terminal on the map is defined as the target area, centered on the terminal's approximate location. Once the target area is determined, it is then gridded to obtain a target grid area, which includes multiple grid cells.

[0051] Optionally, the grid cells in the target grid region can be square grids, rhombus grids, or regular polygonal grids, and this application does not limit them.

[0052] The approximate terminal location is a predicted location information to be corrected, and it does not accurately reflect the terminal's current location. Furthermore, the terminal's actual location should be located around the approximate location. Therefore, the terminal's current location should be within the target grid area, and the terminal can then perform further localization within that area.

[0053] Optionally, in determining the target grid area, the deviation range of the terminal's approximate location can be determined based on the current positioning scenario, and the size of the target grid area can be determined based on this deviation range. For example, when buildings are densely packed or tall near the terminal, satellite signals are weaker, and the deviation between the probabilistic location of the terminal determined based on satellite signals and the terminal's actual location may be significant. Therefore, a relatively large local area can be determined as the target grid area. This ensures that the terminal is located within this target grid area.

[0054] Optionally, the target grid region can be a local area generated centered on the approximate location of the terminal. Alternatively, after identifying the approximate location of the terminal and its surrounding map information, a local area with a high probability of containing the precise location of the terminal corresponding to the approximate location can be determined, and a corresponding target grid region can be generated based on the aforementioned local area.

[0055] Optionally, the target grid area determined in the map can be a rectangular area, a regular polygonal area, or an irregular area determined based on map information around the approximate location of the terminal. This application does not limit this.

[0056] Indicative, such as Figure 3 As shown, when the approximate location of the terminal is near an intersection, a rectangular area 301 surrounding the approximate location is determined as the target area. Map information indicates that buildings near the approximate location are relatively tall and densely packed, significantly obstructing satellite signals and resulting in weak signals. Consequently, the approximate location obtained through coarse satellite positioning may have a large deviation. To ensure the terminal's true location is within the target area, a larger target area needs to be determined; therefore, a target area with a diagonal length of 20 meters is chosen. Since the terminal's approximate location is near an intersection, the current positioning requirement is likely to determine which side of the intersection the terminal is on. Therefore, to meet this positioning requirement, the intersection and the main road extending a certain distance outward from it must be within the target area, and correspondingly, the terminal's approximate location must also be within the target area. After determining the target area's position on the map, this target area is gridded to obtain the target grid area.

[0057] Step 203: Based on the current positioning scenario and the map information of the target grid area, the target grid area is divided into multiple sub-grid areas. The sub-grid areas are divided in different ways under different positioning scenarios.

[0058] The current positioning scenario characterizes the positioning requirement for the current area. The goal of area positioning is to determine which range of the target grid region the terminal is located within. In practical applications, the different ranges within the target grid region where the terminal's positioning result falls have different implications for the user. For example, if the terminal is currently located in a cluster of buildings, including adjacent buildings A and B, with different roads leading to the main road, and the user is using a navigation application with positioning capabilities in building A to navigate towards the main road, the approximate location of the terminal obtained by satellite positioning could be anywhere within the area formed by buildings A and B, due to the proximity of buildings A and B and the relatively weak satellite signal in the cluster. In this case, after correcting the approximate location to improve the accuracy of the positioning result, determining whether the terminal is located in building A or B is crucial. That is, area positioning based on the building range indicated by map information is the key task in the current positioning scenario. Therefore, in terminal positioning, in order to achieve accurate regional positioning, the server determines the various ranges that need to be distinguished based on the current positioning scenario, and divides them into corresponding sub-grid areas by combining the map information in the target grid area.

[0059] Optionally, the sub-grid region can be divided in a way that varies depending on the current location scenario. Therefore, the sub-grid region can be an irregular region determined based on the current location scenario.

[0060] To illustrate, when the approximate location of the terminal is near a main road, the server can determine, based on map information of the vicinity, that the focus of the current terminal positioning is on area positioning based on the road. In real-world applications, especially in cities, the limitations imposed by vehicle travel directions on roads make it crucial to understand which side of the road the terminal is located on when positioning near a road essential location information. Therefore, when the approximate location of the terminal is near a main road, the two sides of the road can be divided into different sub-grid areas. By performing area positioning based on these sub-grid areas, the relationship between the terminal's location and the main road can be accurately determined.

[0061] Step 204: Based on ephemeris data, building data within the target grid area, and terminal satellite observation data, determine the sub-region characteristics of each sub-grid area.

[0062] In environments with weak satellite signals, the location of a terminal can be predicted by utilizing satellite observation data from the terminal, based on whether or not a satellite signal can be observed.

[0063] However, if the terminal probability location is corrected based solely on the shadow matching degree to determine the final terminal location prediction result, the accuracy of the result is still insufficient.

[0064] In calculating shadow matching accuracy, several valuable observational data points are sacrificed. However, in some positioning scenarios, these sacrificed or ignored observations can accurately reflect the terminal's location. For example, if the terminal's probabilistic location is between a building and a road, and the distance between them is short, the terminal could be inside or outside the building. Since satellite signal reception differs significantly between inside and outside buildings, in this scenario—specifically, when determining the relationship between the terminal's location and the building—terminal satellite observation data offers the highest accuracy and reference value. However, when using shadow matching accuracy to predict the terminal's location, further calculations and interpretations on the satellite observation data reduce its reference value. Therefore, the reference value of various data points differs in different positioning scenarios. Thus, using multi-dimensional and multi-faceted data for terminal positioning allows for a comprehensive consideration of the relationship between the terminal's location and the corresponding location in the sub-grid area, improving the accuracy of the positioning results.

[0065] To improve the accuracy of terminal positioning results, in this embodiment, the server determines the sub-region features of each sub-grid area based on ephemeris data, building data within the target grid area, and terminal satellite observation data, and predicts the terminal location based on the sub-region features. These sub-region features are multi-dimensional and not a single data volume.

[0066] Step 205: Determine the target sub-grid region where the terminal is located based on the sub-region features.

[0067] In this embodiment, the goal of terminal positioning is to achieve high-precision regional positioning. Based on the positioning requirements corresponding to the current positioning scenario, the system accurately determines which sub-grid region within the target grid area the terminal is located in. Since the sub-region features include at least the shadow matching degree feature of the corresponding sub-grid region, and at least one of the building features, regional basic features, and satellite visualization features of the sub-grid region, representing information related to terminal positioning within the sub-grid region, the server can calculate the relationship between the terminal's location and the corresponding locations in each sub-grid region based on these features, i.e., determine the probability that the terminal is located in each sub-grid region. The target sub-grid region with the highest probability of including the terminal's location among all the sub-grid regions included in the target grid area is then used as the regional positioning result.

[0068] Optionally, in different application scenarios, after determining the target sub-grid area, the server uses other terminal positioning methods to further determine the specific location of the terminal within the target sub-grid area. Then, the specific location of the terminal is displayed in applications with positioning capabilities.

[0069] In summary, based on the approximate location of the terminal, the server determines a target grid area on the map that includes the approximate location of the terminal, and performs regional positioning within the target grid area. Given the different positioning requirements in different positioning scenarios, and the different regions corresponding to the positioning requirements, the server divides the target grid area into sub-grid areas based on the current positioning scenario. Furthermore, based on building data and terminal satellite observation data within the target grid area, the server determines the sub-region features corresponding to each sub-grid area and calculates the probability that the terminal is located within each sub-grid area based on these features. The sub-grid area with the highest calculated probability is then determined as the target sub-grid area, completing the terminal positioning. In this embodiment, when performing regional positioning, the server first divides the area according to the positioning requirements based on the current positioning scenario to obtain sub-grid areas, and then integrates various types of data as sub-region features. Finally, based on these sub-region features, the relationship between the corresponding location in the sub-grid area and the terminal location is determined, improving the accuracy of regional positioning.

[0070] When users use a terminal location application for positioning, their positioning needs typically differ depending on the application scenario. For example, when a user hails a ride-hailing car at an intersection, they use the terminal location application to pinpoint their current location. In this scenario, the user needs the application to accurately indicate which side of the intersection they are on. Therefore, the terminal positioning goal is to determine which side of the intersection the terminal is on, i.e., area positioning is required. In this embodiment, for the current positioning scenario, the area is first divided into sub-grid areas. Within each sub-grid area, the sub-grid area with the highest probability of the terminal's location is selected as the target sub-grid area, thus achieving area positioning. To ensure that the area positioning result meets the user's positioning needs, the method of dividing the sub-grid areas should be adapted to the user's needs, i.e., it should be adapted to the positioning scenario.

[0071] In different positioning scenarios, users have different regional positioning needs. Since terminal positioning is based on the actual surrounding environment, map information reflecting the terminal's surrounding environment can, to some extent, characterize the current positioning scenario, that is, reflect the current positioning needs. Based on the terminal's approximate location being within a target grid area, which includes the terminal's surrounding environment, in one possible implementation, the server can determine the current positioning scenario based on the map information corresponding to the target grid area. That is, the server identifies the positioning scenario based on the map information of the target grid area, determining the current positioning scenario, which includes intersection positioning scenarios and building positioning scenarios.

[0072] In one possible implementation, if the map information indicates that the target grid area includes a main road, the distance between the approximate location of the terminal and the main road is determined. Furthermore, if the distance is less than a distance threshold, the current positioning scenario is determined to be an intersection positioning scenario.

[0073] In this scenario, if the distance between the terminal's probabilistic location and the main road is less than a threshold, it can be determined that the terminal is currently performing localization near a street, belonging to an intersection scenario. In intersection scenarios, localization typically aims to accurately determine which side of the main road the terminal is located on. Therefore, as... Figure 6 As shown, in the current location scenario of an intersection, the road centerline in the target grid area is determined based on map information. Then, using the road centerline as a dividing line, the target grid area is divided into multiple sub-grid areas.

[0074] Indicative, such as Figure 6As shown, when the approximate location of the terminal is near an intersection, and the target grid area includes the intersection, the target grid area can be divided into four parts (601, 602, 603, and 604) using the intersection and the main road extending from it as the dividing line, resulting in four sub-grid areas. Correspondingly, as... Figure 7 As shown, when the approximate location of the terminal is near a T-junction, and the target grid area includes this T-junction, the target grid area can be divided into three parts (701, 702, and 703) using the T-junction and the main road extending from it as the dividing line, resulting in three sub-grid areas. Furthermore, by performing area positioning based on these sub-grid areas, it is possible to determine which specific sub-grid area the terminal is located in, and consequently, which side of the intersection and road the terminal is located on.

[0075] In another possible implementation, if the map information indicates that the target grid area includes buildings, the proportion of building area in the target area grid is determined. If the proportion of building area is greater than a certain threshold, the current positioning scenario is determined as a building positioning scenario.

[0076] When the approximate location of the terminal is within a cluster of buildings, the target grid area defined on the map, including the terminal's approximate location, includes buildings with a large area proportion. Therefore, if the building area proportion exceeds a certain threshold, it can be determined that in the current positioning scenario, the user wants to pinpoint their specific location within the cluster of buildings—that is, which building the terminal is currently in, or which open area between buildings. Consequently, the server can determine that the current positioning scenario is a building-based positioning scenario.

[0077] In the current location scenario, which is a building location scenario, the server determines the building information of buildings in the target grid area based on map information. Then, based on the building information, the server divides the target network area into multiple sub-grid areas, with each building as a unit. The building information includes the building's location and its floor area, etc. (Illustrative example follows.) Figure 8 As shown, when the current positioning scenario is determined to be a building positioning scenario, the server further determines the extent of each building in the target grid area based on building information. For example, the target grid sub-region is divided into three parts: 801, 802, and 803, resulting in three sub-grid areas. The building extent can be a rectangular area, a regular polygonal area determined based on the building outline, or an irregular area determined based on the specific building's footprint. Subsequently, the terminal segments the target grid area based on the building extent, that is, it segments it by building, with each sub-grid area containing the corresponding building.

[0078] Optionally, when determining the current positioning scenario based on map information in the target grid area, the server can input the map information of the target grid area and the approximate location of the terminal into the positioning scenario recognition model to obtain the scene recognition result. The positioning scenario recognition model is trained based on sample terminal approximate locations and sample map information under different positioning scenarios. Further, the server determines the current positioning scenario based on the scene recognition result.

[0079] To illustrate, the server obtains the approximate location of a terminal located beside Changjiang Road, and then, based on this approximate location, determines a target grid area on the map that includes a section of Changjiang Road and an intersection. The server inputs the map information of the target grid area and the corresponding approximate terminal location into the localization scene recognition model. Accordingly, the localization scene recognition model can determine that the current localization scene is an intersection localization scene.

[0080] Optionally, the location scene recognition model can be deployed on the backend server of an application with location functionality, on an external server that can be invoked, or on a terminal; this application does not limit this.

[0081] In cities filled with high-rise buildings, satellite signals received by terminals are extremely weak due to severe building obstruction. When using weak satellite signals for terminal positioning, the obtained terminal location is significantly inaccurate. For example, in intersection positioning scenarios, it's difficult to determine which side of the intersection the terminal is on based solely on satellite signals. However, in applications such as ride-hailing services, accurately determining the terminal's location is crucial. In this embodiment, when a target grid area is determined from a map based on the terminal's probabilistic location, to improve the accuracy of the terminal positioning results, the server uses sub-region features from multi-dimensional positioning data to determine the relationship between the location of the corresponding sub-grid area and the terminal's location.

[0082] The sub-region features include at least a shadow matching degree feature, which characterizes the shadow matching degree of the sub-grid region. In one possible implementation, the server determines the shadow matching degree of each grid cell in the target sub-grid region based on ephemeris data, building data, and terminal satellite observation data.

[0083] First, such as Figure 4As shown, the server first obtains ephemeris data from the CORS (Continuously Operating Reference Stations) server's ephemeris database. The ephemeris data indicates the satellite's position at the time of terminal positioning. Further, the server obtains building data within the target grid area from a city 3D model database. Based on the building data and ephemeris data, it can determine whether satellite signals can be received within each grid cell of the target grid area.

[0084] Furthermore, the server determines the actual satellite signal received by the terminal based on the satellite data observed by the terminal. This satellite data includes the system number, satellite number, and signal-to-noise ratio (SNR) of the observed satellite signals. The SNR characterizes the reliability of the satellite observation. If the terminal observes the satellite signal of satellite A, and the corresponding SNR is low, the observation result is highly reliable, confirming that satellite A can be observed from the terminal's location, meaning the satellite signal is not severely obstructed between the terminal's location and satellite A. Then, by comparing the actual satellite signal observed by the terminal with the reachability of satellite signals in each grid cell, the degree of matching between the terminal's location and the grid cell's location can be obtained, thus determining the probability that the terminal is currently located within each grid cell. This degree of matching between the terminal's location and the grid cell's location is called the shadow matching degree.

[0085] Indicative, such as Figure 5As shown, the terminal's satellite observation data indicates that the terminal has observed satellite signals corresponding to satellites A and B. The server has a preset signal-to-noise ratio (SNR) threshold; if the SNR exceeds this threshold, the satellite signal is not considered reliable. Specifically, the SNR of the satellite signal corresponding to satellite A observed by the terminal is less than the SNR threshold, while the SNR of the satellite signal corresponding to satellite B observed by the terminal is greater than the SNR threshold. Therefore, based on the terminal's satellite observation data, the server determines that satellite A is observable from the terminal's location, but satellite B is not observable; that is, satellite A is a visible satellite to the terminal, while satellite B is a non-visible satellite. Accordingly, the server acquires ephemeris data at the positioning time and building data within the target grid area. Based on the positions of satellite A and satellite B indicated by the interplanetary data, combined with the building distribution and height indicated by the building data, it determines whether satellite A and satellite B are observable at the corresponding positions of each grid cell in the target grid area. In other words, it determines whether satellite A and satellite B are visible satellites to each grid cell. Then, the theoretical data corresponding to the grid cell is compared with the actual data observed by the terminal to calculate the matching degree between the theoretical satellite visualization data and the actual satellite visualization data, that is, the shadow matching degree. Among them, the shadow matching degree is positively correlated with the probability that the terminal is located within the corresponding grid cell.

[0086] Based on the shadow matching degree of each grid cell in the sub-grid region, the server further determines the shadow matching degree characteristics of the sub-grid region. Having determined the shadow matching degree of each grid cell in the sub-grid region, the server further determines the mean, maximum and minimum values, median, variance, and coefficient of variation of the shadow matching degree of each grid cell in the sub-grid region, and uses these data as the shadow matching degree characteristics of the sub-grid region.

[0087] However, determining the relationship between the location of a sub-grid region and the terminal location based solely on the shadow matching feature is insufficient in terms of accuracy. In this embodiment, the sub-region features used to determine the relationship between the sub-grid region and the terminal location also include at least one of satellite visualization features, building features, and region basic features.

[0088] Satellite visualization features are used to characterize the satellite's visualization of the sub-grid region. In one possible implementation, the server determines the theoretical satellite visualization information for each grid cell in the target sub-grid region based on ephemeris data and building data. This theoretical satellite visualization information indicates the satellite's visualization of the grid cell under theoretical conditions.

[0089] Ephemeris data corresponds to the positioning time. After acquiring the ephemeris data, the satellite information processing unit can calculate parameters indicating the satellite's position, such as ECEF (Earth-Centered Earth-Fixed) coordinates. These parameters characterize the position of each satellite in its orbit at the positioning time. Furthermore, the server, combining building data within the target grid area, can determine whether satellite signals are reachable at the corresponding location of each grid cell in the target grid area, based on the building's distribution, height, and satellite position. This determines the theoretical satellite visualization information for each grid cell in the sub-grid area. Subsequently, the server can determine whether a satellite in each grid cell is a visible or invisible satellite, i.e., based on the theoretical satellite visualization information, it determines the number of visible and invisible satellites in each grid cell.

[0090] Indicatively, the server uses satellite data from satellites A and B to determine the satellite visibility characteristics of the terminal's sub-grid area. The server first acquires ephemeris data at the positioning time, as well as building data within the target grid area. Based on the positions of satellites A and B indicated by the interplanetary data, and combined with the building distribution and heights indicated by the building data, the server determines that satellite A is observable at the location corresponding to the first grid cell in the sub-grid area, while satellite B is not. Therefore, the server can determine that satellite A is a visible satellite for the first grid cell, while satellite B is a non-visible satellite for the first grid cell. Consequently, the server can determine that the number of visible satellites corresponding to the first grid cell is 1, and the number of non-visible satellites is 1.

[0091] Optionally, the satellite may include at least one of BeiDou, GPS, GALILEO (Galileo Satellite Navigation System), and GLONASS (Global Navigation Satellite System).

[0092] Furthermore, based on the number of visible satellites and the number of non-visible satellites corresponding to each grid cell, the satellite visualization characteristics of the sub-grid region are determined. Having determined the number of visible satellites in each grid cell of the sub-grid region, the mean, maximum / minimum, median, variance, and coefficient of variation of the number of visible satellites in each grid cell of the sub-grid region are further determined, and these data are used as the visible satellite characteristics of the sub-grid region. Correspondingly, having determined the number of non-visible satellites in each grid cell of the sub-grid region, the mean, maximum / minimum, median, variance, and coefficient of variation of the number of non-visible satellites in each grid cell of the sub-grid region are further determined, and these data are used as the non-visible satellite characteristics of the sub-grid region. The satellite visualization characteristics include both the aforementioned visible satellite characteristics and the non-visible satellite characteristics.

[0093] Accordingly, building features are used to characterize the building situation within a sub-grid area. In one possible implementation, based on building location data in the building data and the location data of grid cells within the sub-grid area, the server determines the building distribution characteristics of the sub-grid area. These building distribution characteristics characterize the positional relationship between buildings and grid cells, as well as the land area occupied by buildings within the sub-grid area.

[0094] Furthermore, based on the building height data in the building data, the building height characteristics of the sub-grid region are determined. The building distribution characteristics and the building height characteristics are then defined as the building features of the sub-grid region.

[0095] The basic features of a region are used to characterize the basic situation of a sub-grid region. These features include the total number of grid cells contained in the sub-grid region, as well as the area of ​​the sub-grid region, etc.

[0096] In this embodiment, given multi-dimensional and multi-faceted sub-region features, the server inputs these features into a regression model. The regression model then calculates the probability that the terminal is located within the current sub-grid region based on these features, thereby determining whether the terminal is located within the current sub-grid region. The regression model is obtained through model training. Optionally, the regression model can be a multinomial regression model or a neural network regression model; this application does not limit the specific model.

[0097] In one possible implementation, the server inputs the sub-region features into a regression model deployed on the server to obtain a localization score for the sub-grid region. The localization score is positively correlated with the probability that the terminal is located within the sub-grid region.

[0098] The regression model can be a multinomial regression model, a neural network regression model, etc., and this application does not limit this. A regression model refers to a localization model trained using sample data. When sub-region features are input into the regression model, the model can calculate the probability that the terminal to be located is located in the corresponding sub-grid region based on the sub-region features, and output a localization score representing that probability. The following explanation uses a multinomial regression model as an example.

[0099] Once the sub-region features of a sub-grid region are determined, these features are first preprocessed. Optionally, preprocessing may include handling missing values: if all features in a certain sub-region are null, that sub-region feature is removed; if some features in a sub-region are null, the mean of the corresponding sub-region feature is calculated to fill in the null values. Preprocessing may also include handling outliers, where outliers are illegal values ​​that do not conform to range constraints, such as visible satellite features less than 0. Outliers can be replaced with the mean of the corresponding sub-region features or deleted directly.

[0100] Then, the preprocessed sub-region features are normalized. Optionally, the server can use min-max normalization to normalize the sub-region features. The calculation formula can be expressed as:

[0101]

[0102] in, X represents the normalized feature parameters, while x represents the original feature parameters, i.e., the preprocessed sub-region features. min Let X represent the minimum value in x. max This represents the maximum value in x.

[0103] In a schematic representation, a multinomial regression model for terminal positioning is deployed on the server. Based on the approximate location of the terminal, the server first determines a target grid area on the map, including the terminal's probabilistic location. After identifying the map information within the target grid area, the current positioning scenario is determined to be an intersection positioning scenario. Furthermore, based on the main roads within the target grid area, the target grid area is divided into four sub-grid areas using the road centerline as the dividing line. Based on ephemeris data and building data within the target grid area, the number of visible and invisible satellites corresponding to each grid cell in the target grid area is calculated. Based on the determined sub-grid areas, and considering the grid cells within each sub-grid area and the corresponding number of visible and invisible satellites, the satellite visualization characteristics of the corresponding sub-grid area for the terminal are determined. Based on the satellite visualization of each grid cell, combined with the terminal's satellite observation data, the shadow matching degree of each sub-grid cell in the target grid area is calculated. Finally, based on the grid cells contained in each sub-grid area and their corresponding shadow matching degrees, the shadow matching degree characteristics of each sub-grid area are determined. After preprocessing the satellite visualization features and shadow matching features, the server normalizes the data to obtain the feature parameters corresponding to the satellite visualization features and the feature parameters corresponding to the shadow matching features, and then inputs these feature parameters into the multinomial regression model.

[0104] After calculating the localization score for each sub-grid region using a regression model, the sub-grid region with the highest localization score is determined as the target sub-grid region.

[0105] In this embodiment, a regression model for terminal localization based on sub-region features corresponding to sub-grid regions is deployed on the server. The regression model is trained based on sample data, and the method for training the regression model may include the following steps:

[0106] Step 901: Obtain the actual location and approximate location of the sample terminal.

[0107] The actual location of the sample terminal is used as supervision during model training. To obtain sample data for training the regression model, staff need to collect the actual location of the terminal in a real-world scenario, as well as satellite observation data of the terminal at that location. Staff also need to obtain the approximate location of the terminal using a location-enabled application, for use in terminal localization with the regression model. After collecting the actual terminal location, probabilistic terminal location, and satellite observation data, this data is stored in a memory. Then, during regression model training, the server retrieves the sample data from the memory, including the actual location and probabilistic location of the sample terminal.

[0108] Optionally, the actual location and approximate location of the sample terminal can be represented by the latitude and longitude of the terminal. Alternatively, the actual location and approximate location of the sample terminal can be represented by a location marker on a map.

[0109] Step 902: Determine the sample grid area in the map based on the approximate location of the sample terminal, where the approximate location of the sample terminal is located within the sample grid area.

[0110] Having obtained the probabilistic location of the sample terminal, a sample grid region is determined on the map based on the approximate location of the sample terminal. The probabilistic location of the sample terminal lies within this sample grid region. The sample grid region is a closed area of ​​a certain size, meaning that surrounding buildings, roads, etc., are also located within this sample grid region.

[0111] Step 903: Based on the sample positioning scene and the sample map information of the sample grid area, the sample grid area is divided into multiple sample sub-grid areas.

[0112] This step is the same as step 203, and will not be repeated here.

[0113] Step 904: Based on the ephemeris data, sample building data within the sample grid area, and sample terminal satellite observation data, determine the sample sub-region characteristics of each sample sub-grid area.

[0114] This step is the same as step 204, and will not be repeated here.

[0115] Step 905: Input the features of the sample sub-region into the regression model to obtain the sample localization score of the sample sub-grid region.

[0116] The regression model can be either a neural network regression model or a multinomial regression model. The following explanation uses a multinomial regression model as an example.

[0117] Having obtained the sub-region features of the sample sub-region, the server preprocesses these features, handling missing and outlier values, and then normalizes them to obtain the corresponding feature vectors. As sample training data, the processed data can be represented as: <feature vector, whether the terminal's actual location is within this sub-grid region>. Optionally, "whether the terminal's actual location is within this sub-grid region" can be represented by 1 or 0, where 1 indicates the terminal's actual location is within the sub-grid region, and 0 indicates the terminal's actual location is not within the sub-grid region.

[0118] Then, the sample training data is divided into a training set and a test set according to a certain ratio, for example, a 3:1 ratio, to obtain a training set and a test set, which are then used for modeling. The multinomial regression model can be expressed as the fitting equation:

[0119] h θ (x)=θ0x 0 +θ1x 1 +θ2x 2 +…+θ n x n =X·θ

[0120] Where, θ i (i = 0, 1, ..., n) represent the coefficients corresponding to different orders of x, and θ represents all θ. i The vector representation of x. x is the eigenvector, and X is the vector representation of x.

[0121] The training data from the training set is input into the polynomial regression model described above for further calculation.

[0122] Step 906: Determine the sample prediction sub-grid region based on the sample positioning score, and train the regression model using the sample real sub-grid region where the sample terminal is located as the supervision of the sample prediction sub-grid region.

[0123] When the regression model is a multinomial regression model, in one possible implementation, the server optimizes the parameters in the multinomial regression model using grid search and cross-validation to determine the optimal model parameters. The optimal model parameters are those incorporating these parameters, which result in a location score that accurately reflects whether the terminal's actual location is within the specified sub-grid area. In other words, a high location score indicates the terminal's actual location is within the sub-grid area, while a low location score indicates the terminal's actual location is not within the sub-grid area.

[0124] Optionally, during the optimization process, the server uses the real sub-grid regions of the samples as supervision, that is, the sample training data corresponding to the real sub-grid regions are designated as <feature vector, 1>, and the sample training data of other sub-grid regions are designated as <feature vector, 0>. When the localization score is calculated using a multinomial regression model, the model accuracy is calculated using MSE (Mean Squared Error). The formula for calculating MSE can be expressed as:

[0125]

[0126] Among them, y i′ Let y be the predicted value of the i-th sample. i Let be the actual value of the i-th sample, where 0 indicates the actual location of the terminal is not within this subgrid region, and 1 indicates the actual location of the terminal is within this subgrid region. n is the number of samples. After minimizing the MSE, the parameters corresponding to the minimized MSE are recorded and saved as the final parameters of the multinomial regression model.

[0127] Optionally, before determining the final parameters of the multinomial regression model, cross-validation can be performed based on the test set, and the parameters with the best model stability can be selected as the final parameters of the multinomial regression model. This makes the evaluated model more accurate and reliable, and reduces the impact of the selection of the test set and training set on the training model.

[0128] Please refer to Figure 10 The diagram illustrates a structural block diagram of a terminal positioning device provided in an exemplary embodiment of this application, the device comprising:

[0129] Module 1001 is used to obtain the approximate location of the terminal;

[0130] The first determining module 1002 is used to determine a target grid area in a map based on the approximate location of the terminal, wherein the approximate location of the terminal is located within the target grid area;

[0131] The partitioning module 1003 is used to divide the target grid area into multiple sub-grid areas based on the current positioning scene and the map information of the target grid area, wherein the partitioning method of the sub-grid areas is different under different positioning scenes;

[0132] The second determining module 1004 is used to determine the sub-region characteristics of each of the sub-grid regions based on ephemeris data, building data within the target grid region, and terminal satellite observation data.

[0133] The third determining module 1005 is used to determine the target sub-grid region where the terminal is located based on the sub-region features.

[0134] Optionally, the sub-region features include at least shadow matching degree features, which are used to characterize the shadow matching degree of the sub-grid region;

[0135] The sub-region features also include at least one of satellite visualization features, building features, and regional basic features. The satellite visualization features are used to characterize the satellite's visualization of the sub-grid region, the building features are used to characterize the building situation within the sub-grid region, and the regional basic features are used to characterize the basic situation of the sub-grid region.

[0136] Optionally, the second determining module 1004 is further configured to:

[0137] Based on the ephemeris data, the building data, and the terminal satellite observation data, the shadow matching degree of each grid cell in the target sub-grid region is determined;

[0138] The shadow matching degree feature of the sub-grid region is determined based on the shadow matching degree of each grid cell in the sub-grid region.

[0139] Optionally, the second determining module 1004 is further configured to:

[0140] Based on the ephemeris data and the building data, the theoretical satellite visualization information of each grid cell in the target sub-grid region is determined. The theoretical satellite visualization information indicates the satellite's visualization of the grid cell under theoretical conditions.

[0141] Based on the theoretical satellite visualization information, the number of visible satellites and the number of invisible satellites in each grid cell are determined.

[0142] The satellite visualization features of the sub-grid region are determined based on the number of visible satellites and the number of non-visible satellites corresponding to each grid cell.

[0143] Optionally, the second determining module 1004 is further configured to:

[0144] Based on the building location data in the building data and the location data of the grid cells in the sub-grid area, the building distribution characteristics of the sub-grid area are determined. The building distribution characteristics are used to characterize the positional relationship between buildings and grid cells and the land occupation of buildings in the sub-grid area.

[0145] Based on the building height data in the building data, the building height characteristics of the sub-grid region are determined;

[0146] The building distribution characteristics and the building height characteristics are determined as the building characteristics of the sub-grid region.

[0147] Optionally, the partitioning module 1003 is used for:

[0148] When the current positioning scenario is an intersection positioning scenario, the road centerline in the target grid area is determined based on the map information; the target grid area is divided into multiple sub-grid areas using the road centerline as a dividing line.

[0149] When the current positioning scenario is a building positioning scenario, the building information of the buildings in the target grid area is determined based on the map information; based on the building information, the target network area is divided into multiple sub-grid areas, with each building as a unit.

[0150] Optionally, the device further includes a fourth determining module, used to perform positioning scene identification based on the map information of the target grid area, and determine the current positioning scene, wherein the current positioning scene includes the intersection positioning scene and the building positioning scene.

[0151] Optionally, the fourth determining module is further configured to:

[0152] If the map information indicates that the target grid area includes a main road, determine the distance between the approximate location of the terminal and the main road.

[0153] If the distance is less than the distance threshold, the current positioning scenario is determined as the intersection positioning scenario.

[0154] Optionally, the fourth determining module is further configured to:

[0155] If the map information indicates that the target grid area includes buildings, determine the building area percentage of the target area grid;

[0156] If the proportion of the building area is greater than the proportion threshold, the current positioning scene is determined as the building positioning scene.

[0157] Optionally, the fourth determining module is further configured to:

[0158] The map information of the target grid area and the approximate location of the terminal are input into the positioning scene recognition model to obtain the scene recognition result. The positioning scene recognition model is trained based on the sample approximate location of the terminal and sample map information under different positioning scenarios.

[0159] The current location scene is determined based on the scene recognition results.

[0160] Optionally, the third determining module 1005 is used for:

[0161] The sub-region features are input into a regression model to obtain the localization score of the sub-grid region. The localization score is positively correlated with the probability that the terminal is located within the sub-grid region.

[0162] The sub-grid region corresponding to the highest positioning score is determined as the target sub-grid region.

[0163] Optionally, the third determining module 1005 is further configured to:

[0164] Based on the approximate location of the sample terminal, a sample grid area in the map is determined, wherein the approximate location of the sample terminal is located within the sample grid area;

[0165] Based on the sample localization scenario and the sample map information of the sample grid area, the sample grid area is divided into multiple sample sub-grid areas;

[0166] Based on the ephemeris data, the sample building data within the sample grid area, and the sample terminal satellite observation data, the sample sub-region characteristics of each sample sub-grid area are determined;

[0167] The features of the sample sub-region are input into the regression model to obtain the sample localization score of the sample sub-grid region;

[0168] The sample prediction sub-grid region is determined based on the sample localization score;

[0169] The regression model is trained using the sample's actual subgrid region, where the sample terminal's actual location is located, as the supervision of the sample's predicted subgrid region.

[0170] In summary, based on the approximate location of the terminal, the server determines a target grid area on the map that includes the approximate location of the terminal, and performs regional positioning within the target grid area. Given the different positioning requirements in different positioning scenarios, and the different regions corresponding to the positioning requirements, the server divides the target grid area into sub-grid areas based on the current positioning scenario. Furthermore, based on building data and terminal satellite observation data within the target grid area, the server determines the sub-region features corresponding to each sub-grid area and calculates the probability that the terminal is located within each sub-grid area based on these features. The sub-grid area with the highest calculated probability is then determined as the target sub-grid area, completing the terminal positioning. In this embodiment, when performing regional positioning, the server first divides the area according to the positioning requirements based on the current positioning scenario to obtain sub-grid areas, and then integrates various types of data as sub-region features. Finally, based on these sub-region features, the relationship between the corresponding location in the sub-grid area and the terminal location is determined, improving the accuracy of regional positioning.

[0171] Please refer to Figure 11 The diagram illustrates a structural block diagram of a terminal 2000 provided in an exemplary embodiment of this application.

[0172] The terminal 1100 includes a central processing unit (CPU) 1101, a system memory 1104 including random access memory 1102 and read-only memory 1103, and a system bus 1105 connecting the system memory 1104 and the CPU 1101. The terminal 1100 may also include a basic input / output system (I / O system) 1106 to facilitate information transfer between various devices within the computer, and a mass storage device 1107 for storing the operating system 1113, application programs 1114, and other program modules 1115.

[0173] In some embodiments, the basic input / output system 1106 may include a display 1108 for displaying information and an input device 1109, such as a mouse or keyboard, for developers to input information. Both the display 1108 and the input device 1109 are connected to the central processing unit 1101 via an input / output controller 1110 connected to the system bus 1105. The basic input / output system 1106 may also include the input / output controller 1110 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1110 also provides output to a display screen, printer, or other types of output devices.

[0174] The mass storage device 1107 is connected to the central processing unit 1101 via a mass storage controller (not shown) connected to the system bus 1105. The mass storage device 1107 and its associated computer-readable media provide non-volatile storage for the terminal 1100. That is, the mass storage device 1107 may include computer-readable media (not shown) such as a hard disk or drive.

[0175] Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include random access memory (RAM), read-only memory (ROM), flash memory or other solid-state storage technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage media are not limited to the above-mentioned types. The system memory 1104 and mass storage device 1107 described above can be collectively referred to as memory.

[0176] The memory stores one or more programs, which are configured to be executed by one or more central processing units 1101. The one or more programs contain instructions for implementing the above methods. The central processing unit 1101 executes the one or more programs to implement the SDK (Software Development Kit) testing methods provided in the above method embodiments.

[0177] According to various embodiments of this application, the terminal 1100 can also be connected to a remote computer on a network, such as the Internet. That is, the terminal 1100 can be connected to the network 1112 via the network interface unit 1111 connected to the system bus 1105, or the network interface unit 1111 can be used to connect to other types of networks or remote computer systems (not shown).

[0178] The memory further includes one or more programs stored in the memory, and the one or more programs include steps executed by the terminal in the method provided in the embodiments of this application.

[0179] This application also provides a computer-readable storage medium storing at least one program that is executed by a processor to implement the terminal positioning method as described in the above embodiments.

[0180] This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. The terminal's processor reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the terminal to perform the terminal positioning method provided in the above embodiments.

[0181] Those skilled in the art will recognize that the functions described in the embodiments of this application in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transfer of a computer program from one place to another. Storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0182] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A terminal positioning method, characterized in that, The method includes: Obtain approximate location of the terminal; Based on the approximate location of the terminal, a target grid area in the map is determined, wherein the approximate location of the terminal is located within the target grid area, and the target grid area includes multiple grid cells; Based on the current positioning scenario and the map information of the target grid area, the target grid area is divided into multiple sub-grid areas. The sub-grid areas are divided in different ways under different positioning scenarios. In the intersection positioning scenario, the sub-grid areas are obtained by dividing the target grid area with the road centerline as the dividing line. In the building positioning scenario, the sub-grid areas are obtained by dividing the target grid area with buildings as units based on the building information of the buildings in the target grid area. Based on ephemeris data, building data within the target grid area, and terminal satellite observation data, the sub-region characteristics of each sub-grid area are determined; The target sub-grid region where the terminal is located is determined based on the sub-region features.

2. The method according to claim 1, characterized in that, The sub-region features include at least shadow matching degree features, which are used to characterize the shadow matching degree of the sub-grid region; The sub-region features also include at least one of satellite visualization features, building features, and regional basic features. The satellite visualization features are used to characterize the satellite's visualization of the sub-grid region, the building features are used to characterize the building situation within the sub-grid region, and the regional basic features are used to characterize the basic situation of the sub-grid region.

3. The method according to claim 2, characterized in that, The determination of sub-region characteristics for each sub-grid region based on ephemeris data, building data within the target grid area, and terminal satellite observation data includes: Based on the ephemeris data, the building data, and the terminal satellite observation data, the shadow matching degree of each grid cell in the target sub-grid region is determined; The shadow matching degree feature of the sub-grid region is determined based on the shadow matching degree of each grid cell in the sub-grid region.

4. The method according to claim 2, characterized in that, The determination of sub-region characteristics for each sub-grid region based on ephemeris data, building data within the target grid area, and terminal satellite observation data includes: Based on the ephemeris data and the building data, the theoretical satellite visualization information of each grid cell in the target sub-grid region is determined. The theoretical satellite visualization information indicates the satellite's visualization of the grid cell under theoretical conditions. Based on the theoretical satellite visualization information, the number of visible satellites and the number of invisible satellites in each grid cell are determined. The satellite visualization features of the sub-grid region are determined based on the number of visible satellites and the number of non-visible satellites corresponding to each grid cell.

5. The method according to claim 2, characterized in that, The determination of sub-region characteristics for each sub-grid region based on ephemeris data, building data within the target grid area, and terminal satellite observation data includes: Based on the building location data in the building data and the location data of the grid cells in the sub-grid area, the building distribution characteristics of the sub-grid area are determined. The building distribution characteristics are used to characterize the positional relationship between buildings and grid cells and the land occupation of buildings in the sub-grid area. Based on the building height data in the building data, the building height characteristics of the sub-grid region are determined; The building distribution characteristics and the building height characteristics are determined as the building characteristics of the sub-grid region.

6. The method according to claim 1, characterized in that, Before dividing the target grid region into multiple sub-grid regions based on the current positioning scene and the map information of the target grid region, the method further includes: Based on the map information of the target grid area, the positioning scene is identified to determine the current positioning scene, which includes the intersection positioning scene and the building positioning scene.

7. The method according to claim 6, characterized in that, The step of identifying the current location scene based on the map information of the target grid area includes: If the map information indicates that the target grid area includes a main road, determine the distance between the approximate location of the terminal and the main road. If the distance is less than the distance threshold, the current positioning scenario is determined as the intersection positioning scenario.

8. The method according to claim 6, characterized in that, The step of identifying the current location scene based on the map information of the target grid area includes: When the map information indicates that the target grid area includes buildings, determine the building area percentage of the target grid area; If the proportion of the building area is greater than the proportion threshold, the current positioning scene is determined as the building positioning scene.

9. The method according to claim 6, characterized in that, The step of identifying the current location scene based on the map information of the target grid area includes: The map information of the target grid area and the approximate location of the terminal are input into the positioning scene recognition model to obtain the scene recognition result. The positioning scene recognition model is trained based on the sample approximate location of the terminal and sample map information under different positioning scenarios. The current location scene is determined based on the scene recognition results.

10. The method according to claim 1, characterized in that, Determining the target sub-grid region where the terminal is located based on the sub-region features includes: The sub-region features are input into a regression model to obtain the localization score of the sub-grid region. The localization score is positively correlated with the probability that the terminal is located within the sub-grid region. The sub-grid region corresponding to the highest positioning score is determined as the target sub-grid region.

11. The method according to claim 10, characterized in that, The method further includes: Obtain the actual location and approximate location of the sample terminal; Based on the approximate location of the sample terminal, a sample grid area in the map is determined, wherein the approximate location of the sample terminal is located within the sample grid area; Based on the sample localization scenario and the sample map information of the sample grid area, the sample grid area is divided into multiple sample sub-grid areas; Based on the ephemeris data, the sample building data within the sample grid area, and the sample terminal satellite observation data, the sample sub-region characteristics of each sample sub-grid area are determined; The features of the sample sub-region are input into the regression model to obtain the sample localization score of the sample sub-grid region; The sample prediction sub-grid region is determined based on the sample localization score; The regression model is trained using the sample's actual subgrid region, where the sample terminal's actual location is located, as the supervision of the sample's predicted subgrid region.

12. A terminal positioning device, characterized in that, The device includes: The acquisition module is used to obtain the approximate location of the terminal; The first determining module is used to determine a target grid area in a map based on the approximate location of the terminal, wherein the approximate location of the terminal is located within the target grid area, and the target grid area includes multiple grid cells; The segmentation module is used to divide the target grid area into multiple sub-grid areas based on the current positioning scenario and the map information of the target grid area. The segmentation method of the sub-grid areas is different in different positioning scenarios. In the intersection positioning scenario, the sub-grid areas are obtained by dividing the target grid area with the road centerline in the target grid area as the dividing line. In the building positioning scenario, the sub-grid areas are obtained by dividing the target grid area with buildings as units based on the building information of the buildings in the target grid area. The second determining module is used to determine the sub-region characteristics of each of the sub-grid regions based on ephemeris data, building data within the target grid region, and terminal satellite observation data. The third determining module is used to determine the target sub-grid region where the terminal is located based on the sub-region features.

13. A terminal, characterized in that, The terminal includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the terminal positioning method as described in any one of claims 1 to 11.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one program, which is loaded and executed by a processor to implement the terminal positioning method as described in any one of claims 1 to 11.

15. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium; the processor of the terminal reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the terminal to perform the terminal positioning method as described in any one of claims 1 to 11.