A method and system for dynamic programming simulation of a satellite constellation oriented to regional coverage
By employing a multi-level time step and hierarchical geospatial computing strategy, the problem of low efficiency in large-scale satellite constellation coverage analysis is solved, achieving efficient and accurate satellite coverage analysis and supporting coverage analysis for even larger-scale constellations.
Patent Information
- Application Number
- CN202510923855.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-04
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-07-04
AI Technical Summary
Existing technologies suffer from high computational costs, low efficiency, and difficulty in scaling up when dealing with large-scale satellite constellation coverage analysis. They also struggle to efficiently and accurately handle the combined or cumulative coverage effects of multiple satellites on the same area.
Employing a multi-level time step optimization and hierarchical geospatial computing strategy, this approach combines coarse and fine time steps to quickly estimate and calculate satellite coverage areas with high precision. Furthermore, it utilizes this strategy to rapidly filter and accurately verify satellite coverage, and incorporates a JavaScript library for efficient geometric calculations and visualization.
It effectively reduces the time spent on calculations for non-coverage situations, improves computational efficiency, ensures the accuracy of analysis results, and can handle larger-scale satellite constellation coverage analysis, thus improving computational speed and accuracy.
Smart Images

Figure CN120724701B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of spacecraft orbit simulation and geospatial information analysis technology, specifically to a dynamic planning simulation method and system for satellite constellations with regional coverage. Background Technology
[0002] In existing technologies, two common methods are used for coverage analysis of satellite constellations. The first method uses a fixed, fine-grained time step to calculate the position and ground coverage of all satellites within the constellation at each time point and performs intersection checks. While direct, this method is computationally intensive, especially when there are many satellites and long simulation times, with a large amount of computation consumed on uncovered satellites and time points, resulting in extremely low efficiency. The second method is based on optimized single-satellite coverage analysis methods, such as the Spatiotemporal Window Analysis (STWA) method, which can effectively reduce the computational load per satellite. However, when directly applying such methods to large-scale constellations, the complexity of managing and coordinating the spatiotemporal windows of numerous satellites and handling complex window interactions and overlaps increases dramatically, significantly diminishing the efficiency advantage.
[0003] The core problems with the two satellite constellation coverage analysis methods mentioned above are: First, low constellation-level efficiency and poor scalability: Whether using the fixed-step method or the extended single-satellite optimization method, the computational load increases significantly with the number of satellites when dealing with large-scale constellations, making it difficult to complete the analysis efficiently and to scale to future larger constellations. Second, difficulties in joint coverage analysis: Existing methods typically struggle to efficiently and accurately handle the joint or cumulative coverage effects of multiple satellites on the same area, such as calculating the total non-overlapping coverage area (involving complex geometric merging operations) or analyzing collaborative observation capabilities.
[0004] Therefore, existing technologies generally suffer from low efficiency, insufficient scalability, and difficulty in effectively supporting complex constellation network joint coverage analysis when dealing with large-scale multi-satellite network coverage analysis. Summary of the Invention
[0005] This invention provides a dynamic planning simulation method or system for satellite constellations oriented towards regional coverage, in order to solve at least one of the above-mentioned technical problems.
[0006] The technical solution of this invention to solve the above-mentioned technical problems is as follows: A dynamic planning simulation method for satellite constellations oriented towards regional coverage, comprising:
[0007] S1, Obtain the orbital parameters of the satellite constellation, define the ground region of interest, and set the simulation period, multi-level time steps, and sub-frame size; wherein, the multi-level time steps include at least a coarse time step and a fine time step;
[0008] S2, within the simulation period, multiple coarse time points are set at intervals with the coarse time step; based on the orbital parameters and the subframe size, the ground coverage area of each satellite in the satellite constellation at each coarse time point is quickly estimated; it is determined whether the ground coverage area of each satellite in the satellite constellation at each coarse time point overlaps with the ground region of interest, and the overlapping satellites and their corresponding coarse time windows at the coarse time points are marked;
[0009] S3, in each of the coarse time windows marked in S2, multiple fine time points are set at intervals of the fine time step; based on the orbital parameters and the sub-frame size, the ground coverage area of each satellite marked in S2 at each fine time point in the corresponding coarse time window is calculated with high precision; it is determined whether the ground coverage area of each satellite marked in S2 at each fine time point in the corresponding coarse time window overlaps with the ground region of interest, and the overlapping geometry between the ground coverage area of the satellites that overlap and the ground region of interest at the corresponding fine time point is recorded;
[0010] S4, merge all the overlapping geometric figures recorded in S3 to obtain the total effective coverage area, and calculate the coverage rate of the satellite constellation over the region of interest during the simulation period based on the area of the total effective coverage area and the area of the region of interest on the ground.
[0011] Based on the above technical solution, the present invention can be further improved as follows.
[0012] Furthermore, the multi-level time step also includes a medium time step;
[0013] Between S2 and S3, there is also:
[0014] S2-3, within each of the coarse time windows marked in S2, multiple intermediate time points are set at intervals with intermediate time steps; based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated with medium precision; it is determined whether the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the ground region of interest; if the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window does not overlap with the ground region of interest, then the marking of the satellite and its coarse time window at the corresponding coarse time point is cancelled.
[0015] Furthermore, in S2, based on the orbital parameters and the subframe size, the ground coverage area of each satellite in the satellite constellation at various approximate time points is quickly estimated, specifically including:
[0016] Based on the orbital parameters, the positions of each satellite in the satellite constellation at various approximate time points are calculated;
[0017] Let the subframe be a rectangle centered on the satellite projection point. Based on the size of the subframe and the position of each satellite in the satellite constellation at each approximate time point, the ground coverage area of each satellite in the satellite constellation at each approximate time point can be quickly estimated.
[0018] Furthermore, in S1, after defining the ground region of interest, the method further includes: preprocessing the ground region of interest to obtain a spatial index of the ground region of interest;
[0019] In step S2, determining whether the ground coverage area of each satellite in the satellite constellation overlaps with the ground region of interest at each approximate time point specifically involves determining whether the outer rectangle of the ground coverage area of each satellite in the satellite constellation overlaps with the spatial index of the ground region of interest.
[0020] Furthermore, in S3, based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in S2 at each fine time point within the corresponding coarse time window is calculated with high precision, specifically including:
[0021] Based on the orbital parameters, the positions of each satellite marked in S2 at each fine time point within the corresponding coarse time window are calculated;
[0022] Based on the satellite attitude, the subframe size, and the positions of each satellite marked in S2 at each fine time point within the corresponding coarse time window, the ground coverage area of each satellite marked in S2 at each fine time point within the corresponding coarse time window is calculated with high precision.
[0023] Furthermore, in S1, after defining the ground region of interest, the method further includes: preprocessing the ground region of interest to obtain a geometric representation of the ground region of interest;
[0024] In step S3, it is determined whether the ground coverage area of each satellite marked in step S2 at each fine time point in the corresponding coarse time window overlaps with the ground region of interest. Specifically, it is determined whether the outer rectangle of the ground coverage area of each satellite marked in step S2 at each fine time point in the corresponding coarse time window overlaps with the geometric representation of the ground region of interest.
[0025] Furthermore, in S2-3, based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in S2 at each intermediate time point within the corresponding coarse time window is calculated with medium precision, specifically including:
[0026] Based on the orbital parameters, the positions of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window are calculated;
[0027] Taking into account the latitude and longitude offset of the satellite projection points, and based on the size of the subframe and the positions of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window, the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated with medium precision.
[0028] Furthermore, in S1, after defining the ground region of interest, the method further includes: preprocessing the ground region of interest to obtain a spatial index of the ground region of interest;
[0029] In S2-3, it is determined whether the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the ground region of interest. Specifically, it is determined whether the outer rectangle of the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the spatial index of the ground region of interest.
[0030] Furthermore, S4 specifically includes:
[0031] Initialize an empty collection object;
[0032] Traverse all the overlapping geometric figures recorded in S3, and use robust geometric merging operations to merge each overlapping geometric figure into a set object to obtain the effective total coverage area;
[0033] Calculate the area of the total effective coverage area and the area of the region of interest on the ground;
[0034] The ratio of the total effective coverage area to the area of the ground region of interest is calculated to obtain the coverage rate of the satellite constellation over the ground region of interest during the simulation period.
[0035] Based on the above-mentioned satellite constellation dynamic planning simulation method for regional coverage, the present invention also provides a satellite constellation dynamic planning simulation system for regional coverage.
[0036] A satellite constellation dynamic planning simulation system for regional coverage includes a processor, a memory, and a computer program stored in the memory. When the computer program is executed by the processor, it implements the satellite constellation dynamic planning simulation method for regional coverage as described above.
[0037] The beneficial effects of this invention are as follows: This invention provides a dynamic planning simulation method and system for satellite constellations oriented towards regional coverage. Through multi-level time step optimization and hierarchical geospatial calculation strategies, it effectively avoids time-consuming precise calculations for a large number of non-coverage situations, making it possible to complete the coverage analysis of large-scale constellations within an acceptable time, while ensuring the accuracy of the analysis results. Due to the improved computational efficiency, this invention can better cope with the challenges brought about by the increase in the number of satellites and has the potential to support coverage analysis for larger-scale constellations. Attached Figure Description
[0038] Figure 1 This is a flowchart of a satellite constellation dynamic planning simulation method for regional coverage according to the present invention;
[0039] Figure 2 This is a structural block diagram of a satellite constellation dynamic planning simulation system for regional coverage according to the present invention. Detailed Implementation
[0040] The principles and features of the present invention are described below with reference to the accompanying drawings. The examples given are only for explaining the present invention and are not intended to limit the scope of the present invention.
[0041] Example 1:
[0042] like Figure 1 As shown, a dynamic programming simulation method for satellite constellations oriented towards regional coverage includes:
[0043] S1, Obtain the orbital parameters of the satellite constellation, define the ground region of interest, and set the simulation period, multi-level time steps, and sub-frame size; wherein, the multi-level time steps include at least a coarse time step and a fine time step;
[0044] S2, within the simulation period, multiple coarse time points are set at intervals with the coarse time step; based on the orbital parameters and the subframe size, the ground coverage area of each satellite in the satellite constellation at each coarse time point is quickly estimated; it is determined whether the ground coverage area of each satellite in the satellite constellation at each coarse time point overlaps with the ground region of interest, and the overlapping satellites and their corresponding coarse time windows at the coarse time points are marked;
[0045] S3, in each of the coarse time windows marked in S2, multiple fine time points are set at intervals of the fine time step; based on the orbital parameters and the sub-frame size, the ground coverage area of each satellite marked in S2 at each fine time point in the corresponding coarse time window is calculated with high precision; it is determined whether the ground coverage area of each satellite marked in S2 at each fine time point in the corresponding coarse time window overlaps with the ground region of interest, and the overlapping geometry between the ground coverage area of the satellites that overlap and the ground region of interest at the corresponding fine time point is recorded;
[0046] S4, merge all the overlapping geometric figures recorded in S3 to obtain the total effective coverage area, and calculate the coverage rate of the satellite constellation over the region of interest during the simulation period based on the area of the total effective coverage area and the area of the region of interest on the ground.
[0047] In this invention, the method is based on a multi-level time-step strategy and hierarchical geospatial computation, relying on a series of mature JavaScript and geometry processing libraries to ensure efficient satellite orbit calculation, geospatial analysis, and result visualization. The following is an introduction to the core dependent libraries:
[0048] 1. satellite.js:
[0049] Features: A JavaScript library for satellite orbit calculations, supporting orbit propagation based on two-line element sets (TLE), with built-in SGP4 and SDP4 models.
[0050] Function: In this invention, satellite.js is used to parse TLE data (twoline2satrec) and calculate the precise position (propagate) of the satellite at a specified time, providing core orbital data for coverage analysis.
[0051] Features: High efficiency, lightweight, suitable for real-time orbit prediction, and widely used in the aerospace field.
[0052] 2. turf.js:
[0053] Features: A modular geospatial analysis library that supports geometric operations in GeoJSON format, such as polygon generation (turf.polygon), bounding box calculation (turf.bbox), and simple intersection testing (turf.booleanIntersects).
[0054] Function: Used to generate satellite coverage rectangles, calculate the outer bounding rectangle (BBOX) of AOI, and perform rapid geometric judgment in the coarse and medium screening stages.
[0055] Features: Lightweight and easy to integrate, suitable for JavaScript-based geospatial applications.
[0056] 3. jsts (JavaScript Topology Suite):
[0057] Features: A JavaScript port of the Java JTS library, supporting complex geometric operations such as polygon intersection, union, and area calculation (getArea).
[0058] Function: During the fine-grained verification phase, JSTS is used to accurately calculate the geometric intersection of the coverage rectangle and the AOI, as well as the geometric merging in the coverage calculation, to ensure the topological correctness of the results.
[0059] Features: Highly robust, suitable for handling complex polygon operations.
[0060] 4. Leaflet:
[0061] Features: A lightweight, open-source JavaScript map library that supports interactive map rendering and GeoJSON layer drawing.
[0062] Function: Used to visualize AOI polygons, overlay rectangles, and satellite trajectories, displaying analysis results on a map in real time using L.polygon and L.polyline.
[0063] Features: Easy to expand, supports third-party tile services such as Tianditu.
[0064] The steps of the method of this invention will be explained in detail below with reference to the above core dependency libraries.
[0065] S1: Initialization and Parameter Setting
[0066] To obtain the orbital parameters of the satellite constellation: The user uploads a two-line element set (TLE) file containing satellite number, epoch, orbital features, etc. The `twoline2satrec` function of `satellite.js` is used to parse the TLE file, generate a `satrec` object, and store it in the `satellites` array.
[0067] Custom Area of Interest (AOI): Users upload polygon files in KML, GeoJSON, or KMZ format to define the geometric boundaries of the AOI. The AOI is parsed into GeoJSON polygons using the `loadPolygonFile` function in `useFileLoader.js` and stored in `targetPolygons`.
[0068] Setting simulation parameters: Users can set the simulation start time (startTimeString), simulation duration (simulationDays), and sub-frame dimensions (coverageLength and coverageWidth, in kilometers) through the interface, which are stored in reactive variables. The simulation start time (startTimeString) and simulation duration (simulationDays) constitute the simulation time period.
[0069] Multiple time steps are configured, including at least a coarse time step T_coarse and a fine time step T_fine. The coarse time step T_coarse (e.g., 360 seconds) is used to quickly scan the entire simulation period; the fine time step T_fine (e.g., 10 seconds) is used to accurately verify covered events. These time steps are configured using the generateTimePoints function in useCoverageAnalysis.js to generate a phased array of time points.
[0070] AOI preprocessing:
[0071] Geometric representation: Convert the AOI to a GeoJSON polygon conforming to the OGC standard, and use turf.js's booleanValid to check the topological validity to ensure compatibility with subsequent geometric operations.
[0072] Spatial Index: An outer bounding rectangle (BBOX) is generated for each AOI, representing the latitude and longitude range [minLon, minLat, maxLon, maxLat], and stored in targetBBOXes. BBOXes are calculated using the turf.bbox function to optimize spatial queries during the coarse filtering stage.
[0073] The preprocessing results are completed in the handlePolygonLoad function and drawn onto the map using Leaflet's L.polygon for easy visualization and verification.
[0074] S2: Coarse Filtering Level
[0075] Objective: To quickly identify time windows that may have coverage using a coarse time step T_coarse, and to exclude cases where there is obvious no coverage.
[0076] Implementation method:
[0077] Time traversal: Using the generateTimePoints function, multiple approximate time points are generated for the entire simulation time period (simulationDays*86400 seconds) at intervals of T_coarse (360 seconds).
[0078] Satellite position calculation: For each coarse time point and each satellite, the propagate function of satellite.js is used to calculate the satellite's position (positionEci) in the ECI coordinate system based on the SGP4 / SDP4 model, and then converted to geographic coordinates (latitude and longitude) through eciToGeodetic and gstime, and stored as {lat,lon}.
[0079] Coverage area estimation: Based on satellite location and subframe dimensions (coverageLength and coverageWidth), estimate the outer rectangle (BBOX_footprint) of the ground coverage area. Assume the subframe is a rectangle centered on the satellite projection point, extending along the latitude and longitude directions.
[0080] Fast spatial pre-judgment: Check if there is overlap between BBOX_footprint and AOI BBOX_AOI using a simple range overlap test (comparing latitude and longitude boundaries). This logic is implemented in the coarse sampling stage of the analyzeCoverageThreeStep function, through turf.bbox and range comparison.
[0081] Filtering markers: If overlap exists, mark the satellite and its corresponding coarse time window (e.g., [t-T_coarse / 2, t+T_coarse / 2]) as "potential coverage candidates" and record them in a temporary array for analysis in subsequent stages. Here, [t-T_coarse / 2, t+T_coarse / 2] indicates that the coarse time window is centered at the coarse time point and its length is the coarse time step.
[0082] S3: Fine Verification Level and Geometric Capture Stage
[0083] Objective: To accurately calculate coverage events with a fine time step T_fine, generate coverage polygons, and verify their geometric overlap with the AOI.
[0084] Implementation method:
[0085] Fine-grained time iteration: For each coarse time window marked by S2, generate multiple fine-grained time points with T_fine (user-defined, such as 10 seconds).
[0086] High-precision position calculation: For each fine time point within each coarse time window, the propagate function is used to calculate the precise position of the satellite and convert it into latitude and longitude.
[0087] Coverage polygon generation: Based on the sub-boundary dimensions (coverageWidth and coverageLength, converted to meters), generate the outer rectangle (Footprint Polygon, GeoJSON format) of the ground coverage area. In analyzeCoverageThreeStep, create the rectangle using turf.polygon, with the satellite projection point at its center.
[0088] Precise geometric overlap calculation: Using the JSTS geometry engine (jsts.io.GeoJSONReader and intersection), the Footprint Polygon and the GeoJSON polygon of the AOI are converted into JSTS geometry objects, and the overlap between them is calculated. If an intersection exists, the coverage event is recorded, including: satellite name (satellites[index].name), timestamp (corrected to ISO format based on startTime), and the GeoJSON geometry of the overlapping area (IntersectedGeometry). The implementation logic is in the fine sampling stage of analyzeCoverageThreeStep, combined with turf.js and JSTS.
[0089] Event storage: Coverage events are stored in the coverageEvents array, sorted by time, for easy aggregation and visualization later.
[0090] S4: Performance Indicator Quantification and Aggregation
[0091] Objective: To aggregate coverage events, calculate cumulative coverage, and output analysis results.
[0092] Implementation method:
[0093] Coverage event generation: Discrete coverage events recorded in S3 are sorted by time and satellite identifier and aggregated into continuous coverage events (coverageEvents). Each event includes start and end times, duration, satellite information, and intersection geometry.
[0094] Cumulative Coverage Calculation: Initialize an empty JSTS geometry set to store the total effective coverage area; iterate through all Intersected Geometry, merge them using the JSTS union operation to eliminate overlaps, and generate a non-repeating total effective coverage area; calculate the area of the total effective coverage area (getArea), and perform a ratio operation with the area of the AOI (also calculated using JSTS) to obtain the coverage percentage. The implementation logic is in the calculateCoverageRate function, which handles geometric validity (such as buffer(0) repair) to ensure robustness.
[0095] Output results: The output includes a list of coverage events (coverageEvents), coverage rate (coverageRate), and total coverage area (GeoJSON format). Users can export the results using the exportToGeoJSON and exportEventList functions in useExport.js. Coverage rectangles and AOIs are drawn on the map using Leaflet's L.polygon and stored in coverageLayers and polygonLayers.
[0096] In some embodiments, the multi-level time step also includes a medium time step T_medium; the medium time step T_medium (e.g., 15 seconds) is used for further filtering within a coarse time window. Furthermore, between S2 and S3, the following is also included:
[0097] S2-3, within each of the coarse time windows marked in S2, multiple intermediate time points are set at intervals with intermediate time steps; based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated with medium precision; it is determined whether the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the ground region of interest; if the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window does not overlap with the ground region of interest, then the marking of the satellite and its coarse time window at the corresponding coarse time point is cancelled.
[0098] Specifically, S2-3 is the medium filtering level, which aims to further confirm the coverage possibility within the coarse time window of the coarse screening and narrow down the analysis scope by using a medium time step T_medium.
[0099] Implementation method:
[0100] Time window iteration: For each coarse time window marked in S2, generate intermediate time points with T_medium (15 seconds) and call generateTimePoints.
[0101] Precise position calculation: For each intermediate time point, the position of the marked satellite is recalculated using the propagate function and converted to latitude and longitude.
[0102] Coverage area generation: Based on the sub-frame size, generate a more accurate coverage area bounding rectangle (GeoJSON format), taking into account the latitude and longitude offset of the satellite projection points.
[0103] Medium-precision spatial assessment: Check if the bounding rectangle's bounding box (BBOX) of the coverage area overlaps with the bounding box of the AOI (Area of Interest). This may involve preliminary geometric testing using `turf.booleanIntersects`. If overlap exists, retain the marked satellite and its corresponding coarse time window; otherwise, discard the marked satellite and its corresponding coarse time window.
[0104] Output: Generates a more accurate coarse time window, which is then passed to the fine-grained verification stage.
[0105] Furthermore, the method of this invention is based on system implementation, and its implementation architecture is a modular design:
[0106] Data input / processing module: useFileLoader.js handles TLE and AOI file parsing;
[0107] The orbit calculation module, satellite.js, provides support for SGP4 / SDP4 models.
[0108] The core processing engine, useCoverageAnalysis.js, implements multi-level time steps and hierarchical geospatial calculations, and integrates turf.js (BBOX and preliminary geometric calculations) and jsts (precise geometric calculations).
[0109] Output modules: useExport.js and Leaflet provide data export and visualization.
[0110] Performance optimizations: BBOX spatial indexing and multi-level time steps reduce unnecessary computation. Intensive tasks (such as JSTS geometric operations) can be parallelized using Web Workers, and the current code optimizes UI responsiveness through asynchronous operations (async / await).
[0111] Scalability: Supports multi-satellite and multi-AOI analysis, compatible with different subframe sizes and time step configurations. Can be integrated with other orbital models or geometry engines to adapt to higher accuracy requirements.
[0112] Compared with the prior art, the method of the present invention has the following significant advantages and effects:
[0113] Significantly improved computational efficiency: By employing multi-level time step optimization and a hierarchical geospatial computing strategy, time-consuming precise calculations for a large number of uncovered cases are effectively avoided. Simulation tests show that this method can smoothly handle constellation coverage analysis of up to 500 satellites in a standard PC environment. Its computational speed far exceeds that of traditional fixed fine-step methods, making it possible to complete the coverage analysis of large-scale constellations within an acceptable timeframe.
[0114] High accuracy guaranteed: Employing multi-level optimization, this invention relies on the high-precision JSTS library for accurate geometric intersection, merging, and area calculation when finally determining coverage occurrence and calculating coverage area. This ensures the accuracy of coverage event detection and the reliability of regional coverage indicators. Validation results show that key indicators have a confidence level better than 95% compared to benchmark tools (such as STK) (e.g., coverage geometric overlap > 95%, coverage relative error < 5%).
[0115] Good scalability: Due to the improved computational efficiency, this method can better cope with the challenges brought about by the increase in the number of satellites and has the potential to support coverage analysis for larger constellations (which may be expanded to the level of thousands of satellites in the future).
[0116] Improved user experience: In web application scenarios, by optimizing time-consuming calculations (especially orbit propagation calculations) using a cubic sampling method, efficiency is improved by 200 times compared to the stationary sampling method. It can quickly and efficiently perform coverage analysis on constellations or star groups composed of hundreds of satellites.
[0117] Highly practical: It can accurately and efficiently output key performance indicators such as coverage event lists and regional coverage rates, and provides visualization support (such as cumulative coverage area GeoJSON), providing a powerful engineering analysis tool for remote sensing constellation design, mission planning, and performance evaluation.
[0118] The method of the present invention will be illustrated below with specific examples:
[0119] Web-based coverage analysis of a province using a constellation of 100 satellites
[0120] This example describes how to use the method of this invention in a web-based simulation software to analyze the coverage of a Walker constellation containing 120 satellites over a 24-hour period for a province in China (AOI).
[0121] 1. System Environment
[0122] Hardware configuration: Standard personal computer (Intel Core i7 CPU, 16GB RAM).
[0123] Browser: Latest version of Google Chrome.
[0124] Front-end framework: The simulation software front-end is built using Vue.js, which includes the SatelliteCoverage.vue module to implement the coverage analysis function of this invention.
[0125] 2. Input Preparation
[0126] Users upload the following input data through the interface:
[0127] A TLE collection file containing 120 satellites.
[0128] Define the GeoJSON file as the AOI that defines the polygonal boundary of the target coverage area.
[0129] Set the simulation time range:
[0130] Start time: 2024-01-01 00:00:00UTC.
[0131] End time: 2024-01-02 00:00:00UTC.
[0132] System preset or user-selected time step:
[0133] The approximate time step T_coarse = 300 seconds.
[0134] Medium time step T_medium = 15 seconds.
[0135] Fine time step T_fine = 10 seconds.
[0136] 3. Data Preprocessing
[0137] TLE parsing: The SatelliteCoverage.vue module calls a JavaScript-based TLE parsing library (such as the twoline2satrec method in satellite.js) to parse TLE data from 120 satellites.
[0138] AOI processing: Use JSON.parse to parse the GeoJSON file and obtain the polygonal geometric representation of the AOI.
[0139] Call a geospatial library (such as Turf.js or internal logic) to calculate the outer rectangle BBOX_AOI of the AOI.
[0140] 4. Multi-level time step coverage analysis
[0141] (1) Start the computing task
[0142] Start a Web Worker to perform overlay computation tasks, avoiding blocking the main thread.
[0143] (2) Preliminary screening stage
[0144] Time iteration: The Web Worker iterates from the start time to the end time in 300-second increments.
[0145] Operations for each satellite: At every 300-second interval, for each satellite, the `propagate` method of `satellite.js` is called to calculate the satellite's position. Based on the satellite's altitude and a preset field of view (e.g., 100km swath width), the bounding rectangle `BBOX_footprint` of the nadir point is quickly calculated. Then, `booleanIntersects(BBOX_footprint, BBOX_AOI)` of `Turf.js` is called to perform a fast intersection check. If the check result is true, the satellite ID and a rough time window of 150 seconds (300 seconds / 2) before and after the current time point are recorded, marking it as requiring detailed inspection.
[0146] (3) Sampling stage
[0147] Time window and step size: The Web Worker iterates through all combinations marked as requiring fine-grained inspection (satellite ID, coarse time window), and within each coarse time window, it iterates in steps of 15 seconds.
[0148] Operations for each marked satellite: At each 15-second time point, for the marked satellite, the propagate method of satellite.js is called to calculate the precise position, and the bounding rectangle BBOX_footprint of the nadir point is calculated in combination with the field of view. The booleanIntersects(BBOX_footprint,BBOX_AOI) of Turf.js is called to perform intersection judgment. If the judgment result is true, the marked satellite and its corresponding coarse time window are retained; otherwise, the marked satellite and its corresponding coarse time window are removed. (4) Fine verification stage
[0149] Time window and step size: The Web Worker iterates through all combinations of (satellite ID, time window) that are marked as needing fine-grained inspection, and within each coarse time window, it iterates in steps of 10 seconds.
[0150] Operations for each marked satellite: At every 10-second time point, for each marked satellite, the `propagate` method of `satellite.js` is called to calculate its precise position. Combining this with its attitude (adjusting for side yaw if present) and field of view, the precise ground nadir polygon `Polygon_footprint` is calculated. The `Polygon_footprint.intersection(Polygon_AOI)` method from the JSTS library is called to perform precise geometric intersection calculations. If `intersection` returns a non-empty geometry `Geometry_intersected`, then (current time point, satellite ID, Geometry_intersected) is stored in a temporary list.
[0151] 5. Performance Indicator Quantification and Result Generation
[0152] (1) Event aggregation
[0153] Web Worker processes temporary lists and merges intersecting records that are temporally consecutive and belong to the same satellite into an overlay event. The record content includes: start time, end time, duration, and satellite ID.
[0154] (2) Coverage calculation
[0155] Total coverage area calculation:
[0156] Initialize an empty JSTS GeometryCollection object totalCoveredGeometry; iterate through all records of Geometry_intersected, call totalCoveredGeometry = totalCoveredGeometry.union(Geometry_intersected) to gradually merge all covered areas, and after merging, call totalCoveredGeometry.getArea() to calculate the total coverage area.
[0157] AOI area calculation: Call Polygon_AOI.getArea() to calculate the AOI area.
[0158] Coverage calculation: The formula for calculating coverage is: (Total coverage area / AOI area) * 100%.
[0159] (3) Results return and display
[0160] The Web Worker sends the calculated content back to the main thread:
[0161] Override event list;
[0162] Coverage value, totalCoveredGeometry (converted to GeoJSON string);
[0163] The main thread updates the interface: displays the event list in a table; displays the coverage in a text area; calls the Leaflet map library to draw AOI boundaries on the map, representing the GeoJSON layer of the cumulative coverage area.
[0164] 6. Expected Results
[0165] Compared to directly performing a full JSTS intersection calculation on all 120 satellites over 24 hours using a fixed 10-second step size, this embodiment employs multi-level step size filtering, significantly reducing the computational load. This allows the entire analysis process to be completed within seconds (the exact time depends on PC performance and AOI complexity), achieving a 200-fold efficiency improvement compared to full computation and a 3- to 5-fold efficiency improvement compared to the time window method. The final coverage and coverage event results demonstrate consistent confidence levels with benchmark tools (under the same SGP4 model).
[0166] Example 2:
[0167] Based on the above-mentioned satellite constellation dynamic planning simulation method for regional coverage, the present invention also provides a satellite constellation dynamic planning simulation system for regional coverage.
[0168] A satellite constellation dynamic planning simulation system for regional coverage includes a processor, a memory, and a computer program stored in the memory. When the computer program is executed by the processor, it implements the satellite constellation dynamic planning simulation method for regional coverage as described above.
[0169] In other words, the satellite constellation dynamic planning simulation system of the present invention may include, but is not limited to: a processor and a memory; the memory is used to store computer programs; the processor is used to execute the satellite constellation dynamic planning simulation method for regional coverage shown in any embodiment of the present invention by calling the computer programs.
[0170] In one alternative embodiment, a satellite constellation dynamic programming simulation system is provided, such as Figure 2 As shown. Figure 2The satellite constellation dynamic programming simulation system shown includes a processor and a memory. The processor and memory are connected, for example, via a bus. Optionally, the satellite constellation dynamic programming simulation system may also include a transceiver, which can be used for data interaction between the satellite constellation dynamic programming simulation system and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver is not limited to one unit, and the structure of this satellite constellation dynamic programming simulation system does not constitute a limitation on the embodiments of the present invention.
[0171] The processor can be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLC (Programmable Controllers), a FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. The processor can also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0172] A bus can include a pathway for transmitting information between the aforementioned components. The bus can be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 2 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0173] The memory may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited to these.
[0174] The memory stores application code (computer program) that executes the present invention, and its execution is controlled by a processor. The processor executes the application code stored in the memory to implement the content shown in the foregoing method embodiments.
[0175] The satellite constellation dynamic planning simulation system can also be a terminal device. The terminal device can be any device that can install applications, including at least one of the following: smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, smart TV, and smart vehicle device.
[0176] It should be noted that, Figure 2 The satellite constellation dynamic planning simulation system shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0177] This invention presents a dynamic planning simulation method and system for satellite constellations oriented towards regional coverage. Through multi-level time step optimization and hierarchical geospatial computing strategies, it effectively avoids time-consuming precise calculations for a large number of non-coverage cases, making it possible to complete the coverage analysis of large-scale constellations within an acceptable time while ensuring the accuracy of the analysis results. Due to the improved computing efficiency, this invention can better cope with the challenges brought about by the increase in the number of satellites and has the potential to support coverage analysis for larger-scale constellations.
[0178] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A dynamic programming simulation method for satellite constellations oriented towards regional coverage, characterized in that... ,include: S1, Obtain the orbital parameters of the satellite constellation, define the ground region of interest, and set the simulation period, multi-level time steps, and sub-frame size; wherein, the multi-level time steps include at least a coarse time step and a fine time step; S2, within the simulation period, multiple coarse time points are set at intervals with the coarse time step; based on the orbital parameters and the subframe size, the ground coverage area of each satellite in the satellite constellation at each coarse time point is quickly estimated; it is determined whether the ground coverage area of each satellite in the satellite constellation at each coarse time point overlaps with the ground region of interest, and the overlapping satellites and their corresponding coarse time windows at the coarse time points are marked; S3, in each of the coarse time windows marked in S2, multiple fine time points are set at intervals of the fine time step; based on the orbital parameters and the sub-frame size, the ground coverage area of each satellite marked in S2 at each fine time point in the corresponding coarse time window is calculated with high precision; it is determined whether the ground coverage area of each satellite marked in S2 at each fine time point in the corresponding coarse time window overlaps with the ground region of interest, and the overlapping geometry between the ground coverage area of the satellites that overlap and the ground region of interest at the corresponding fine time point is recorded; S4, merge all the overlapping geometric figures recorded in S3 to obtain the total effective coverage area, and calculate the coverage rate of the satellite constellation over the region of interest during the simulation period based on the area of the total effective coverage area and the area of the region of interest on the ground.
2. The satellite constellation dynamic planning simulation method for regional coverage as described in claim 1, characterized in that... The multi-level time step also includes a medium time step; Between S2 and S3, there is also: S2-3, within each of the coarse time windows marked in S2, multiple intermediate time points are set at intervals with intermediate time steps; based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated with medium precision; it is determined whether the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the ground region of interest; if the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window does not overlap with the ground region of interest, then the marking of the satellite and its coarse time window at the corresponding coarse time point is cancelled.
3. The satellite constellation dynamic planning simulation method for regional coverage as described in claim 1, characterized in that... In step S2, based on the orbital parameters and the subframe size, the ground coverage area of each satellite in the satellite constellation at various approximate time points is quickly estimated, specifically including: Based on the orbital parameters, the positions of each satellite in the satellite constellation at various approximate time points are calculated; Let the subframe be a rectangle centered on the satellite projection point. Based on the size of the subframe and the position of each satellite in the satellite constellation at each approximate time point, the ground coverage area of each satellite in the satellite constellation at each approximate time point can be quickly estimated.
4. The satellite constellation dynamic planning simulation method for regional coverage as described in claim 1, characterized in that... In step S1, after defining the ground region of interest, the method further includes: preprocessing the ground region of interest to obtain a spatial index of the ground region of interest; In step S2, determining whether the ground coverage area of each satellite in the satellite constellation overlaps with the ground region of interest at each approximate time point specifically involves determining whether the outer rectangle of the ground coverage area of each satellite in the satellite constellation overlaps with the spatial index of the ground region of interest.
5. The satellite constellation dynamic planning simulation method for regional coverage according to claim 1, characterized in that... In step S3, based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in step S2 at each fine time point within the corresponding coarse time window is calculated with high precision, specifically including: Based on the orbital parameters, the positions of each satellite marked in S2 at each fine time point within the corresponding coarse time window are calculated; Based on the satellite attitude, the subframe size, and the positions of each satellite marked in S2 at each fine time point within the corresponding coarse time window, the ground coverage area of each satellite marked in S2 at each fine time point within the corresponding coarse time window is calculated with high precision.
6. The satellite constellation dynamic planning simulation method for regional coverage according to claim 1, characterized in that... In step S1, after defining the ground region of interest, the method further includes: preprocessing the ground region of interest to obtain a geometric representation of the ground region of interest; In step S3, it is determined whether the ground coverage area of each satellite marked in step S2 at each fine time point in the corresponding coarse time window overlaps with the ground region of interest. Specifically, it is determined whether the outer rectangle of the ground coverage area of each satellite marked in step S2 at each fine time point in the corresponding coarse time window overlaps with the geometric representation of the ground region of interest.
7. The satellite constellation dynamic planning simulation method for regional coverage according to claim 2, characterized in that... In steps S2-3, based on the orbital parameters and the subframe size, the ground coverage area of each satellite marked in S2 at various intermediate time points within the corresponding coarse time window is calculated with medium precision, specifically including: Based on the orbital parameters, the positions of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window are calculated; Taking into account the latitude and longitude offset of the satellite projection points, and based on the size of the subframe and the positions of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window, the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated with medium precision.
8. The satellite constellation dynamic planning simulation method for regional coverage according to claim 2, characterized in that... In step S1, after defining the ground region of interest, the method further includes: preprocessing the ground region of interest to obtain a spatial index of the ground region of interest; In S2-3, it is determined whether the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the ground region of interest. Specifically, it is determined whether the outer rectangle of the ground coverage area of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window overlaps with the spatial index of the ground region of interest.
9. The satellite constellation dynamic planning simulation method for regional coverage according to claim 1, characterized in that... S4 specifically refers to: Initialize an empty collection object; Traverse all the overlapping geometric figures recorded in S3, and use robust geometric merging operations to merge each overlapping geometric figure into a set object to obtain the effective total coverage area; Calculate the area of the total effective coverage area and the area of the region of interest on the ground; The ratio of the total effective coverage area to the area of the ground region of interest is calculated to obtain the coverage rate of the satellite constellation over the ground region of interest during the simulation period.
10. A satellite constellation dynamic planning simulation system for regional coverage, characterized in that... It includes a processor, a memory, and a computer program stored in the memory, wherein the computer program, when executed by the processor, implements the satellite constellation dynamic planning simulation method for regional coverage as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Satellite coverage information determination method and device, electronic equipment and storage medium
CN116961728A
Low-orbit communication constellation target area coverage evaluation method and system
CN119363216A