An intelligent layout method for GEO satellite signs based on the Cesium engine
The dynamic offset of satellite signs is calculated through the cesium engine and weighting algorithm, and the problem of sign occlusion under the synchronous satellite attitude is solved, and an efficient and flexible satellite sign layout method is realized, supporting the real-time display of thousands of satellites.
Patent Information
- Application Number
- CN202510624523.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-15
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2045-05-15
AI Technical Summary
In the synchronous belt satellite attitude, due to the orbital heights and large numbers, satellite name signs are prone to block each other, resulting in the problem of unclear names.
The weighting algorithm based on the cesium engine is adopted to receive orbital data through the satellite management module, calculate dynamic offsets and render signs, realize automatic avoidance between signs, and optimize performance using WebGL batch rendering technology.
It realizes even distribution of signs, avoids occlusion, supports real-time and efficient display of thousands of satellites, and adapts to different scenario needs.
Smart Images

Figure CN120124825B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of weighted algorithm application in satellite visualization, and in particular to a GEO satellite signage intelligent layout method based on a Cesium engine. Background Art
[0002] Currently, satellite visualization primarily uses text, icons, models, and orbital displays to present the overall satellite situation. Icons and models are typically displayed in Level of Detail (LOD) mode (where distance determines whether the icon or model is displayed), and text is typically displayed alongside the icon or model.
[0003] Generally speaking, when the satellite positions in the scene are evenly distributed and the number is relatively reasonable, there will be no situation where the names are blocked or the correspondence between the satellites and the name signs is unclear.
[0004] When the scene is a synchronous satellite attitude, since the orbital altitude is basically the same and there are a large number of synchronous satellites, the satellites are only arranged within the longitude range, which easily causes the names to block each other. Summary of the Invention
[0005] In order to solve the existing problems, the present invention provides a GEO satellite signage intelligent layout method based on the Cesium engine. The specific solution is as follows:
[0006] A Cesium engine-based GEO satellite signage intelligent layout method includes the following steps:
[0007] S1, receiving and storing satellite orbit data through a satellite management module, wherein the orbit data includes at least the longitude and latitude of the sub-satellite point of the satellite;
[0008] S2, through the offset calculation module, calculates the dynamic offset of each satellite name plate relative to the satellite position based on the distribution density of the synchronous belt satellites at the current viewing angle, the font properties of the name plate, and the screen pixel mapping relationship;
[0009] S3, batch rendering of satellite name signs according to the dynamic offset by a rendering module to achieve automatic avoidance between signs.
[0010] Preferably, the workflow of the satellite management module includes: storing satellite data in a key-value pair Map structure, where the key is the satellite number and the value is the satellite object containing the number of TLE roots; dynamically updating the satellite position and sign offset through a rendering loop with a configurable frequency, and the rendering frequency range covers a fixed interval of the browser's native refresh rate value.
[0011] Preferably, the calculation of the offset calculation module in step S2 includes the following steps:
[0012] S21. Sort the current visible satellite list in ascending order of longitude;
[0013] S22. Calculate the average longitude interval aveLonStep between adjacent satellites;
[0014] S23. Calculate the screen pixel offset corresponding to unit longitude and latitude according to the camera view angle, where the screen pixel offset corresponding to unit longitude is denoted as horizonPixel, and the screen pixel offset corresponding to unit latitude is denoted as verticalPixel;
[0015] S24. Determine the number of groups based on the formula groupNumber = aveLonStep / horizonPixel;
[0016] S25. Traverse the sorted satellite list, switch the cheap direction by group, and calculate the vertical offset offset of the name plate of each satellite:
[0017] offset = lat × verticalPixel + xs×nameSize×(groupName – index%groupName); where lat is the satellite latitude, nameSize is the font size, xs is the direction control factor that alternates between ±1, and index is the satellite serial number.
[0018] Preferably, the number of groups groupNumber in step S24 is dynamically adjusted according to the scene density: when the satellite longitude interval is less than the preset threshold, reduce the number of groups to increase the label stacking distance; when the satellite distribution is sparse, increase the number of groups to reduce the invalid offset.
[0019] Preferably, the rendering module adopts the WebGL batch rendering technology, including: merging the drawing calls of name plates with the same style to reduce GPU state switching;
[0020] Only update the label buffer data where the position changes to reduce the rendering overhead.
[0021] Preferably, it further includes: in an extremely dense scene, enable the folded display of overlapping labels, and display the details after user interaction; support the user to manually adjust the label position, and preferentially retain the manually adjusted result.
[0022] The present invention also discloses a computer-readable storage medium, on which a computer program is stored. After the computer program runs, it executes the method described in any one of the above.
[0023] The present invention also discloses a computer system, including a processor and a storage medium. A computer program is stored on the storage medium, and the processor reads and runs the computer program from the storage medium to execute the method described in any one of the above.
[0024] The beneficial effects of the present invention are as follows:
[0025] Dynamic avoidance: By using a weighted algorithm in combination with satellite feature attributes, the offset of each satellite nameplate relative to the satellite position is calculated, making the nameplates evenly distributed as much as possible and avoiding mutual occlusion.
[0026] Efficient rendering: Utilize WebGL batch processing to improve performance and support real-time display of thousands of satellites.
[0027] Flexible configuration: Parameters (such as font size, rendering frequency) are adjustable to adapt to different scenario requirements. Description of the Drawings
[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0029] Figure 1 It is a block diagram of the relationship between the modules of the present invention. Detailed Embodiments
[0030] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts fall within the scope of protection of the present invention.
[0031] Based on the currently mature and popular three-dimensional earth visualization library Cesium.js, the present invention relies on a weighted algorithm. By assigning different weights to each attribute value of the satellite and combining the sub-satellite point longitude and latitude of the geostationary satellite, the offset of the nameplate relative to the satellite position is automatically calculated.
[0032] Such as Figure 1 , the present invention discloses an intelligent layout method for GEO satellite nameplates based on the cesium engine, including the following steps:
[0033] S1. Receive and store the orbital data of the satellite through the satellite management module, where the orbital data at least includes the longitude and latitude of the satellite's sub-satellite point.
[0034] The workflow of the satellite management module includes: storing satellite data in a key-value pair Map structure, where the key is the satellite number and the value is a satellite object containing TLE elements; the target management module has a built-in rendering loop, and through the rendering loop with configurable frequency, dynamically updates the satellite position and the offset of the nameplate. The rendering frequency range covers the native refresh rate value of the browser, that is, the highest rendering frequency can follow the browser dom rendering frequency, or a fixed interval can be set, such as rendering once every 500ms, and rendering satellite labels, models, and nameplates according to the rhythm of the rendering frequency. Call the offset algorithm to calculate the offset and set it to the nameplate.
[0035] S2. Through the offset calculation module, based on the distribution density of the synchronous satellites in the current perspective, the font attributes of the nameplates, and the screen pixel mapping relationship, calculate the dynamic offset of each satellite nameplate relative to the satellite position.
[0036] Specifically, the calculation of the offset calculation module includes the following steps:
[0037] S21. Sort the list of currently visible satellites in ascending order of longitude;
[0038] S22. Calculate the average longitude interval aveLonStep between adjacent satellites;
[0039] S23. Calculate the screen pixel offset corresponding to unit longitude and latitude according to the camera perspective, where the screen pixel offset corresponding to unit longitude is denoted as horizonPixel, and the screen pixel offset corresponding to unit latitude is denoted as verticalPixel;
[0040] S24. Based on the formula groupNumber = aveLonStep / horizonPixel, determine the number of groups. The number of groups groupNumber is dynamically adjusted according to the scene density: when the satellite longitude interval is less than the preset threshold, reduce the number of groups to increase the nameplate stacking distance; when the satellite distribution is sparse, increase the number of groups to reduce the invalid offset.
[0041] S25. Traverse the sorted satellite list, switch the cheap direction according to the group, and calculate the vertical offset offset of each satellite nameplate:
[0042] offset = lat × verticalPixel + xs×nameSize×(groupName – index%groupName); where lat is the satellite latitude, nameSize is the font size, xs is the direction control factor that alternates between ±1, and index is the satellite serial number.
[0043] S3. The rendering module batch-renders the satellite name signs according to the dynamic offset to achieve automatic avoidance between the signs. The rendering module uses the WebGL batch rendering technology, including: combining the drawing calls of name signs with the same style to reduce GPU state switching; only updating the sign buffer data where the position has changed to reduce the rendering overhead. That is, the rendering loop in the target management module will pass the data to be rendered to the rendering module at a predetermined frequency. The rendering module is only responsible for receiving the rendering data, refreshing the buffer, and rendering the latest data.
[0044] In addition, in an extremely dense scenario, the present invention enables the folded display of overlapping signs, and details are shown after user interaction; it supports the user to manually adjust the sign position and preferentially retains the manual adjustment result.
[0045] The present invention uses a weighted algorithm combined with satellite characteristic attributes to calculate the offset of each satellite sign relative to the satellite position, making the signs as evenly distributed as possible and avoiding mutual occlusion. Moreover, the present invention can achieve efficient rendering, improve performance by using WebGL batch processing, and support the real-time display of thousands of satellites. In addition, the present invention has flexible configuration, which is reflected in the adjustability of parameters (such as font size, rendering frequency) to adapt to different scenario requirements.
[0046] The present invention also discloses a computer-readable storage medium and a computer system. The medium stores a computer program, and after the computer program runs, it executes the method described in any one of the above. A computer system includes a processor and a storage medium. The storage medium stores a computer program, and the processor reads and runs the computer program from the storage medium to execute the method described in any one of the above.
[0047] Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, the various illustrative components, blocks, modules, circuits, and steps are described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Skilled artisans may implement the described functionality in different ways for each specific application, but such implementation decisions should not be construed as departing from the scope of the present invention.
[0048] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0049] The steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read from, and write to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0050] In one or more exemplary embodiments, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software as a computer program product, the functions may be stored on or transmitted via a computer-readable medium as one or more instructions or code. The computer-readable medium includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. The storage media may be any available media that can be accessed by a computer. By way of example and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a web site, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks typically reproduce data magnetically, while discs reproduce data optically with lasers. The above-mentioned combinations should also be included within the scope of computer-readable media.
[0051] The foregoing description of the disclosure has been provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0052] Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. An intelligent layout method for GEO satellite signs based on the Cesium engine, characterized in that The following steps are involved: S1, receiving and storing satellite orbit data through a satellite management module, wherein the orbit data includes at least the longitude and latitude of the sub-satellite point of the satellite; The workflow of the satellite management module includes: storing satellite data in a key-value pair Map structure, where the key is the satellite number and the value is the satellite object containing the number of TLE roots; dynamically updating the satellite position and sign offset through a rendering loop with a configurable frequency, and the rendering frequency range covers a fixed interval of the browser's native refresh rate value; S2, through the offset calculation module, calculates the dynamic offset of each satellite name plate relative to the satellite position based on the distribution density of the synchronous belt satellites at the current viewing angle, the font properties of the name plate, and the screen pixel mapping relationship; Specifically, the calculation of the offset calculation module includes the following steps: S21, sort the currently visible satellite list in ascending order of longitude; S22, calculate the average longitude interval aveLonStep of adjacent satellites; S23, calculating the screen pixel offset corresponding to the unit longitude and latitude according to the camera viewing angle, wherein the screen pixel offset corresponding to the unit longitude is recorded as horizonPixel, and the screen pixel offset corresponding to the unit latitude is recorded as verticalPixel; S24, based on the formula groupNumber = aveLonStep / horizonPixel, determine the number of groups; S25, traverse the sorted satellite list, switch the direction according to the group, and calculate the vertical offset of each satellite name plate: offset = lat × verticalPixel + xs × nameSize × (groupNumber – index % groupNumber); where lat is the satellite latitude, nameSize is the font size, xs is the direction control factor for alternating ±1, and index is the satellite number. S3, batch rendering of satellite name signs according to the dynamic offset by a rendering module to achieve automatic avoidance between signs.
2. The method according to claim 1, wherein The number of groups groupNumber in step S24 is dynamically adjusted according to the scene density: when the satellite longitude interval is less than a preset threshold, the number of groups is reduced to increase the spacing between the sign stacks; when the satellite distribution is sparse, the number of groups is increased to reduce invalid offsets.
3. The method according to claim 1, wherein: The rendering module uses WebGL batch rendering technology, including: merging name sign draw calls of the same style to reduce GPU state switching; Only update the buffer data of signs whose positions have changed to reduce rendering overhead.
4. The method according to any one of claims 1 to 3, characterized in that Also includes: In extremely dense scenarios, overlapping signs are displayed in folded form, and details are expanded after user interaction; Supports users to manually adjust the sign position and give priority to retaining the manual adjustment results.
5. A computer-readable storage medium, characterized in that: The medium stores a computer program, and after the computer program is run, the method according to any one of claims 1 to 4 is executed.
6. A computer system, characterized in that: It includes a processor and a storage medium. A computer program is stored on the storage medium. The processor reads and runs the computer program to execute the method described in any one of claims 1 to 4.
Citation Information
Patent Citations
Geosynchronous orbit satellite orbit characteristic expression method
CN115186232A
System digital three-dimensional situation display and rendering system
CN119762666A