Area coverage-oriented satellite constellation dynamic planning simulation method and system

Through multi-level time steps and hierarchical geospatial computing strategies, the problem of inefficient coverage analysis of large-scale satellite constellations is solved, efficient and accurate coverage analysis is achieved, and the computing needs of larger-scale constellations are supported.

CN120724701AActive Publication Date: 2025-09-30ZHONGKE XINGLIAN (SHENZHEN) INFORMATION TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510923855.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-04
Publication Date
2025-09-30
Estimated Expiration
2045-07-04

AI Technical Summary

Technical Problem

Existing technologies are computationally intensive, inefficient, and difficult to scale when dealing with coverage analysis of large-scale satellite constellations. Furthermore, they struggle to efficiently and accurately process the joint or cumulative coverage effects of multiple satellites over the same area.

Method used

It adopts multi-level time step optimization and hierarchical geospatial calculation strategies, combines coarse and fine time steps, quickly estimates and calculates satellite coverage areas with high precision, and combines multi-level time steps and hierarchical geospatial analysis libraries (such as satellite.js, turf.js, jsts, Leaflet) for efficient coverage analysis.

Benefits of technology

It achieves the efficient completion of large-scale constellation coverage analysis within an acceptable time, ensures the accuracy of the analysis results, can cope with the computing challenges brought by more satellites, improves computing efficiency and supports the analysis of larger-scale constellations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120724701A_ABST
    Figure CN120724701A_ABST
Patent Text Reader

Abstract

The invention relates to a satellite constellation dynamic planning simulation method and system oriented to area coverage, and the method comprises the steps: setting rough time points in a simulation time period with a rough time step as an interval, estimating a ground coverage area of each satellite at each rough time point, judging whether the ground coverage area is overlapped with a ground region of interest or not, and if yes, judging whether the ground coverage area is overlapped with the ground region of interest; overlapping satellites and rough time windows of the satellites are marked; setting fine time points in each rough time window by taking a fine time step as an interval, calculating a ground coverage area of the marked satellite at each fine time point in the corresponding rough time window, judging whether the ground coverage area is overlapped with a ground region of interest, and recording an overlapped geometric figure; and combining the overlapped geometric figures to obtain an effective coverage total area, and calculating a coverage rate. According to the method, through multi-stage time step optimization and a hierarchical geographic space calculation strategy, time-consuming accurate calculation on a large number of non-coverage conditions is effectively avoided, and challenges caused by increase of the number of satellites can be better coped with.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of spacecraft orbit simulation and geospatial information analysis, and in particular to a satellite constellation dynamic planning simulation method and system for regional coverage. Background Art

[0002] In the existing technology, there are two commonly used methods for coverage analysis of satellite constellations. The first method uses a fixed fine time step to calculate the position and ground coverage of all satellites in the constellation at each time point, and perform intersection judgment. Although this method is direct, it is computationally intensive. Especially when there are a large number of satellites and the simulation time is long, a large amount of calculation is consumed on non-covered satellites and time points, resulting in extremely low efficiency. The second method is based on optimized single-satellite coverage analysis methods, such as the space-time window analysis method (STWA), which can effectively reduce the computational complexity of a single satellite. However, when such methods are directly applied to large-scale constellations, the complexity of managing and coordinating the space-time windows of numerous satellites and handling complex window interactions and overlaps increases sharply, and the efficiency advantage is greatly reduced.

[0003] The core issues with the two aforementioned satellite constellation coverage analysis methods are: First, constellation-level inefficiency and poor scalability: For both the fixed-step method and the extended single-satellite optimization method, the computational effort increases significantly with the number of satellites when dealing with large constellations, making efficient analysis difficult and scalable to even larger constellations in the future. Second, joint coverage analysis is difficult: existing methods generally struggle to efficiently and accurately handle the combined or cumulative coverage effects of multiple satellites covering the same area, such as calculating the total non-overlapping coverage area (which involves complex geometric merging operations) or analyzing collaborative observation capabilities.

[0004] Therefore, when dealing with large-scale multi-satellite network coverage analysis, existing technologies generally have problems such as low efficiency and insufficient scalability, and it is difficult to effectively support complex constellation network joint coverage analysis. Summary of the Invention

[0005] The present invention provides a satellite constellation dynamic programming simulation method or system for regional coverage to solve at least one of the above technical problems.

[0006] The present invention solves the above-mentioned technical problem with the following technical solution: A satellite constellation dynamic planning simulation method for regional coverage, comprising:

[0007] S1, obtain the orbital parameters of the satellite constellation, customize the ground region of interest, set the simulation period, multi-level time step and sub-frame size; wherein the multi-level time step includes at least a coarse time step and a fine time step;

[0008] S2, within the simulation period, setting a plurality of coarse time points at intervals of the coarse time step; based on the orbital parameters and the sub-frame size, quickly estimating the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point; determining whether the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point overlaps with the ground area of ​​interest, and marking the overlapping satellites and their coarse time windows at the corresponding coarse time points;

[0009] S3, in each of the coarse time windows marked in S2, setting a plurality of fine time points at intervals of the fine time step; based on the orbit parameters and the sub-frame size, calculating with high precision the ground coverage area of ​​each satellite marked in S2 at each fine time point in the corresponding coarse time window; determining 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 recording the overlapping geometric figures between the ground coverage area of ​​the satellite at the corresponding fine time point and the ground region of interest if there is overlap;

[0010] S4, merging all the overlapping geometric figures recorded in S3 to obtain a total effective coverage area, and calculating the coverage rate of the satellite constellation for the ground area of ​​interest during the simulation period based on the area of ​​the total effective coverage area and the area of ​​the ground area of ​​interest.

[0011] On the basis of the above technical solution, the present invention can also be improved as follows.

[0012] Furthermore, the multi-level time step also includes a medium time step;

[0013] Also included between S2 and S3:

[0014] S2-3, in each of the coarse time windows marked in S2, multiple medium time points are set at intervals of the medium time step; based on the orbit parameters and the sub-frame size, the ground coverage area of ​​each satellite marked in S2 at each medium 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 medium time point in the corresponding coarse time window overlaps with the ground area of ​​interest; if the ground coverage area of ​​the satellite marked in S2 at each medium time point in the corresponding coarse time window does not overlap with the ground area of ​​interest, the marking of the satellite and its coarse time window at the corresponding coarse time point is canceled.

[0015] Furthermore, in S2, based on the orbital parameters and the sub-frame size, the ground coverage area of ​​each satellite in the satellite constellation at each rough time point is quickly estimated, specifically including:

[0016] Calculating the position of each satellite in the satellite constellation at each rough time point based on the orbital parameters;

[0017] The sub-frame is set as a rectangle centered on the satellite projection point. Based on the size of the sub-frame and the position of each satellite in the satellite constellation at each coarse time point, the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point is quickly estimated.

[0018] Furthermore, in said S1, after customizing the ground region of interest, the method further includes: pre-processing the ground region of interest to obtain a spatial index of the ground region of interest;

[0019] In S2, it is determined whether the ground coverage area of ​​each satellite in the satellite constellation at each rough time point overlaps with the ground area of ​​interest, specifically: it is determined whether the outer rectangle of the ground coverage area of ​​each satellite in the satellite constellation at each rough time point overlaps with the spatial index of the ground area of ​​interest.

[0020] Furthermore, in S3, 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, specifically including:

[0021] Based on the orbital parameters, the position of each satellite marked in S2 at each fine time point in the corresponding coarse time window is calculated;

[0022] According to the satellite attitude, the sub-frame size and the position of each satellite marked in S2 at each fine time point in the corresponding coarse time window, 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.

[0023] Furthermore, in said S1, after customizing the ground region of interest, the method further includes: pre-processing the ground region of interest to obtain a geometric representation of the ground region of interest;

[0024] In the S3, it is determined whether the ground coverage area of ​​each satellite marked in the S2 at each fine time point in the corresponding coarse time window overlaps with the ground area of ​​interest, specifically: it is determined whether the outer rectangle of the ground coverage area of ​​each satellite marked in the S2 at each fine time point in the corresponding coarse time window overlaps with the geometric representation of the ground area of ​​interest.

[0025] Furthermore, in S2-3, based on the orbital parameters and the sub-frame size, the ground coverage area of ​​each satellite marked in S2 at each medium time point in the corresponding coarse time window is calculated with medium precision, specifically including:

[0026] Based on the orbital parameters, the position of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated;

[0027] Taking into account the latitude and longitude offsets of the satellite projection points, 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 according to the sub-frame size and the positions of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window.

[0028] Furthermore, in said S1, after customizing the ground region of interest, the method further includes: pre-processing 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 area 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 area of ​​interest.

[0030] Furthermore, the S4 is specifically:

[0031] Initialize an empty collection object;

[0032] Traversing all the overlapping geometric figures recorded in S3, and using a robust geometric merging operation to merge the overlapping geometric figures into a collection object to obtain a total effective coverage area;

[0033] Calculating the total effective coverage area and the area of ​​the ground region of interest;

[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 programming simulation method for regional coverage, the present invention also provides a satellite constellation dynamic programming 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 the present invention are as follows: a satellite constellation dynamic planning simulation method and system for regional coverage of the present invention effectively avoids time-consuming precise calculations of a large number of non-coverage situations through multi-level time step optimization and hierarchical geospatial calculation strategies, making it possible to complete coverage analysis of large-scale constellations within an acceptable time while ensuring the accuracy of the analysis results; due to the improvement in computing efficiency, the present 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 of even larger constellations. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 This is a flow chart 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 programming simulation system for regional coverage according to the present invention. DETAILED DESCRIPTION

[0040] The principles and features of the present invention are described below with reference to the accompanying drawings. The examples given are only used to explain the present invention and are not used to limit the scope of the present invention.

[0041] Example 1:

[0042] like Figure 1 As shown, a satellite constellation dynamic planning simulation method for regional coverage includes:

[0043] S1, obtain the orbital parameters of the satellite constellation, customize the ground region of interest, set the simulation period, multi-level time step and sub-frame size; wherein the multi-level time step includes at least a coarse time step and a fine time step;

[0044] S2, within the simulation period, setting a plurality of coarse time points at intervals of the coarse time step; based on the orbital parameters and the sub-frame size, quickly estimating the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point; determining whether the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point overlaps with the ground area of ​​interest, and marking the overlapping satellites and their coarse time windows at the corresponding coarse time points;

[0045] S3, in each of the coarse time windows marked in S2, setting a plurality of fine time points at intervals of the fine time step; based on the orbit parameters and the sub-frame size, calculating with high precision the ground coverage area of ​​each satellite marked in S2 at each fine time point in the corresponding coarse time window; determining 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 recording the overlapping geometric figures between the ground coverage area of ​​the satellite at the corresponding fine time point and the ground region of interest if there is overlap;

[0046] S4, merging all the overlapping geometric figures recorded in S3 to obtain a total effective coverage area, and calculating the coverage rate of the satellite constellation for the ground area of ​​interest during the simulation period based on the area of ​​the total effective coverage area and the area of ​​the ground area of ​​interest.

[0047] In this paper, the method of the present invention is based on a multi-level time step strategy and hierarchical geospatial calculation, relying on a series of mature JavaScript libraries 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] Function: A JavaScript library for satellite orbit calculation, supporting orbit propagation based on two-line elements (TLEs), 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 of the satellite at a specified time (propagate), providing core orbit data for coverage analysis.

[0051] Features: High efficiency, lightweight, suitable for real-time orbit prediction, widely used in the aerospace field.

[0052] 2. turf.js:

[0053] Function: 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 AOI's bounding rectangle (BBOX), and perform fast geometric judgment in the coarse and medium screening stages.

[0055] Features: Lightweight, easy to integrate, suitable for JavaScript-based geospatial applications.

[0056] 3. jsts (JavaScript Topology Suite):

[0057] Function: JavaScript port of the Java-based JTS library, supporting complex geometric operations such as polygon intersection, union, and area calculation (getArea).

[0058] Function: In the fine verification stage, 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: Strong robustness, suitable for processing complex polygon operations.

[0060] 4. Leaflet:

[0061] Function: A lightweight open source JavaScript map library that supports interactive map rendering and GeoJSON layer drawing.

[0062] Function: Used to visualize AOI polygons, coverage rectangles, and satellite trajectories, and display analysis results on a map in real time through L.polygon and L.polyline.

[0063] Features: Easy to expand, supports third-party tile services such as Tiandi Map.

[0064] The following describes each step of the method of the present invention in detail in conjunction with the above core dependency library.

[0065] S1: Initialization and parameter setting

[0066] Obtaining the orbital parameters of a satellite constellation: Users upload a two-line element (TLE) file containing satellite numbers, epochs, orbital elements, etc. The twoline2satrec function of satellite.js is used to parse the TLE file and generate a satrec object, which is stored in the satellites array.

[0067] Custom ground area of ​​interest (AOI): Users upload a polygon file in KML, GeoJSON, or KMZ format to define the geometric boundaries of the AOI. The file is parsed into GeoJSON polygons using the loadPolygonFile function of useFileLoader.js and stored in targetPolygons.

[0068] Set simulation parameters: Users use the interface to set the simulation start time (startTimeString), simulation duration (simulationDays), subframe dimensions (coverageLength and coverageWidth, in kilometers), and other parameters, which are stored in response variables. The simulation start time (startTimeString) and simulation duration (simulationDays) constitute the simulation period.

[0069] Set a multi-level time step, which includes at least a coarse time step T_coarse and a fine time step T_fine. The coarse time step T_coarse (for example, 360 seconds) is used to quickly scan the entire simulation time period, while the fine time step T_fine (for example, 10 seconds) is used to accurately verify coverage 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] Geometry representation: Convert the AOI to GeoJSON polygons that conform to the OGC standard. Use turf.js's booleanValid to check the topology validity to ensure compatibility with subsequent geometry operations.

[0072] Spatial indexing: Generates a bounding rectangle (BBOX) for each AOI, representing the latitude and longitude range [minLon, minLat, maxLon, maxLat], and stores it in targetBBOXes. BBOX is calculated using the turf.bbox function to optimize spatial queries during the coarse screening phase.

[0073] The preprocessing results are completed in the handlePolygonLoad function and drawn on the map through Leaflet's L.polygon for easy visual verification.

[0074] S2: Coarse Filtering Level

[0075] Purpose: To quickly identify time windows with possible coverage using a coarse time step T_coarse and exclude cases with obvious no coverage.

[0076] Implementation method:

[0077] Time traversal: Use the generateTimePoints function to generate multiple coarse time points of 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) using eciToGeodetic and gstime, and stored as {lat, lon}.

[0079] Coverage area estimation: Based on the satellite position and sub-frame size (coverageLength and coverageWidth), the enclosing rectangle (BBOX_footprint) of the ground coverage area is estimated. The sub-frame is assumed to be a rectangle centered at the satellite projection point and extending along the longitude and latitude directions.

[0080] Fast spatial pre-judgment: Checks whether BBOX_footprint overlaps with the AOI's BBOX_AOI using a simple range overlap test (comparing latitude and longitude boundaries). This logic is implemented in the coarse sampling phase of the analyzeCoverageThreeStep function, using turf.bbox and range comparison.

[0081] Filter flag: If there is overlap, mark the satellite and its coarse time window at the corresponding coarse time point (e.g., [t-T_coarse / 2, t+T_coarse / 2]) as "potential overlap candidates" and record them in a temporary array for subsequent analysis. [t-T_coarse / 2, t+T_coarse / 2] indicates that the coarse time window is centered at the coarse time point and has a coarse time step length.

[0082] S3: Fine Verification and Geometry Capture Stage (Fine Verification Level)

[0083] Purpose: Accurately calculate coverage events at a fine time step T_fine, generate coverage polygons and verify geometric overlap with AOI.

[0084] Implementation method:

[0085] Fine time iteration: For each coarse time window marked by S2, multiple fine time points are generated with T_fine (user-defined, such as 10 seconds).

[0086] High-precision position calculation: For each fine time point in each coarse time window, the propagate function is used to calculate the precise satellite position and convert it into longitude and latitude.

[0087] Coverage polygon generation: Generate the footprint polygon (in GeoJSON format) for the ground coverage area based on the subframe dimensions (coverageWidth and coverageLength, converted to meters). In the analyzeCoverageThreeStep, create the rectangle using turf.polygon, with the center being the satellite projection point.

[0088] Precise Geometry Overlap: Using the JSTs geometry engine (jsts.io.GeoJSONReader and intersection), the footprint polygon and the AOI GeoJSON polygon are converted into JSTS geometry objects, and any overlap is calculated. If an intersection exists, an overlap event is recorded, containing the satellite name (satellites[index].name), a timestamp (corrected to ISO format based on the startTime), and the GeoJSON geometry of the overlapping area (IntersectedGeometry). This logic is implemented in the fine sampling phase of the analyzeCoverageThreeStep, combining turf.js and JSTs.

[0089] Event storage: Coverage events are stored in the coverageEvents array, sorted by time, for easy subsequent aggregation and visualization.

[0090] S4: Quantification and aggregation of performance indicators

[0091] Purpose: 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 contains the start and end time, duration, satellite information, and intersection geometry.

[0094] Cumulative coverage calculation: Initialize an empty JSTS geometry collection to store the total effective coverage area; traverse all intersected geometries and merge them using the JSTS union operation, eliminating overlaps to generate a non-repeated total effective coverage area; calculate the area of ​​the total effective coverage area (getArea) and proportionally calculate it 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 geometry validity (such as buffer(0) repair) to ensure robustness.

[0095] Output: Outputs coverage events (coverageEvents), coverage rate (coverageRate), and total coverage area (in GeoJSON format). Exporting results is supported via 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 further includes a medium time step T_medium; the medium time step T_medium (e.g., 15 seconds) is used for further screening within the coarse time window. Furthermore, between S2 and S3, the following is also included:

[0097] S2-3, in each of the coarse time windows marked in S2, multiple medium time points are set at intervals of the medium time step; based on the orbit parameters and the sub-frame size, the ground coverage area of ​​each satellite marked in S2 at each medium 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 medium time point in the corresponding coarse time window overlaps with the ground area of ​​interest; if the ground coverage area of ​​the satellite marked in S2 at each medium time point in the corresponding coarse time window does not overlap with the ground area of ​​interest, the marking of the satellite and its coarse time window at the corresponding coarse time point is canceled.

[0098] Specifically, the S2-3 is a medium sampling stage (Medium Filtering Level), which aims to further confirm the coverage possibility with a medium time step T_medium within the coarse time window of the coarse screening and narrow the analysis scope.

[0099] Implementation method:

[0100] Time window iteration: For each coarse time window marked in S2, generate medium time points with T_medium (15 seconds) and call generateTimePoints.

[0101] Accurate position calculation: For each intermediate time point, the propagate function is used to recalculate the position of the marker satellite and convert it into longitude and latitude.

[0102] Coverage area generation: Generate a more accurate coverage area bounding rectangle (GeoJSON format) based on the sub-frame size, taking into account the latitude and longitude offsets of the satellite projection point.

[0103] Medium-precision spatial judgment: Check whether the BBOX of the coverage area's bounding rectangle overlaps with the BBOX of the AOI, possibly combining turf.booleanIntersects with a preliminary geometric test. If there is overlap, retain the marked satellite and its corresponding coarse time window; otherwise, remove the marked satellite and its corresponding coarse time window.

[0104] Output: Generates a more accurate coarse time window and passes it to the fine verification stage.

[0105] In addition, the method of the present invention is based on system implementation, and its implementation architecture is modular design:

[0106] Data input / processing module: useFileLoader.js handles TLE and AOI file parsing;

[0107] Orbit calculation module: satellite.js provides SGP4 / SDP4 model support;

[0108] Core processing engine: useCoverageAnalysis.js implements multi-level time steps and hierarchical geospatial calculations, integrating turf.js (BBOX and preliminary geometry operations) and jsts (precise geometry operations);

[0109] Result output module: useExport.js and Leaflet provide data export and visualization.

[0110] Performance Optimization: BBOX spatial indexing and multi-level time steps reduce unnecessary calculations. Intensive tasks (such as JSTS geometry operations) can be parallelized using Web Workers. Current code uses asynchronous operations (async / await) to optimize interface responsiveness.

[0111] Scalability: Supports multi-satellite and multi-AOI analysis, and is compatible with different subframe sizes and time step configurations. Other orbit models or geometry engines can be integrated to meet 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: Through multi-level time-step optimization and a hierarchical geospatial computation strategy, time-consuming and precise calculations for numerous non-coverage scenarios are effectively avoided. Simulation tests have demonstrated that this method can smoothly handle coverage analysis for a 500-satellite constellation on a standard PC. Its computational speed far exceeds that of traditional fixed-fine-step methods, making it possible to complete coverage analysis for large-scale constellations within an acceptable timeframe.

[0114] High Precision Guarantee: Utilizing multi-level optimization, this paper relies on the high-precision JSTS library for precise geometric intersection, merging, and area calculations when ultimately determining coverage occurrences and calculating coverage areas. This ensures the accuracy of coverage event detection and the reliability of regional coverage metrics. Validation results demonstrate that key metrics achieve a confidence level better than 95% (e.g., coverage geometry overlap >95% and coverage relative error <5%) compared to benchmark tools such as STK.

[0115] Good scalability: Due to the improvement in computational efficiency, this method can better cope with the challenges brought by the increase in the number of satellites and has the potential to support coverage analysis of larger constellations (possibly expanding to thousands of satellites in the future).

[0116] Improved user experience: In web applications, by optimizing time-consuming calculations (especially orbit propagation calculations) through cubic sampling, efficiency is increased by 200 times compared to stationary sampling. This allows for efficient coverage analysis of constellations or clusters of hundreds of satellites.

[0117] Strong practicality: It can accurately and efficiently output key performance indicators such as coverage event lists and area coverage rates, and provide 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 is described below with specific examples:

[0119] Web-based coverage analysis of a province using a 100-satellite constellation

[0120] This example describes how to use the method of the present invention in a web-based simulation software to analyze the coverage of a province (AOI) in China within 24 hours using a Walker constellation consisting of 120 satellites.

[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 the present invention.

[0125] 2. Input preparation

[0126] The user uploads the following input data through the interface:

[0127] Contains TLE collection files for 120 satellites.

[0128] A GeoJSON file defining the polygonal boundary of the target coverage area as the AOI.

[0129] Set the simulation time range:

[0130] Start time: 2024-01-01 00:00:00 UTC.

[0131] End time: 2024-01-02 00:00:00 UTC.

[0132] System preset or user-selected time step:

[0133] The coarse time step is 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 TLE parsing library implemented in JavaScript (such as the twoline2satrec method of satellite.js) to parse the TLE data of 120 satellites.

[0138] AOI processing: Use JSON.parse to parse the GeoJSON file and obtain the polygon geometry representation of the AOI.

[0139] Call a geospatial library (such as Turf.js or internal logic) to calculate the bounding 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 coverage calculation tasks to avoid blocking the main thread.

[0143] (2) Rough screening stage

[0144] Time iteration: The Web Worker iterates from the start time to the end time in steps of 300 seconds.

[0145] Per-satellite operations: At every 300-second time point, for each satellite, call the propagate method of satellite.js to calculate the satellite position. Based on the satellite altitude and a preset field of view (for example, a width of 100 km), quickly calculate the subsatellite point's enclosing rectangle BBOX_footprint. Call Turf.js's booleanIntersects(BBOX_footprint, BBOX_AOI) to quickly check for intersection. If the result is true, record the satellite ID and a rough time window of 150 seconds (300 seconds / 2) before and after the current time point, marking it as requiring detailed inspection.

[0146] (3) Mid-sampling stage

[0147] Time window and step size: The web worker iterates over all (satellite ID, coarse time window) combinations marked as requiring fine inspection, and iterates within each coarse time window with a step size of 15 seconds.

[0148] Operations for each marked satellite: At each 15-second time point, for the marked satellite, call the propagate method of satellite.js to calculate the precise position, calculate the subsatellite point outer rectangle BBOX_footprint based on the field of view angle, and call Turf.js's booleanIntersects(BBOX_footprint,BBOX_AOI) to perform intersection judgment. If the judgment result is true, the marked satellite and the corresponding coarse time window are retained, otherwise the marked satellite and the corresponding coarse time window are eliminated. (4) Fine verification stage

[0149] Time window and step size: The web worker iterates over all (satellite ID, time window) combinations marked as requiring fine inspection, and iterates in steps of 10 seconds within each coarse time window.

[0150] Operations for each tagged satellite: At every 10-second interval, the satellite.js propagate method is called to calculate the precise position of the tagged satellite. This is combined with the attitude (adjusted if there is yaw) and field of view to calculate the precise ground subsatellite point polygon (Polygon_footprint). The JSTS library's Polygon_footprint.intersection(Polygon_AOI) method is called to perform precise geometric intersection calculations. If intersection returns a non-null geometry (Geometry_intersected), the (current time, satellite ID, Geometry_intersected) combination is stored in a temporary list.

[0151] 5. Quantification of performance indicators and generation of results

[0152] (1) Event aggregation

[0153] The Web Worker processes the temporary list and merges the intersecting records that are continuous in time and belong to the same satellite into coverage events. 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 over all recorded Geometry_intersected, call totalCoveredGeometry = totalCoveredGeometry.union(Geometry_intersected), gradually merge all covered areas, and after the merge is complete, call totalCoveredGeometry.getArea() to calculate the total covered area.

[0157] AOI area calculation: Call Polygon_AOI.getArea() to calculate the AOI area.

[0158] Coverage calculation: Coverage calculation formula: (total coverage area / AOI area)*100%.

[0159] (3) Result return and display

[0160] The Web Worker sends the following computed content back to the main thread:

[0161] Overwrite 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 percentage in a text area; calls the Leaflet map library to draw the AOI boundary on the map, and a GeoJSON layer representing the cumulative coverage area.

[0164] 6. Expected Results

[0165] Compared to performing a full 24-hour JSTS intersection calculation for all 120 satellites using a fixed 10-second step size, this implementation significantly reduces the computational effort by employing multi-level step size filtering. This allows the entire analysis process to be completed in seconds (depending on PC performance and AOI complexity), resulting in a 200-fold improvement in efficiency compared to a full calculation and a 3-5-fold improvement compared to a time window approach. The resulting coverage and coverage event results have consistent confidence levels compared to the baseline tool (using the same SGP4 model).

[0166] Example 2:

[0167] Based on the above-mentioned satellite constellation dynamic programming simulation method for regional coverage, the present invention also provides a satellite constellation dynamic programming 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] That is to say, the satellite constellation dynamic planning simulation system of an embodiment 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 program.

[0170] In an optional embodiment, a satellite constellation dynamic programming simulation system is provided, such as Figure 2 shown. Figure 2The illustrated satellite constellation dynamic planning simulation system includes a processor and a memory. The processor and the memory are connected, for example, via a bus. Optionally, the satellite constellation dynamic planning simulation system may further include a transceiver, which can be used for data exchange between the satellite constellation dynamic planning simulation system and other electronic devices, such as data transmission and / or data reception. It should be noted that in actual applications, there is not limited to one transceiver, and the structure of the satellite constellation dynamic planning simulation system does not constitute a limitation on the embodiments of the present invention.

[0171] The processor may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLC (Programmable Controller), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the present disclosure. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0172] A bus may include a path for transmitting information between the above components. A bus may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. A bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 2 In the figure, only one thick line is used to represent a bus, but this does not mean that there is only one bus or only one type of bus.

[0173] The memory may be a ROM (Read Only Memory) or other type of static storage device that can store static information and instructions, a RAM (Random Access Memory) or other type of dynamic storage device that can store information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to these.

[0174] The memory is used to store application code (computer program) for executing the solution of the present invention, and the processor controls the execution of the application code. The processor is used to execute the application code stored in the memory to implement the content shown in the above method embodiment.

[0175] Among them, the satellite constellation dynamic planning simulation system can also be a terminal device, and the terminal device can be any device that can install applications, including at least one of a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, smart TV, and smart car-mounted device.

[0176] It should be noted that Figure 2 The satellite constellation dynamic planning simulation system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0177] The present invention provides a satellite constellation dynamic programming simulation method and system for regional coverage. Through multi-level time step optimization and a hierarchical geospatial computation strategy, this method effectively avoids time-consuming, precise computations for a large number of non-coverage situations, enabling coverage analysis of large-scale constellations to be completed within an acceptable timeframe while ensuring the accuracy of the analysis results. Due to the improved computational efficiency, the present invention can better address the challenges posed by the increasing number of satellites and has the potential to support coverage analysis for even larger 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 in the scope of protection of the present invention.

Claims

1. A satellite constellation dynamic planning simulation method for regional coverage, characterized by ,include: S1, obtain the orbital parameters of the satellite constellation, customize the ground region of interest, set the simulation period, multi-level time step and sub-frame size; wherein the multi-level time step includes at least a coarse time step and a fine time step; S2, within the simulation period, setting a plurality of coarse time points at intervals of the coarse time step; based on the orbital parameters and the sub-frame size, quickly estimating the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point; determining whether the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point overlaps with the ground area of ​​interest, and marking the overlapping satellites and their coarse time windows at the corresponding coarse time points; S3, in each of the coarse time windows marked in S2, setting a plurality of fine time points at intervals of the fine time step; based on the orbit parameters and the sub-frame size, calculating with high precision the ground coverage area of ​​each satellite marked in S2 at each fine time point in the corresponding coarse time window; determining 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 recording the overlapping geometric figures between the ground coverage area of ​​the satellite at the corresponding fine time point and the ground region of interest if there is overlap; S4, merging all the overlapping geometric figures recorded in S3 to obtain a total effective coverage area, and calculating the coverage rate of the satellite constellation for the ground area of ​​interest during the simulation period based on the area of ​​the total effective coverage area and the area of ​​the ground area of ​​interest.

2. The satellite constellation dynamic programming simulation method for regional coverage according to claim 1 is characterized in that ,The multi-level time steps also include a medium time step; Also included between S2 and S3: S2-3, in each of the coarse time windows marked in S2, multiple medium time points are set at intervals of the medium time step; based on the orbit parameters and the sub-frame size, the ground coverage area of ​​each satellite marked in S2 at each medium 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 medium time point in the corresponding coarse time window overlaps with the ground area of ​​interest; if the ground coverage area of ​​the satellite marked in S2 at each medium time point in the corresponding coarse time window does not overlap with the ground area of ​​interest, the marking of the satellite and its coarse time window at the corresponding coarse time point is canceled.

3. The satellite constellation dynamic programming simulation method for regional coverage according to claim 1 is characterized in that In S2, based on the orbital parameters and the sub-frame size, the ground coverage area of ​​each satellite in the satellite constellation at each rough time point is quickly estimated, specifically including: Calculating the position of each satellite in the satellite constellation at each rough time point based on the orbital parameters; The sub-frame is set as a rectangle centered on the satellite projection point. Based on the size of the sub-frame and the position of each satellite in the satellite constellation at each coarse time point, the ground coverage area of ​​each satellite in the satellite constellation at each coarse time point is quickly estimated.

4. The satellite constellation dynamic programming simulation method for regional coverage according to claim 1 is characterized in that ,In the S1, after customizing the ground region of interest, the ,step further includes: pre-processing the ground region of interest to obtain a ,spatial index of the ground region of interest; In S2, it is determined whether the ground coverage area of ​​each satellite in the satellite constellation at each rough time point overlaps with the ground area of ​​interest, specifically: it is determined whether the outer rectangle of the ground coverage area of ​​each satellite in the satellite constellation at each rough time point overlaps with the spatial index of the ground area of ​​interest.

5. The satellite constellation dynamic programming simulation method for regional coverage according to claim 1 is characterized in that In S3, 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, specifically including: Based on the orbital parameters, the position of each satellite marked in S2 at each fine time point in the corresponding coarse time window is calculated; According to the satellite attitude, the sub-frame size and the position of each satellite marked in S2 at each fine time point in the corresponding coarse time window, 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.

6. The satellite constellation dynamic programming simulation method for regional coverage according to claim 1 is characterized in that ,In the S1, after customizing the ground region of interest, the ,processing of the ground region of interest is further included: pre-processing the ground region of interest to ,obtain a geometric representation of the ground region of interest; In the S3, it is determined whether the ground coverage area of ​​each satellite marked in the S2 at each fine time point in the corresponding coarse time window overlaps with the ground area of ​​interest, specifically: it is determined whether the outer rectangle of the ground coverage area of ​​each satellite marked in the S2 at each fine time point in the corresponding coarse time window overlaps with the geometric representation of the ground area of ​​interest.

7. The satellite constellation dynamic programming simulation method for regional coverage according to claim 2 is characterized in that In S2-3, based on the orbital parameters and the sub-frame size, the ground coverage area of ​​each satellite marked in S2 at each medium time point in the corresponding coarse time window is calculated with medium precision, specifically including: Based on the orbital parameters, the position of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window is calculated; Taking into account the latitude and longitude offsets of the satellite projection points, 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 according to the sub-frame size and the positions of each satellite marked in S2 at each intermediate time point in the corresponding coarse time window.

8. The satellite constellation dynamic programming simulation method for regional coverage according to claim 2 is characterized in that ,In the S1, after customizing the ground region of interest, the ,step further includes: pre-processing 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 area 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 area of ​​interest.

9. The satellite constellation dynamic programming simulation method for regional coverage according to claim 1 is characterized in that , the S4 is specifically: Initialize an empty collection object; Traversing all the overlapping geometric figures recorded in S3, and using a robust geometric merging operation to merge the overlapping geometric figures into a collection object to obtain a total effective coverage area; Calculating the total effective coverage area and the area of ​​the ground region of interest; 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 by , including a processor, a memory and a computer program stored in the memory, wherein when the computer program is executed by the processor, the method for dynamic planning simulation of satellite constellations for regional coverage according to any one of claims 1 to 9 is implemented.

Citation Information

Patent Citations

  • Coverage analysis method and system of satellite to earth

    CN106469249A

  • Satellite coverage information determination method and device, electronic equipment and storage medium

    CN116961728A

  • Coverage analysis method and device for satellite terminal task planning, and medium

    CN118469152A

  • Low-orbit communication constellation target area coverage evaluation method and system

    CN119363216A

  • Rapid calculation method for coverage rate of constellation over-the-ground target area

    CN120011699A