A constellation orbit data processing method, device, electronic device and storage medium

Through the method of time slicing calculation and batch transmission of small amounts of data, the problems of low computing efficiency and low rendering efficiency in large-scale low-orbit satellite constellation systems are solved, and efficient orbit data processing and animation rendering are achieved.

CN120601957BActive Publication Date: 2025-10-03CHINA SATELLITE NETWORK EXPLORATION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511062098.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-31
Publication Date
2025-10-03
Estimated Expiration
2045-07-31

AI Technical Summary

Technical Problem

The visualization system of large-scale low-orbit satellite constellations suffers from low computing efficiency, poor data transmission and update timeliness, low rendering efficiency, and animation lag during the calculation and rendering process.

Method used

The satellite orbit data is calculated using time slicing. The size of the orbit data time slice is determined according to the constellation parameters and scale. The satellite orbit data is processed in slices, and a time synchronization mechanism is established with the visualization system through a websocket long connection to realize batch transmission and rendering of small amounts of data.

Benefits of technology

It improves the efficiency of orbital data production, enhances the efficiency of front-end rendering, solves the problem of satellite motion animation jamming, and reduces the data loading and parsing pressure of the visualization system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120601957B_ABST
    Figure CN120601957B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of satellite orbit data processing and provides a constellation orbit data processing method, device, electronic device, and storage medium. The method comprises: determining the required satellite orbit data time slice size based on constellation parameters and constellation scale; performing slice processing on all satellites within the constellation operation time period based on the time slice size, with an overlap period set between two adjacent time slices; receiving time point information provided by a visualization system in real time, and controlling the calculation and transmission of orbit data for each satellite corresponding to the time slice based on the relationship between the current time point information and the overlap period. The present invention effectively improves the production efficiency of orbit data and the efficiency of front-end rendering, and solves the problem of poor user experience caused by the freezing of satellite motion animation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of satellite orbit data processing, and more specifically, to a constellation orbit data processing method, device, electronic equipment and storage medium. Background Art

[0002] Currently, with the continuous construction and application of major low-orbit satellite constellation systems around the world, the demand for visualization of low-orbit satellite constellations is increasing. Due to the large scale of low-orbit satellite constellations and the large number of satellites, the visualization system often suffers from screen freezes, satellite movement cessation, and even rendering crashes. Summary of the Invention

[0003] The embodiments of the present application provide a constellation orbit data processing method, device, electronic device, and storage medium for solving the problem of low computational efficiency caused by the large amount of computation required for large-scale constellation orbit data.

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

[0005] According to a first aspect of an embodiment of the present application, a constellation orbit data processing method is provided, including: determining the required satellite orbit data time slice size based on constellation parameters and constellation scale; slicing all satellites within the constellation operation time period according to the time slice size, and setting an overlay time period between two adjacent time slices; the slicing processing includes calculating the start time of the first time slice of each satellite during system initialization, and slicing the constellation operation time period based on the start time and time slice size of the first time slice; receiving time point information provided by a visualization system in real time, and when receiving discontinuous time point information, calculating the orbit data of all satellites in the time slice corresponding to the discontinuous time point information, and transmitting the calculation results to the visualization system for rendering; when receiving continuous time point information, taking the satellite whose current time point information is in the overlay time period as the satellite to be updated, calculating the orbit data of all satellites to be updated in the next time slice of the overlay time period, and transmitting the calculation results to the visualization system for rendering.

[0006] This method can improve the efficiency of orbit data production, improve the efficiency of front-end rendering, and solve the problem of poor user experience caused by satellite motion animation freezes.

[0007] In one embodiment of the present application, determining the required satellite orbit data time slice size based on the constellation parameters and the constellation scale includes: calculating the satellite orbit period based on the constellation parameters, and determining the satellite orbit data time slice size in combination with the constellation scale.

[0008] In one embodiment of the present application, the time slice size is calculated by a predetermined impact factor constant and a satellite orbit period; the impact factor constant is determined according to the system deployment configuration and the constellation size.

[0009] In one embodiment of the present application, the slicing processing specifically includes: using the ratio of the distance from each satellite to the preset center point of the visual map to the distance from the farthest satellite to the preset center point of the visual map as the distance coefficient of the corresponding satellite; determining the start time of the first time slice of each satellite based on the system initialization timestamp, the distance coefficient of each satellite and the satellite orbit period; slicing the constellation operation time period according to the start time of the first time slice of each satellite and the time slice size to obtain the slicing processing results of all satellites.

[0010] In one embodiment of the present application, it also includes: after calculating the orbital data within a time slice, caching the calculated orbital data and marking the time slice as calculated, and at the same time packaging the satellite number and the orbital data of the corresponding satellite and transmitting them to the visualization system.

[0011] In one embodiment of the present application, when calculating the orbital data within a time slice, it is also included to determine whether the time slice is marked as calculated. If it is marked as calculated, the orbital data of the time slice is directly transmitted to the visualization system; if it is not marked as calculated, the orbital data of the time slice is calculated, and then the calculation result is transmitted to the visualization system.

[0012] In one embodiment of the present application, the step of taking a satellite whose information at the current time point is in a covered time period as a satellite to be updated and calculating orbital data of all satellites to be updated in a subsequent time slice of the covered time period includes:

[0013] Match the current time point information with the coverage time periods of all satellites. If the current time information is within the coverage time period of a certain satellite, the satellite is used as the satellite to be updated. Determine whether the next time slice in the coverage time period of the satellite to be updated is marked as calculated. If so, directly transmit the cached corresponding orbital data to the visualization system. If not, calculate the orbital data of the time slice and then transmit it to the visualization system.

[0014] In one embodiment of the present application, the coverage time period is smaller than half of the time slice size.

[0015] In one embodiment of the present application, a websocket long connection is used to establish a time synchronization mechanism with the visualization system and perform data transmission.

[0016] According to a second aspect of an embodiment of the present application, a constellation orbit data processing device is provided, including: a time slice determination module for determining the required satellite orbit data time slice size according to constellation parameters; a slicing module for slicing all satellites within the constellation operation time period according to the time slice size, and an overlapping time period is set between two adjacent time slices; the slicing processing includes calculating the start time of the first time slice of each satellite during system initialization, and slicing the constellation operation time period based on the start time of the first time slice and the time slice size; a time point information synchronization module for receiving time point information provided by a visualization system in real time; a calculation module for calculating the orbit data of all satellites in the time slice corresponding to the discontinuous time point information when receiving discontinuous time point information; and as time progresses, the satellite whose current time point information is in the overlapping time period is used as the satellite to be updated, and calculating the orbit data of all satellites to be updated in the next time slice of the overlapping time period; a transmission module for providing the orbit data of the satellite calculated in the time slice to the visualization system for parsing, rendering and display.

[0017] In another embodiment of the present application, the slicing module also includes: a slicing processing submodule, which uses the ratio of the distance from each satellite to the preset center point of the visual map to the distance from the farthest satellite to the preset center point of the visual map as the distance coefficient of the corresponding satellite; determines the start time of the first time slice of each satellite according to the system initialization timestamp, each satellite distance coefficient and the satellite orbit period; and slices the constellation operation time period according to the start time of the first time slice of each satellite and the time slice size.

[0018] In another embodiment of the present application, the calculation module further includes: after calculating the orbital data within a time slice, caching the calculated orbital data and marking the time slice as calculated.

[0019] In another embodiment of the present application, the calculation module further includes: when calculating the orbital data within a time slice, determining whether the time slice is marked as calculated, and if so, directly obtaining the orbital data cached in the time slice; if not, calculating the orbital data of the time slice.

[0020] According to a third aspect of an embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program that can be loaded by the processor and executed corresponding to the constellation orbit data processing method as described in the first aspect.

[0021] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which computer program instructions are stored. When the program instructions are executed by a processor, they are used to implement the process corresponding to the constellation orbit data processing method described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0023] Figure 1 Schematic diagram of a constellation orbit data processing method according to an embodiment of the present application.

[0024] Figure 2 This is a schematic diagram of the start time of the first time slice of the satellite in an embodiment of the present application.

[0025] Figure 3 This is a schematic diagram of a time slice of the constellation operation period of a certain satellite in an embodiment of the present application.

[0026] Figure 4 This is a visualization display of orbital data for a time slice in an embodiment of the present application.

[0027] Figure 5 Schematic diagram of the process of controlling orbit data calculation and transmission according to time point information in an embodiment of the present application.

[0028] Figure 6 This is a schematic diagram of constellation orbit data calculation according to an embodiment of the present application.

[0029] Figure 7 Schematic diagram of a constellation orbit data processing device according to an embodiment of the present application.

[0030] Figure 8 This is a schematic diagram of an electronic device according to an embodiment of the present application.

[0031] Figure 9 Schematic diagram of the structure of a computer system suitable for implementing the embodiments of the present application.

[0032] Reference numerals:

[0033] 200 - constellation orbit data processing device, 201 - time slice determination module, 202 - slicing module, 203 - calculation module, 204 - transmission module, 205 - time point information synchronization module;

[0034] 300-electronic device, 301-memory, 302-processor;

[0035] 400 - Computer system, 401 - CPU, 402 - ROM, 403 - RAM, 404 - Bus, 405 - I / O interface, 406 - Input part, 407 - Output part, 408 - Storage part, 409 - Communication part, 410 - Drive, 411 - Removable medium. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application. Unless there is a conflict, the embodiments in this application and the features in the embodiments can be combined with each other in any way. In addition, although a logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in an order different from that here.

[0037] The terms "first" and "second" in the specification and claims of this application and the accompanying drawings are used to distinguish different objects, not to describe a specific order. In addition, the terms "comprising" and "including" and any variations thereof are intended to cover non-exclusive protection. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to the process, method, product, or device.

[0038] Given this current situation, the inventors of this application, after creative reflection and analysis, concluded that existing constellation simulation visualization solutions primarily offer solutions at the system architecture level. Specifically, current visualization technology solutions for large-scale low-orbit satellite constellations are primarily based on container cloud solutions. This technology addresses the problems inherent in traditional computing using multiple physical computers, such as poor scalability, fault tolerance, and maintainability, as well as the inability to compute large-scale constellation data. It also improves the efficiency of large-scale data computation compared to traditional computing methods.

[0039] However, this technical solution still fails to address the low computational efficiency, poor data transmission and update timeliness, and low rendering efficiency caused by the large amount of computational data required for large-scale constellation orbital data. Specifically, for example: 1) When users select a long-term experience in large-scale constellation visualization, the amount of orbital data required for computation is enormous, reducing system computational efficiency; 2) The client-side rendering of large amounts of orbital data places enormous pressure on the visualization system, resulting in low rendering efficiency and even system crashes; 3) When orbital data is updated in the system, the visualization system will be in a waiting state, causing constellation satellite animation to lag.

[0040] To further address at least one of the technical issues identified above, in one possible implementation, the present application provides a constellation orbit data processing method that calculates satellite orbit data by time slice, effectively improving computational efficiency. In one embodiment, this method can be implemented as a constellation satellite orbit data calculation program, or it can be flexibly deployed as an operating carrier based on actual computing resource conditions. The visualization system serves as the data receiver and is used to graphically display satellite orbit data. The constellation orbit data processing method specifically includes the following steps:

[0041] S101. Determine the required satellite orbit data time slice size according to constellation parameters and constellation size.

[0042] Specifically, the design of a time-sliced ​​satellite orbit data calculation strategy aims to improve program data calculation efficiency by directly reducing the amount of satellite orbit data calculation. Specifically, the satellite orbit period is calculated based on constellation parameters, and the time slice size for each satellite's orbit data calculation is determined based on the constellation size. The constellation satellite operating period is calculated using the following formula:

[0043]

[0044] Where T is the satellite orbit period, a is the orbit radius (Earth radius + orbit altitude), π is the pi constant, and µ is the Earth constant (standard gravity parameter).

[0045] After the satellite orbit period is calculated based on the constellation parameters, the satellite orbit data time slice size t can be determined based on the constellation size to be displayed in the visualization system. In the embodiment of the present application, t=x T, where x is an influencing factor constant determined by the system deployment configuration and the size of the constellation, which can be obtained through experiments. In a preferred embodiment, the time slice size can be initially set to 1-3 times the satellite orbit period.

[0046] The time slice size t of each satellite's orbital data will be determined according to the size of the constellation to be displayed in the visualization system.

[0047] S102: Slice all satellites within the constellation operation time period according to the time slice size, and set an overlapping time period between two adjacent time slices.

[0048] In this step, the constellation operation time period required by the visualization system must be determined. The length of this time period can be adjusted based on actual needs. This constellation operation time period is then sliced ​​based on the time slice size calculated in S100. Slicing involves dividing the constellation operation time period into multiple time slices, with overlapping time periods between adjacent time slices.

[0049] In this embodiment, it is necessary to segment the constellation operation time period of each satellite. Specifically, when the system is initialized, the constellation satellite orbit data calculation program calculates the distance from each satellite to the preset center point of the visual map based on the current time point of the system. , and get its maximum value , then the distance coefficient of each satellite can be obtained based on the ratio of the two. Then the start time of the first time slice of each satellite can be calculated based on the distance coefficient and the satellite orbit period. The formula for the start time of the first time slice of each satellite is as follows:

[0050]

[0051] in, is the starting time of the first time slice of the i-th satellite, Initialize timestamp for the system, is the distance from the i-th satellite to the preset center point of the visualization map, The distance from the farthest satellite to the center of the preset visual map. is the satellite orbit period.

[0052] Finally, the constellation operation time period is segmented according to the start time of the first time slice of each satellite and the time slice size, and the segmentation processing results of all satellites are obtained. It should be noted that since the start time of the calculated first time slice may be before the constellation operation time period, the length of the first time slice in the constellation operation time period may be less than the pre-calculated time slice size. Figure 2 shown.

[0053] Furthermore, for each satellite, the constellation satellite orbit data calculation program will slice the constellation operation time period required by the visualization system into time slices t0, t1, t2, etc. according to the time slice size t. Two adjacent time slices will ensure a certain coverage time period tx0, tx1, tx2, etc., as shown in the following example: Figure 3 shown.

[0054] In this embodiment, data preloading can be achieved by designing the coverage time period to ensure smooth display of the front-end visualization system. At the same time, with the different sharding processing of each satellite, the satellite data can be calculated in a staggered manner. Please refer to the subsequent description of S103 for details.

[0055] It should be noted that, in this embodiment, the length of the coverage period should be less than half of the time slice size. The specific length can be adjusted as needed.

[0056] S103: Receive the time point information provided by the visualization system in real time, and control the calculation and transmission of the orbit data of each satellite corresponding to the time slice according to the relationship between the current time point information and the coverage time period.

[0057] In order to further solve at least one of the technical problems found above, in one embodiment of the present application, the visualization system and the constellation satellite orbit data calculation program directly establish a websocket long connection to communicate data. The satellite orbit data adopts a packet transmission strategy instead of full data loading. Specifically, after calculating the orbit data within a time slice, the satellite number and the orbit data of the corresponding satellite are packaged and transmitted to the visualization system. After the visualization system obtains the data packet, it can analyze and render the satellite orbit data of a single satellite in a single time slice, such as Figure 4 The figure below shows a visualization of orbital data for a time slice. For large-scale constellation satellite orbit data calculation scenarios, this batch-wise data transmission and loading method can greatly reduce the data loading and parsing pressure on the visualization system and improve rendering efficiency.

[0058] After calculating the time slice orbit data, it is necessary to cache the calculated orbit data and mark the time slice as calculated. This mark can be used to avoid repeated calculations when time rollbacks or jumps occur. By using time slicing to calculate satellite orbit data, the calculation efficiency of large-scale constellation orbit data can be effectively improved.

[0059] It should be noted that since adjacent time slices have overlapping coverage time periods, for the time slice to be calculated currently, if the data of the coverage time period of the previous time slice has been calculated in the previous time slice, then the data of the coverage time period will use the calculation result of the previous time slice, and no repeated calculation will be performed. Only the data after the coverage time period needs to be calculated.

[0060] In order to further solve at least one of the technical problems found above, in a possible implementation, the present application also provides a constellation orbit data processing method to establish a satellite orbit data update mechanism.

[0061] Specifically, satellite orbit data updates rely on time information and constellation operation time slices provided by a time synchronization mechanism established between the visualization system and the constellation satellite orbit data calculation program. The constellation satellite orbit data calculation program establishes a time synchronization mechanism with the visualization system, receiving the time information provided by the visualization system in real time and controlling the calculation and transmission of orbit data based on this time information.

[0062] Among them, the specific process of establishing the time synchronization mechanism includes: establishing a long websocket connection between the constellation satellite orbit data calculation program and the visualization system for data communication. When normal time moves forward, the visualization system will synchronize time with the constellation satellite orbit data calculation program every second; when the system user performs time setting, rollback and other time jump operations, the visualization system will immediately synchronize the current time with the constellation satellite orbit data calculation program.

[0063] Please refer to Figure 5 After receiving the time point information provided by the visualization system and completing the synchronization of the time point information, the constellation satellite orbit data calculation program first needs to determine whether the time point information is continuous with the previous time point. If it is not continuous, it means that the user has performed a time jump operation such as time setting or rollback, or an initialization operation. At this time, it is necessary to calculate the orbit data of all satellites in the time slice corresponding to the discontinuous time point information and transmit the calculation results to the visualization system for rendering. During this process, it should be noted that when calculating the orbit data, since this operation may be a rollback operation, it means that the orbit data of the previous time slice may have been calculated and can be read directly.

[0064] This embodiment provides a specific method for calculating the time slice orbital data, that is, first determine whether the time slice is marked as calculated. If it is marked as calculated, directly transmit the cached orbital data of the time slice to the visualization system; if it is not marked as calculated, calculate the orbital data of the time slice and then transmit the calculation result to the visualization system.

[0065] If continuous time point information is received, as time progresses, the constellation satellite orbit data calculation program needs to continuously determine whether the current time point information is within the coverage period of a certain satellite time slice, and then calculate the orbit data of the corresponding satellite in the corresponding time slice. The specific process is as follows:

[0066] First, the current time point information is matched with the coverage time period of all satellites. If the current time information is within the coverage time period of a certain satellite, the satellite is used as the satellite to be updated;

[0067] Then, determine whether the next time slice in the coverage period of the satellite to be updated is marked as calculated. If so, directly transmit the cached corresponding orbital data to the visualization system. If not, calculate the orbital data of the time slice and then transmit it to the visualization system.

[0068] Since the position of each satellite's fragments and coverage time period are not exactly the same during the fragmentation processing, the above-mentioned orbital data calculation method can be used to control the calculation of satellite orbital data at different time points. For large-scale orbital satellite data, this mechanism of loading small amounts of satellite orbital data in batches will greatly reduce the data loading and parsing pressure of the front-end visualization system and improve rendering efficiency.

[0069] To more clearly illustrate the orbit data update mechanism in this embodiment, take three satellites as an example and combine Figure 6 Provide specific instructions.

[0070] Assume that the time point information when the visualization system is synchronized to the constellation satellite orbit data calculation program is T0, and assume that T0 is not continuous with the previous time point information. At this time, it is necessary to calculate the orbit data of the corresponding time slices of all satellites, that is, the orbit data of time slice t1 of satellite 1, satellite 2, and satellite 3 all need to be calculated. If the time slice t1 of a certain satellite is marked as calculated, it can be read directly.

[0071] As time progresses, the system receives continuous time point information. After time T0, the current time point will first fall within the coverage period of satellite 3. At this point, orbital data for time slice t2, one slot after satellite 3's coverage period, will be calculated. Similarly, if this time slice is marked as calculated, it can be directly read; otherwise, it must be directly calculated. Further down the line, at time T1, the orbital data for time slice t2 of satellite 2, then time slice t2 of satellite 1, and finally time slice t3 of satellite 3 will be calculated. This orbital data calculation method only calculates orbital data for all satellites' corresponding time slices when receiving discontinuous time point information. When receiving continuous time point information, the satellite to be calculated is determined based on the location of the coverage period. This method staggers the calculation and update of satellite orbit data, reducing the data loading and parsing pressure on the front-end visualization system.

[0072] It should be noted that Figure 6 Only the scenario with three satellites having different sharding is shown. The orbital data calculation time of each satellite in the continuous time is different. In actual applications, there will be a large number of satellites, and some satellites may have the same sharding. In this case, satellites with the same sharding method will calculate and update the orbital data at the same time, while other sharding methods will calculate and update the orbital data at different times, realizing batch processing of large-scale scenarios.

[0073] In addition, the embodiment of the present application establishes a heartbeat mechanism to synchronize time changes through a websocket long connection, provides an orbit data update mechanism for each satellite, and can solve the problem of animation freeze during data update.

[0074] Please refer to Figure 7 The embodiment of the present application also provides a constellation orbit data processing device 200, which mainly includes a time slice determination module 201, a slicing module 202, a calculation module 203, a transmission module 204 and a time point information synchronization module 205.

[0075] Specifically, the time slice determination module 201 is mainly used to determine the required satellite orbit data time slice size according to the constellation parameters. In the embodiment of the present application, the time slice determination module 201 also includes a time slice determination submodule, which calculates the satellite orbit period according to the constellation parameters and determines the satellite orbit data time slice size in combination with the constellation size. Specifically, the satellite orbit data time slice size t=x T, where x is an influencing factor constant determined by the system deployment configuration and the size of the constellation, which can be obtained through experiments. In a preferred embodiment, the time slice size can be initially set to 1-3 times the satellite orbit period.

[0076] The slicing module 202 is primarily used to slice all satellites within the constellation operation time period according to the time slice size, with an overlap period set between adjacent time slices. This slicing process primarily calculates the start time of each satellite's first time slice during system initialization and slices the constellation operation time period based on the start time of the first time slice and the time slice size. The overlap period should be less than half the time slice size.

[0077] When receiving discrete time points, calculation module 203 calculates the orbital data for all satellites in the time slice corresponding to the discrete time points. As time progresses, it identifies satellites whose information at the current time point falls within the covered time period as pending satellites, and calculates the orbital data for the time slice following the covered time period for all pending satellites. Using time slicing to calculate satellite orbital data effectively improves the computational efficiency of large-scale constellation orbit data.

[0078] The transmission module 204 is used to transmit the calculated satellite orbit data in the time slice to the visualization system for analysis, rendering and display. After the orbit data in a time slice is calculated, the satellite number and the corresponding satellite orbit data are packaged and transmitted to the visualization system. After the visualization system obtains the data packet, it can analyze and render the satellite orbit data of a single satellite in a single time slice, such as Figure 4The figure below shows a visualization of orbital data for a time slice. For large-scale constellation satellite orbit data calculation scenarios, this batch-wise data transmission and loading method can greatly reduce the data loading and parsing pressure on the visualization system and improve rendering efficiency.

[0079] In one embodiment, the slicing module also includes: a slicing processing submodule, which uses the ratio of the distance from each satellite to the preset center point of the visual map to the distance from the farthest satellite to the preset center point of the visual map as the distance coefficient of the corresponding satellite; determines the start time of the first time slice of each satellite according to the system initialization timestamp, each satellite distance coefficient and the orbital period; and slices the constellation operation time period according to the start time of the first time slice of each satellite and the time slice size.

[0080] In one embodiment, the calculation module further includes: after calculating the orbital data for a time slice, caching the calculated orbital data and marking the time slice as calculated. When calculating the orbital data for the time slice, it is determined whether the time slice is marked as calculated. If it is marked as calculated, the cached orbital data for the time slice is directly obtained; if it is not marked as calculated, the orbital data for the time slice is calculated.

[0081] Please refer to Figure 8 According to an embodiment of the present application, an electronic device 300 includes: a memory 301 and a processor 302, wherein the memory 301 stores a computer program corresponding to the aforementioned constellation orbit data processing method that can be loaded and executed by the processor 302. It should be noted that the electronic device also has a display screen for displaying a UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen is a touch screen, the display screen also has the ability to collect touch signals on the surface or above the surface of the display screen. The touch signal can be input to the processor as a control signal for processing. At this time, the display screen can also be used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, the display screen can be one, the front panel of the electronic device; in other embodiments, the display screen can be at least two, respectively provided on different surfaces of the electronic device or in a folding design; in still other embodiments, the display screen can be a flexible display screen, provided on a curved surface or a folding surface of the electronic device. Even the display screen can be set to a non-rectangular irregular shape, that is, a special-shaped screen. The display screen can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).

[0082] Figure 9A schematic diagram of the structure of a computer system suitable for implementing an electronic device according to an embodiment of the present application is shown.

[0083] It should be noted that Figure 9 The computer system 400 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0084] like Figure 9 As shown, computer system 400 includes a central processing unit (CPU) 401, which can perform various appropriate actions and processes, such as the methods described in the above embodiments, based on programs stored in read-only memory (ROM) 402 or programs loaded from storage 408 into random access memory (RAM) 403. RAM 403 also stores various programs and data required for system operation. CPU 401, ROM 402, and RAM 403 are interconnected via bus 404. An input / output (I / O) interface 405 is also connected to bus 404.

[0085] The following components are connected to the I / O interface 405: an input section 406 including a keyboard, mouse, and the like; an output section 407 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 408 including devices such as a hard disk; and a communication section 409 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. Removable media 411, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 410 as needed, so that computer programs read from the media can be installed in the storage section 408 as needed.

[0086] In particular, according to embodiments of the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 409 and / or installed from removable media 411. When executed by the central processing unit (CPU) 401, the computer program performs the various functions defined in the system of the present application.

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

[0088] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Each box in the flowchart or block diagram can represent a module, program segment or part of the code, and the above-mentioned module, program segment or part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two boxes shown in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart and the combination of boxes in the block diagram or flowchart can be implemented using a dedicated hardware-based system that performs the specified functions or operations, or can be implemented using a combination of dedicated hardware and computer instructions.

[0089] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. In some cases, the names of these units do not constitute limitations on the units themselves.

[0090] As another aspect, the present application further provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the constellation orbit data processing method described in the above embodiments.

[0091] As another aspect, the present application further provides a computer-readable medium, which may be included in the electronic device described in the above embodiments, or may exist independently and not be incorporated into the electronic device. The computer-readable medium carries one or more programs, and when executed by the electronic device, the electronic device implements the constellation orbit data processing method described in the above embodiments.

[0092] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the application, the features and functions of two or more modules or units described above can be concretized in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0093] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.

[0094] Those skilled in the art will understand the specific meanings of the above terms in the present invention in specific circumstances. The drawings in the embodiments are used to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings herein can be arranged and designed in various different configurations.

[0095] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A constellation orbit data processing method, characterized in that: include: Determine the required satellite orbit data time slice size based on constellation parameters and constellation size; Slicing all satellites within the constellation operation time period according to the time slice size, and setting an overlapping time period between two adjacent time slices; the slicing processing includes calculating the start time of the first time slice of each satellite during system initialization, and slicing the constellation operation time period based on the start time of the first time slice and the time slice size; Receive time point information provided by the visualization system in real time; When receiving discontinuous time point information, the orbital data of all satellites in the time slice corresponding to the discontinuous time point information is calculated, and the calculation results are transmitted to the visualization system for rendering; when receiving continuous time point information, the satellites whose current time point information is in the covered time period are regarded as satellites to be updated, and the orbital data of all satellites to be updated in the next time slice of the covered time period are calculated, and the calculation results are transmitted to the visualization system for rendering.

2. The constellation orbit data processing method according to claim 1, characterized in that: Determining the required satellite orbit data time slice size based on the constellation parameters and the constellation scale includes: The satellite orbit period is calculated based on the constellation parameters, and the size of the satellite orbit data time slice is determined in combination with the constellation size.

3. The constellation orbit data processing method according to claim 2, characterized in that: The time slice size is calculated by a predetermined impact factor constant and a satellite orbit period; the impact factor constant is determined according to the system deployment configuration and the constellation size.

4. The constellation orbit data processing method according to claim 1, characterized in that: The fragmentation processing specifically includes: The ratio of the distance between each satellite and the preset center point of the visual map to the distance between the farthest satellite and the preset center point of the visual map is used as the distance coefficient of the corresponding satellite; Determine the start time of the first time slice of each satellite based on the system initialization timestamp, the distance coefficient of each satellite, and the satellite orbit period; The constellation operation time period is sliced ​​according to the start time of the first time slice of each satellite and the size of the time slice, and the slice processing results of all satellites are obtained.

5. The constellation orbit data processing method according to claim 1, characterized in that: The method also includes caching the calculated orbital data and marking the time slice as calculated after calculating the orbital data within a time slice, and packaging the satellite number and the orbital data of the corresponding satellite and transmitting them to the visualization system.

6. The constellation orbit data processing method according to claim 5, characterized in that: It also includes, when calculating the orbital data within a time slice, determining whether the time slice is marked as calculated. If it is marked as calculated, directly transmitting the orbital data of the time slice to the visualization system; if it is not marked as calculated, calculating the orbital data of the time slice and then transmitting the calculation result to the visualization system.

7. The constellation orbit data processing method according to claim 6, characterized in that: The method of taking the satellites whose information at the current time point is in the coverage time period as the satellites to be updated and calculating the orbital data of all the satellites to be updated in the next time slice of the coverage time period includes: Match the current time point information with the coverage time periods of all satellites. If the current time information is within the coverage time period of a certain satellite, the satellite is considered as the satellite to be updated. Determine whether the next time slice of the coverage period of the satellite to be updated is marked as calculated. If so, directly transmit the cached corresponding orbital data to the visualization system. If not, calculate the orbital data of the time slice and then transmit it to the visualization system.

8. The constellation orbit data processing method according to claim 1, characterized in that: The coverage time period is smaller than half of the time slice size.

9. The constellation orbit data processing method according to claim 1, characterized in that: Use websocket long connection to establish time synchronization mechanism with visualization system and perform data transmission.

10. A constellation orbit data processing device, characterized in that: include: A time slice determination module is used to determine the required satellite orbit data time slice size based on constellation parameters and constellation size; A slicing module is configured to slice all satellites within the constellation operation time period according to the time slice size, with an overlap period set between two adjacent time slices; the slicing process includes calculating the start time of the first time slice of each satellite during system initialization, and slicing the constellation operation time period based on the start time of the first time slice and the time slice size; The time point information synchronization module is used to receive the time point information provided by the visualization system in real time; A calculation module, when receiving discontinuous time point information, calculates the orbit data of all satellites in the time slice corresponding to the discontinuous time point information; As time goes by, the satellites whose information at the current time point is in the coverage time period are regarded as satellites to be updated, and the orbit data of all satellites to be updated in the next time slice of the coverage time period are calculated; The transmission module is used to send the satellite orbit data calculated in the time slice to the visualization system for analysis, rendering and display.

11. The constellation orbit data processing device according to claim 10, characterized in that: The sharding module also includes: The slicing processing submodule uses the ratio of the distance from each satellite to the preset center point of the visual map to the distance from the farthest satellite to the preset center point of the visual map as the distance coefficient of the corresponding satellite; determines the start time of the first time slice of each satellite based on the system initialization timestamp, each satellite distance coefficient and the satellite orbit period; and slices the constellation operation time period based on the start time of the first time slice of each satellite and the time slice size.

12. The constellation orbit data processing device according to claim 10, characterized in that: The calculation module also includes: After calculating the orbit data within a time slice, the calculated orbit data is cached and the time slice is marked as calculated.

13. The constellation orbit data processing device according to claim 12, characterized in that: The calculation module also includes: When calculating the orbit data in a time slice, determine whether the time slice is marked as calculated. If it is marked as calculated, directly obtain the orbit data cached in the time slice; if it is not marked as calculated, calculate the orbit data of the time slice.

14. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program corresponding to the constellation orbit data processing method according to any one of claims 1 to 9, which can be loaded and executed by the processor.

15. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, they are used to implement the process corresponding to the constellation orbit data processing method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Large-scale constellation visualization method and device, equipment, storage medium and product

    CN118796475A

  • Satellite orbit data loading and rendering method and device based on time slices and medium

    CN119988764A