Positioning method and electronic equipment
By obtaining the approximate location of the rover and setting up virtual reference stations through clustering, the problem of high system consumption caused by an excessive number of virtual reference stations is solved, realizing an efficient and low-consumption positioning method that supports positioning operations with multiple precision requirements.
Patent Information
- Application Number
- CN202511665425.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-13
- Publication Date
- 2026-02-10
AI Technical Summary
Existing virtual reference station technology requires the creation of a large number of virtual reference stations when the user base is large, resulting in excessive system consumption. Furthermore, the bidirectional communication method limits the number of online reference stations and their traceability.
By obtaining the approximate location of the rover, clustering is performed and virtual reference stations are set up. Differential data is broadcast to the rover using a one-way communication method. Clustering is performed using the K-means algorithm, DBSCAN algorithm, and gridded VRS technology to reduce the number of virtual reference stations. Differential data is broadcast through data channels, SMS channels, and BIP channels.
It enables large-scale, near real-time acquisition of rover locations, reduces communication bandwidth consumption and computational load, improves system resource utilization and broadcast success rate, and supports positioning operations under different accuracy requirements.
Smart Images

Figure CN121510258A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of data processing, specifically relating to a positioning method and an electronic device. Background Technology
[0002] Virtual Reference Station (VRS) technology is a widely adopted network RTK technology. VRS is short for Virtual Reference Station, and it's a type of CORS application. The data processing center continuously performs overall modeling and calculations within a region based on real-time observation data collected from various reference stations, 24 / 7. By establishing accurate error models (such as ionospheric, tropospheric, and satellite orbit error models), a physically non-existent virtual reference station (VRS) is generated near the rover station. Since the location of the virtual reference station is determined by the rover's receiver's single-point positioning solution, the baseline formed by it and the rover station is typically only a few meters to tens of meters. The rover station and the virtual reference station perform carrier phase differential correction to achieve real-time RTK. VRS's most prominent advantage is its wider coverage. Its disadvantages include the need for bidirectional communication, limiting the number of simultaneous online users, the requirement to reinitialize the virtual reference station as the user (rover) moves (beyond a certain distance), and the fact that it is an untraceable and non-repeatable virtual reference station. When the number of users is particularly large, a large number of virtual reference stations need to be created, resulting in excessive system overhead. Summary of the Invention
[0003] The purpose of this application is to provide a positioning method and electronic device that can solve the problem of excessive system consumption caused by creating a large number of virtual reference stations.
[0004] To solve the above-mentioned technical problems, this application is implemented as follows: In a first aspect, embodiments of this application provide a positioning method, the positioning method comprising: obtaining a summary location of a rover; clustering the rover according to the summary location and setting a virtual reference station; and broadcasting differential data of the virtual reference station to the rover.
[0005] In a second aspect, embodiments of this application provide an electronic device including a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method described in the first aspect.
[0006] Thirdly, embodiments of this application provide a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect.
[0007] Fourthly, embodiments of this application provide a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the method as described in the first aspect.
[0008] In this embodiment of the application, by obtaining the approximate location of the rover; clustering the rover according to the approximate location and setting up virtual reference stations; and broadcasting the differential data of the virtual reference stations to the rover, the problem of excessive system consumption caused by creating a large number of virtual reference stations can be solved. Attached Figure Description
[0009] Figure 1 This is a flowchart illustrating a positioning method provided in an embodiment of this application; Figure 2 This is a flowchart illustrating a positioning device provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of another electronic device provided in an embodiment of this application. Detailed Implementation
[0010] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0011] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0012] The embodiments of this application will be described in detail below with reference to the accompanying drawings and specific examples and application scenarios.
[0013] Figure 1 This diagram illustrates a flow chart of the positioning method provided in an embodiment of this application. Figure 1 As shown, the method includes: S102: Obtain the approximate location of the rover.
[0014] This step may include: The system periodically retrieves the mobile station's internet access logs from the core network element and extracts the user identification ID and latitude / longitude data from the logs. Based on the latitude / longitude data, it determines multi-level regions and adds these regions as tags to the data stream. It obtains location service information based on the ID and adds the accuracy requirements of the location service information as tags to the data stream, forming the summary location data stream. Based on the summary location data stream, it generates multiple layers corresponding to the multi-level regions, with one layer corresponding to each region level.
[0015] The system periodically retrieves internet access logs from all mobile stations' core network elements, extracting SIM card numbers and latitude / longitude data from these logs. Based on the location data, the province, city, and county are determined and added to the data stream as tags. High-precision positioning service package information is obtained based on the SIM card number, and the accuracy requirements within the package information are added to the data stream as tags, forming a summary location data stream for the mobile stations. This summary location data stream is then processed and displayed as points on a front-end map, forming four layers: province, city, county, and accuracy requirements. This allows for near real-time batch acquisition, resulting in higher efficiency and stronger real-time performance. Furthermore, the communication between the mobile stations and the data processing center is unidirectional, eliminating the need for mobile stations to report summary locations and thus avoiding additional bandwidth consumption.
[0016] S104: Based on the summarized locations, cluster the rover stations and set up virtual reference stations.
[0017] Clustering algorithms classify similar objects into different groups or subsets, ensuring that objects within the same subset share similar attributes. Common methods include applying shorter spatial distances in a coordinate system. It is a primary task in exploratory data mining and a frequently used technique in statistical data analysis, applied in many fields including machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression, and computer graphics.
[0018] This step may include a mobile station clustering method based on the K-means algorithm, specifically including: randomly selecting K mobile stations as centroids; calculating the distance between each mobile station and each centroid, and assigning the mobile station to the cluster represented by the nearest centroid; for each cluster, recalculating the mean of all the distances therein, and using the mean as the updated centroid; if the centroid no longer changes, calculating the distance from the centroid to the farthest point within the cluster; if it is greater than a threshold, then performing clustering again within that cluster until the distance from the centroid to the farthest point within the cluster is less than the threshold.
[0019] Specifically, the following steps can be performed: 1) Randomly select K rover stations as centroids.
[0020] 2) For each rover station, calculate its distance to each centroid and assign the rover station to the cluster represented by the nearest centroid.
[0021] 3) For each cluster, recalculate the mean of all sample points within it and use the mean as the new centroid.
[0022] 4) Repeat steps 2 and 3 until the centroid no longer changes.
[0023] 5) Calculate the distance from the centroid to the farthest point within the cluster. If it is greater than the threshold Q, then perform clustering again within that cluster until the distance from the centroid to the farthest point within the cluster is less than the threshold Q.
[0024] 6) The threshold Q for each cluster can be different and can be dynamically adjusted according to the user's accuracy requirements and local atmospheric delay changes.
[0025] 7) The initial number of centroids K can be dynamically adjusted according to the actual business scale.
[0026] 8) The centroid of each cluster is the virtual reference station setting site.
[0027] 9) Optionally, the clustering scope can be nationwide or divided into layers (province, city, county, and four layers based on accuracy requirements).
[0028] 10) The clustering process is dynamically displayed on the front-end page. The parameters K and Q can be manually adjusted on the front-end page or dynamically adjusted by the program.
[0029] This step may also include: randomly selecting an unvisited rover P1; drawing a circle with P1 as the center and r as the radius to obtain the circle P1; if the number of roveres in the circle P1 is greater than or equal to m, then creating a new cluster C and adding P1 to C; drawing circles with r as the center and r as the radius for roveres in the circle P1 for the circles P2, P3, up to Pn; if the number of roveres in the circle P1 is greater than or equal to m, then adding the roveres in the circle to C, until the number of roveres in the circle is less than m.
[0030] Specifically, the rover clustering method based on the DBSCAN algorithm performs the following steps to complete this step: 1) Randomly select an unvisited rover P1.
[0031] 2) Draw a circle (circle P1) with P1 as the center and r as the radius. If the number of mobile stations in circle P1 is greater than or equal to m, create a new cluster C and add P1 to C.
[0032] 3) Draw circles (circles P2, P3, ..., Pn) with P2, P3, ..., Pn as centers and r as radius. If the number of rover stations in circle Pi is greater than or equal to m, add the rover stations in circle Pi to circle C until the number of rover stations in circle Pi is less than m.
[0033] 4) Repeat steps 1-3 until all mobile stations have been accessed.
[0034] 5) The settings for r and m can be dynamically adjusted according to the user's accuracy requirements and local atmospheric delay variations. The higher the accuracy requirement, the smaller the r setting and the larger the m setting.
[0035] 6) The centroid of each rover in the cluster is calculated using a weighted average of its latitude and longitude coordinates, and this centroid is set as the virtual reference station. Specifically, rover stations with higher accuracy requirements have higher weights, while those with lower accuracy requirements have lower weights.
[0036] 7) Optionally, the clustering scope can be nationwide or divided into layers (province, city, county, and four layers based on accuracy requirements).
[0037] 8) The clustering process is dynamically displayed on the front-end page. The parameters r and m can be manually adjusted on the front-end page or dynamically adjusted by the program.
[0038] This step can also be performed using a rover clustering method based on gridded VRS technology, specifically including: 1) Divide the map into several square grids (the side length of the square is d), and distribute the rover stations in each grid.
[0039] 2) Calculate the centroid of each grid based on the latitude and longitude of the rover station using a weighted average. Rover stations with higher accuracy requirements have higher weights, while rover stations with lower accuracy requirements have lower weights.
[0040] 3) Merge adjacent grid centroids: Draw a circle with radius r centered on a grid centroid, merge the centroids within the circle's coverage area, and merge the rover stations attached to each centroid into a cluster.
[0041] 4) The centroid of each rover in the cluster is calculated using a weighted average of its latitude and longitude coordinates, and this centroid is set as the virtual reference station. Specifically, rover stations with higher accuracy requirements have higher weights, while those with lower accuracy requirements have lower weights.
[0042] 5) Optionally, the clustering scope can be nationwide or divided into layers (province, city, county, and four layers based on accuracy requirements).
[0043] 6) The clustering process is dynamically displayed on the front-end page. The parameter d can be manually adjusted on the front-end page or dynamically adjusted by the program.
[0044] S106: Broadcast the differential data of the virtual reference station to the rover.
[0045] This step can determine the broadcast method based on terminal requirements, data network status, or BIP channel status.
[0046] After determining the latitude and longitude of the virtual reference station, the differential data corresponding to the virtual reference station is calculated based on the observation data of the base station network. The data broadcasting center then broadcasts the differential data of the virtual reference station to the rover stations in the same cluster.
[0047] Regarding broadcast channels, the differential data broadcasting center can broadcast differential data to terminals through three channels, including data channel, SMS channel, and BIP channel. In actual broadcasting, the center can select one of the broadcasting methods, or combine any two or three methods, according to the terminal requirements, data network status, and BIP channel status.
[0048] Virtual Reference Station (VRS) technology is a widely adopted network RTK technology with a high market share. VRS is short for Virtual Reference Station. This technology is an application of CORS (Coordinated Oscillator Relationship Management). The data processing center continuously performs overall modeling and calculation within the region based on real-time observation data collected by various reference stations 24 hours a day. By establishing accurate error models (such as ionospheric, tropospheric, and satellite orbit error models), a physically non-existent virtual reference station (VRS) is generated near the rover station. Since the location of the virtual reference station is determined by the single-point positioning solution of the rover receiver, the baseline formed by it and the rover station is usually only a few meters to tens of meters. The rover station and the virtual reference station perform carrier phase differential correction to achieve real-time RTK. The most prominent advantage of VRS is its wider coverage. Its disadvantages include the need for bidirectional communication, which limits the number of simultaneous online users, and the need for reinitialization of the virtual reference station as the user (rover) moves (beyond a certain distance). Furthermore, it is an untraceable and non-repeatable virtual reference station. When the number of users is particularly large, a large number of virtual reference stations need to be created, resulting in excessive system overhead.
[0049] Network RTK typically consists of a network of base stations, a data processing and broadcasting center, data communication links, and users. In network RTK technology, the residual error terms between the base stations are first derived using observations from several base stations surrounding the rover and known station coordinates. Then, the user estimates the residual error terms between themselves and the base stations based on their approximate location. This allows for high-precision positioning even when the distance between base stations reaches 50-100 km.
[0050] BIP Channel: Similar to 2G STK technology, the USAT series of commands in the 3G specification inherits applications from STK. Operators can smoothly integrate 2G STK applications into 3G USAT applications, achieving application continuity. Simultaneously, operators can utilize the enhanced 3G USAT functionality to develop new value-added services. The USIM card introduces a new BIP (Bearer Independent Protocol) interface. Through the BIP protocol combined with USAT applications, the mobile terminal allows transparent data transmission between the USIM card and a remote server; this transmission channel is called the BIP channel. The BIP protocol is more conducive to the transmission of high-speed mobile data services, making the download of various service data easier and faster.
[0051] In combined broadcast mode, the terminal selects the latest differential data for calculation based on the timestamp.
[0052] The broadcasting method can be real-time broadcasting or on-demand broadcasting.
[0053] 1. Broadcast differential data through the data channel The differential data is encapsulated into a data packet, and the data packet is sent to the terminal through the data channel.
[0054] 1) Real-time broadcasting The data broadcasting center establishes a long connection with the terminal and uses heartbeat messages to detect and maintain the connection, periodically broadcasting differential data to the terminal.
[0055] 2) Broadcast on demand The terminal sends a differential data request to the data broadcasting center, which then sends back a set of differential data as needed.
[0056] 2. Broadcast differential data via SMS channel The differential data is encapsulated into an SMS message, which is then sent to the terminal.
[0057] 1) Real-time broadcasting The data broadcasting center periodically sends differential data SMS messages to the terminals.
[0058] 2) Broadcast on demand The terminal sends a differential data request SMS to the data broadcasting center, and the data broadcasting center sends a set of differential data SMS back to the terminal as needed.
[0059] 3. Broadcast differential data via BIP channel The differential data is encapsulated into a data packet, and the data packet is sent to the terminal through the BIP channel.
[0060] 1) Real-time broadcasting The data broadcasting center establishes a BIP connection with the terminal and periodically broadcasts differential data to the terminal's SIM card.
[0061] 2) Broadcast on demand The terminal initiates a differential data request to the data broadcasting center, and the data broadcasting center sends a set of differential data back to the terminal through the BIP channel as needed.
[0062] In this embodiment of the application, by taking at least one of the above steps, all mobile station internet access logs can be obtained from the operator's core network element, and the mobile station card number and summary location can be obtained through the internet access logs, thereby realizing one-way communication, near real-time acquisition, and large-scale acquisition, which is highly efficient, consumes less communication bandwidth, and requires less computation, thus improving user concurrency performance.
[0063] In this embodiment, by using at least one of the above steps, the province, city, county, and accuracy requirement of the mobile station can be added as tags to the mobile station's summary location data stream, forming four layers: province, city, county, and accuracy requirement, which are then displayed as dots on the front-end map. This allows for mobile station clustering on each of the four layers, enabling separate calculations and operations for different provinces, cities, and counties, as well as separate calculations and operations for different accuracy requirements.
[0064] In the embodiments of this application, by using at least one of the above steps, large-scale rover stations can be clustered based on the K-means algorithm, DBSCAN algorithm, and gridded VRS technology. The centroid of each cluster is used as a virtual reference station, enabling large-scale reuse of virtual reference stations in the case of large-scale rover stations, reducing the number of virtual reference stations, and enabling station settings under different accuracy requirements. This improves the system resource utilization while ensuring different accuracy requirements.
[0065] In this embodiment of the application, by taking at least one of the above steps, the broadcast channel can be selected according to the terminal requirements, data network status, and BIP channel status. One or more of the data channel, SMS channel, and BIP channel can be selected for combined broadcasting, which ensures the broadcast success rate under various network conditions and improves broadcast efficiency and security.
[0066] In this embodiment of the application, by taking at least one of the above steps, the mobile station card number and summary location can be obtained from the Internet access log, realizing one-way communication, near real-time acquisition, and large-scale acquisition. This results in high efficiency, low communication bandwidth consumption, low computational load, and improved user concurrency performance.
[0067] In this application embodiment, by using at least one of the above steps, four labels—province, city / county, and accuracy requirement—can be added to the card number and summary location, enabling the four layers to be clustered separately for mobile stations, thereby achieving separate calculation and operation for different provinces, cities, and counties, as well as separate calculation and operation for different accuracy requirements.
[0068] In the embodiments of this application, by using at least one of the above steps, a large number of rover stations can be clustered using an efficient algorithm, thereby enabling large-scale reuse of virtual reference stations, reducing the number of virtual reference stations, and enabling station settings under different accuracy requirements. This improves system resource utilization while ensuring different accuracy requirements are met.
[0069] In the embodiments of this application, by taking at least one of the above steps, broadcasting can be carried out through one or more combinations of three channels, ensuring the broadcasting success rate under various network conditions and improving broadcasting efficiency and security.
[0070] Figure 2 The diagram shows the structure of the query device provided in the embodiment of this application. The device 200 includes: an acquisition module 210, a processing module 220, and a sending module 230.
[0071] The acquisition module 210 acquires the general location of the rover; the processing module 220 clusters the rover according to the general location and sets up a virtual reference station; the sending module 230 broadcasts the differential data of the virtual reference station to the rover.
[0072] In one possible implementation, the acquisition module 210 periodically acquires the mobile station's internet access logs from the core network element, and obtains the user identification ID and latitude and longitude data from the internet access logs; based on the latitude and longitude data, it determines multi-level regions and adds the multi-level regions as tags to the data stream; based on the ID, it obtains location service information and adds the accuracy requirements of the location service information as tags to the data stream, forming the summary location data stream; based on the summary location data stream, it generates multiple layers corresponding to the multi-level regions, with each level of region corresponding to one layer.
[0073] In one possible implementation, the processing module 220 randomly selects K mobile stations as centroids; calculates the distance between each mobile station and each centroid, and assigns the mobile station to the cluster represented by the nearest centroid; for each cluster, recalculates the mean of all the distances therein, and uses the mean as the updated centroid; if the centroid no longer changes, calculates the distance from the centroid to the farthest point within the cluster; if it is greater than a threshold, then performs re-clustering within that cluster until the distance from the centroid to the farthest point within the cluster is less than the threshold.
[0074] In one possible implementation, the processing module 220 randomly selects an unvisited rover P1; draws a circle with P1 as the center and r as the radius to obtain the circle P1; if the number of roveres in the circle P1 is greater than or equal to m, a new cluster C is created and P1 is added to C; draws circles with r as the center and r as the radius for roveres in the circle P2, P3, up to Pn respectively to obtain circles P2, P3, up to Pn; if the number of roveres in circle P1 is greater than or equal to m, the roveres in the circle are added to C, until the number of roveres in the circle is less than m.
[0075] In one possible implementation, the processing module 220 divides the map into several square grids, with the rover station distributed in each grid; for each grid, the centroid is calculated based on the latitude and longitude of the rover station using a weighted average; and the centroids of adjacent grids are merged to form a cluster.
[0076] In one possible implementation, the sending module 230 determines the broadcasting method based on terminal requirements, data network status, or BIP channel status.
[0077] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described query method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0078] Figure 3 The diagram illustrates the hardware structure of an electronic device implementing the embodiments of this application. Referring to the diagram, at the hardware level, the electronic device includes a processor and optionally, an internal bus, a network interface, and a memory. The memory may include RAM, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk storage device. Of course, the electronic device may also include other hardware required for other services.
[0079] The processor, network interface, and memory can be interconnected via an internal bus, which can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be categorized as an address bus, data bus, control bus, etc. For ease of illustration, only a single bidirectional arrow is used in this diagram, but this does not imply that there is only one bus or one type of bus.
[0080] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.
[0081] The processor reads the corresponding computer program from non-volatile memory into main memory and then executes it, forming a device at the logical level that locates the target user. The processor executes the program stored in memory and specifically performs the following: Figure 1-2 The methods disclosed in the embodiments shown achieve the functions and beneficial effects of the methods described in the preceding method embodiments, and will not be repeated here.
[0082] The above is as stated in this application. Figure 1-2The methods disclosed in the illustrated embodiments can be applied to or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above methods can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0083] The electronic device can also execute the methods described in the preceding method embodiments and achieve the functions and beneficial effects of the methods described in the preceding method embodiments, which will not be repeated here.
[0084] Of course, in addition to software implementation, the electronic device of this application does not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0085] This application also proposes a computer-readable storage medium that stores one or more programs, which, when executed by an electronic device including multiple applications, cause the electronic device to perform... Figure 1-2 The methods disclosed in the embodiments shown achieve the functions and beneficial effects of the methods described in the preceding method embodiments, and will not be repeated here.
[0086] The computer-readable storage medium mentioned above includes read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, etc.
[0087] Furthermore, embodiments of this application also provide a computer program product, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions, which, when executed by a computer, implement the following process: Figure 1-2 The methods disclosed in the embodiments shown achieve the functions and beneficial effects of the methods described in the preceding method embodiments, and will not be repeated here.
[0088] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above query method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0089] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0090] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0091] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0092] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A positioning method, characterized in that, The positioning method includes: Obtain the approximate location of the rover; Based on the aforementioned locations, the mobile stations are clustered, and virtual reference stations are set. The differential data from the virtual reference station is broadcast to the rover.
2. The positioning method according to claim 1, characterized in that, The acquisition of the approximate location of the rover includes: The system periodically retrieves the mobile station's internet access logs from the core network element and extracts the user identification ID and latitude and longitude data from the internet access logs. Based on the latitude and longitude data, multi-level regions are determined, and these multi-level regions are added to the data stream as labels. The location service information is obtained based on the ID, and the accuracy requirement of the location service information is added as a tag to the data stream to form the data stream of the summary location. Based on the data stream of the summarized location, multiple layers corresponding to multi-level regions are generated, with one layer corresponding to each level of region.
3. The positioning method according to claim 1, characterized in that, The clustering of the mobile stations includes: K rover stations are randomly selected as centroids; Calculate the distance between each of the rover stations and each centroid, and assign each rover station to the cluster represented by the nearest centroid; For each cluster, recalculate the mean of all the distances therein, and use the mean as the updated centroid; Calculate the distance from the centroid to the farthest point within the cluster, assuming the centroid remains unchanged. If the distance is greater than the threshold, then clustering is performed again within that cluster until the distance from the centroid to the farthest point within the cluster is less than the threshold.
4. The positioning method according to claim 1, characterized in that, The clustering of the mobile stations includes: Randomly select an unvisited rover P1; Draw a circle with P1 as the center and r as the radius to obtain the circle P1. If the number of mobile stations in the circle P1 is greater than or equal to m, then create a new cluster C and add P1 to C. Using the rover stations P2, P3, up to Pn in circle P1 as centers and r as radius, draw circles to obtain circles P2, P3, up to Pn. If the number of rover stations in circle P1 is greater than or equal to m, then add the rover stations in circle P2 to circle C, until the number of rover stations in circle P1 is less than m.
5. The positioning method according to claim 1, characterized in that, The clustering of the mobile stations includes: The map is divided into several square grids, and the mobile stations are distributed in each grid. For each grid, the centroid is calculated based on the latitude and longitude of the rover station using a weighted average. The centroids of adjacent grids are merged to form a cluster.
6. The positioning method according to claim 1, characterized in that, The step of broadcasting the differential data of the virtual reference station to the rover includes: The broadcast method is determined based on terminal requirements, data network status, or the status of the BIP channel carrying unrelated protocols.
7. A positioning device, comprising: The acquisition module retrieves the approximate location of the rover. The processing module clusters the rover stations based on the summarized locations and sets up virtual reference stations; The transmitting module broadcasts the differential data of the virtual reference station to the rover.
8. An electronic device, comprising: processor; as well as A memory configured to store computer-executable instructions, which, when executed, use the processor to perform the steps of the session method according to any one of claims 1-6.
9. A computer-readable medium storing one or more programs, which, when executed by an electronic device including a plurality of applications, cause the electronic device to perform the steps of the session method according to any one of claims 1-6.
10. A computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, perform the steps of the session method according to any one of claims 1-6.