Satellite big data storage organization query method and device, medium and product
By establishing a spatiotemporal index database with grid coding as the primary key to store spatial topological location relationships and temporal information, the problems of large storage volume, complex format, and low query efficiency in satellite big data storage organization and query are solved, and efficient data retrieval and observation scheme determination are realized.
Patent Information
- Application Number
- CN202511017256.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2025-11-11
AI Technical Summary
Existing satellite big data storage organization and query methods suffer from problems such as large storage volume, complex format, and low query efficiency. Grid-based coding discrete methods have complex structures and are significantly time-consuming for regional or range queries.
Based on geospatial and satellite data, a gridded coding system is determined, and a spatiotemporal index database is established. The gridded coding system is used as the primary key to store spatial topological location relationships and temporal information. The spatiotemporal index database is then used to perform regional gridded decomposition to determine the observation scheme.
By constructing a spatiotemporal index database using gridded coding, unified management of multidimensional data is achieved, reducing the computational complexity of regional tasks and improving retrieval efficiency. This approach is suitable for scenarios such as satellite mission planning and environmental monitoring.
Smart Images

Figure CN120929550A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of big data processing technology, specifically to a satellite big data storage organization and query method, device, medium, and product. Background Technology
[0002] In existing technologies, the storage, organization, and querying of satellite big data primarily employ distributed non-relational databases or relational databases. Data is stored in discipline-specific formats such as FITS (Flexible Image Transport System) and Root, while metadata is stored in relational databases. Data retrieval requires segmenting the target, retrieving metadata, parsing the specialized formats, and extracting feature parameters. One related technology, a grid-based coding discretization method, involves using grid codes, time codes, and grid attributes to segment spatial information; using BeiDou grid codes to segment space and construct an HBase database; storing the spatiotemporal index in a relational database; and using a distributed database for partitioning and table creation.
[0003] Traditional latitude and longitude representation and existing data storage organization and query methods face problems such as large storage volume, complex format, and diverse storage methods, resulting in low storage and query efficiency; existing grid-based coding discretization methods have disadvantages such as complex structure, high uncertainty in actual data time and space, and significant time consumption for regional or range queries. Summary of the Invention
[0004] At least one embodiment of this application provides a satellite big data storage organization and query method, apparatus, medium, and product to solve the problems of complex data storage structure and low query and retrieval efficiency in the prior art.
[0005] To solve the above-mentioned technical problems, this application is implemented as follows:
[0006] In a first aspect, embodiments of this application provide a satellite big data storage organization and query method, including:
[0007] Based on geospatial and satellite data, determine the grid code after gridding;
[0008] A spatiotemporal index database is established based on the grid code; the spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information.
[0009] The acquired target area is decomposed into a regional grid, and the observation scheme is determined using the spatiotemporal index database.
[0010] Optionally, based on geospatial and satellite data, determine the grid code after gridding, including:
[0011] Based on the Earth's spatial scale, spatial location codes are determined;
[0012] Determine the time code;
[0013] Based on satellite data, satellites and missions are structured and coded to determine satellite codes;
[0014] Based on the spatial location code, time code, and satellite code, the grid code after gridding is determined.
[0015] Optionally, spatial scale division based on Earth's space to determine spatial location codes includes:
[0016] A reference coordinate system is constructed based on a pre-defined geocentric coordinate system.
[0017] Based on the aforementioned reference coordinate system, Earth's space is divided into multiple layers of grid cells; the height dimension of each layer of grid cells is determined using an isometric transformation method; the coverage of the height dimension at least covers the Earth satellite system;
[0018] The multi-layered grid cells are defined as spatial location codes.
[0019] Optionally, based on the grid encoding, a spatiotemporal index database is established, including:
[0020] Based on the grid coding, construct a satellite capability table;
[0021] Based on the grid code, construct a ground grid data table;
[0022] A spatiotemporal index database is established based on the satellite capability table and the ground grid data table.
[0023] Optionally, constructing the satellite capability table based on the grid coding includes:
[0024] Based on the grid coding, the required information for the satellite capability table is obtained; the required information includes the spatial location code in the grid coding, the satellite code in the grid coding, the time code in the grid coding, the satellite detection capability, and the coverage grid coding set;
[0025] A satellite capability table is constructed using a first preset indexing mechanism. The first preset indexing mechanism uses the spatial location code and the time code as the index code of the satellite capability table, the satellite code as the identifier code, and the satellite detection capability and the coverage grid code set as the attribute code.
[0026] Optionally, based on the grid code, a ground grid data table is constructed, including:
[0027] Based on the grid coding, determine the spatial location coding, time coding, and satellite coding of the grid coding;
[0028] Develop task codes for project management and task scheduling;
[0029] A ground grid data table is constructed using a second preset indexing mechanism. The second preset indexing mechanism uses the spatial location code and the time code in the grid code as the index code of the ground grid data table, the satellite code in the grid code as the available resource code, and the mission code as the attribute code.
[0030] Optionally, the acquired target area is decomposed into a regional grid, and the observation scheme is determined using the spatiotemporal index database, including:
[0031] Using the range and resolution of the acquired target region, the target level for region division is determined;
[0032] Based on the target hierarchy and the spatiotemporal index database, determine the visibility information between each grid and the satellite in each target hierarchy;
[0033] Based on each visibility information, all grids are clustered and merged into satellite stripes;
[0034] Based on the satellite stripes, multiple initial schemes are generated;
[0035] An observation scheme is determined from the plurality of initial schemes based on the maximum coverage area or the shortest observation time.
[0036] Secondly, this application provides a satellite big data storage organization and query device, comprising:
[0037] The first determining module is used to determine the grid code after gridding based on geospatial and satellite data;
[0038] The first processing module is used to establish a spatiotemporal index database based on the grid code; the spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information;
[0039] The second processing module is used to perform regional grid decomposition on the acquired target area and determine the observation scheme using the spatiotemporal index database.
[0040] Thirdly, embodiments of this application provide a computer-readable storage medium storing a program that, when executed by a processor, implements the steps of the method described in any of the first aspects.
[0041] Fourthly, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the method described in any of the first aspects.
[0042] Compared with existing technologies, the satellite big data storage organization and query method, apparatus, medium, and product provided in this application, based on geospatial and satellite data, determines the grid code after gridding; establishes a spatiotemporal index database according to the grid code; the spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information; performs regional gridding decomposition on the acquired target area, and uses the spatiotemporal index database to determine the observation scheme. Compared with traditional databases, this application constructs a spatiotemporal index database through gridding encoding, uses the spatiotemporal index database for unified management, facilitates storage, transforms multidimensional data into one-dimensional search, reduces the computational complexity of regional tasks, and improves retrieval efficiency. Attached Figure Description
[0043] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0044] Figure 1 A schematic diagram illustrating a satellite big data storage organization and query method provided in an embodiment of this application;
[0045] Figure 2 Schematic diagrams of the first to fourth level meshes provided in the embodiments of this application;
[0046] Figure 3 A schematic diagram of the fifth-level subdivision grid of the satellite internet spatiotemporal coverage grid provided in the embodiments of this application;
[0047] Figure 4 This is a schematic diagram of the satellite coverage area gridding provided in an embodiment of this application;
[0048] Figure 5 This is a schematic diagram of segmentation retrieval provided for an embodiment of this application;
[0049] Figure 6 This is a structural diagram of a satellite big data storage organization and query device provided in an embodiment of this application. Detailed Implementation
[0050] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, without limiting the number of objects; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, "A or B" covers three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. The character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0051] The term "instruction" in this application can be either a direct instruction (or explicit instruction) or an indirect instruction (or implicit instruction). A direct instruction can be understood as one in which the sender explicitly informs the receiver of specific information, the operation to be performed, or the requested result, etc., in the instruction sent. An indirect instruction can be understood as one in which the receiver determines the corresponding information based on the instruction sent by the sender, or makes a judgment and determines the operation to be performed or the requested result, etc., based on the judgment result.
[0052] As described in the background section, existing technologies for representing latitude and longitude and storing and querying data involve large storage volumes, complex formats, and diverse storage methods, resulting in low storage and query efficiency. Existing gridded coding discretization methods have complex structures, and database rows cannot contain multiple data entries. Constructing the database according to the highest resolution leads to uncertainties in the actual data in time and space, and presents significant operational difficulties. Existing gridded databases use spatial and temporal coding to construct rows, which is advantageous for point queries, but for regional or range queries, it requires determining the relationship between each grid and the query range layer by layer, or performing a full table scan, which is significantly time-consuming. To address at least one of the above problems, this application provides a satellite big data storage organization and query method, apparatus, medium, and product to improve the efficiency of data storage and retrieval.
[0053] Please refer to Figure 1 This application provides a satellite big data storage organization and query method, including:
[0054] Step 11: Determine the grid code after gridding based on geospatial and satellite data;
[0055] Step 12: Establish a spatiotemporal index database based on the grid code; the spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information;
[0056] Step 13: Decompose the acquired target area into a regional grid and determine the observation scheme using the spatiotemporal index database.
[0057] In this embodiment, based on Earth space and satellite data, Earth space can be divided into multiple discrete grid cells, and satellite data can be stored in these discrete grid cells to form a three-dimensional spatial code. Step 12 constructs an aerospace grid index table based on the grid code, i.e., establishes a spatiotemporal index database. This spatiotemporal index database uses the grid code as the storage primary key and stores all spatial topological positional relationships in space according to time. It trades space for time, transforming complex high-dimensional floating-point calculations into a one-dimensional coding search and calculation problem. Here, the spatiotemporal index database is established using the grid code as the primary key, containing dynamic attributes such as satellite coverage time windows and sensor parameters. Encoding algebra operations replace traditional spatial calculations, improving query efficiency. The target area is obtained and decomposed into gridded sub-tasks according to satellite swath width. Visible satellites and their transit times are matched using the spatiotemporal index, and the observation strip selection is optimized and the observation scheme is determined by combining constraints such as coverage and resolution. This technical solution achieves one-dimensional storage and efficient retrieval of aerospace data through gridded coding, and is suitable for scenarios such as satellite mission planning and environmental monitoring.
[0058] Optionally, step 11 above includes:
[0059] Based on the Earth's spatial scale, spatial location codes are determined;
[0060] Determine the time code;
[0061] Based on satellite data, satellites and missions are structured and coded to determine satellite codes; the satellite codes contain basic satellite information and capability parameters, and the capability parameters include at least one of orbital parameters, type, inherent capabilities, constraints, mission arrangements or status;
[0062] Based on the spatial location code, time code, and satellite code, the grid code after gridding is determined.
[0063] In this embodiment, spatial scale division based on Earth space is used to determine spatial location codes. Specifically, spatial division is performed based on Earth space. The partitioning reference frame is a complete, seamless, and non-overlapping partitioning method for the Earth's interior, surface, and outer space. Earth space is divided into a set of discrete three-dimensional spatial regions composed of partitioned voxels as basic units according to certain rules. Each partitioned voxel within the three-dimensional space needs a unique identifier to determine its position in Earth space. The time code can be determined by configuration or pre-configuration as described in this application. For example, the time code design can convert and pad the timestamp according to binary format. A 64-bit binary integer is used to store the time, and the 64 bits are divided into year, month, day, hour, minute, second, millisecond, and microsecond, from the most significant bit to the least significant bit. To maintain consistency in the processing of month, day, hour, minute, and second, the values of month and day are decremented by 1 before storage.
[0064] Based on spatial and temporal coding, this application encodes the state and constraints of spacecraft such as satellites in space, manages spatial objects and spatiotemporal grids, forms a unified format coding, and transforms complex and ever-changing entities into consistent grid coding.
[0065] Based on satellite data, we first define object variables such as satellites and missions in space. These object variables include system mission parameters, target parameters, and satellite variables.
[0066] System task parameters can be represented as: System task parameter Task sys ={n,Tar,st sys ,et sys Period sys}; where n is the number of observation targets, Tar is the task target set, and st sys For the start time of the system's detection mission, et sys Period is the end time. sys The task cycle.
[0067] The target parameters include:
[0068] Tart={Tart i |i=1,2,…,m};
[0069] Where Tar is the set of m targets to be observed. i For specific target information, for a target, ID i The system number for the target. i The weight of the objective. For target location information, st i For the start time, et i The end time, periodi For periodicity, v i This refers to the target speed information.
[0070] Satellite variables include:
[0071] Sat={Sat j |j=1,2,…,n};
[0072]
[0073] The low-Earth orbit observation constellation contains n satellites. The satellite set is named Sat. SID is... i This is the satellite's identification number. (status) j This indicates the satellite's operational status. For Sat j The task currently being undertaken. Angle j This represents the current spatial pointing angle of the satellite payload. For satellite position, WT j This refers to the length of time the satellite can still operate.
[0074] To express the capabilities of satellite nodes, a satellite coding model was established within the constellation. The satellite's status can be directly read from the coding.
[0075] Sat i ={N i C i}, i = 1, 2, ..., n s ;
[0076] Where, N i This indicates the satellite's basic information, such as its serial number and name, and is a fundamental identifier that distinguishes the current satellite from other satellites. s Indicates the number of satellites in a constellation. (C) i This indicates the basic capability types and related constraints currently present in the satellite information.
[0077]
[0078] in, Represents the satellite's orbital parameters; This represents the type of satellite in the constellation; there are F types of satellites in the constellation. The inherent capabilities of satellite nodes are taken into account comprehensively, such as on-board storage capacity, computing power, data transmission capacity, and imaging quality. This indicates the current constraints on the satellite, such as pitch angle, energy constraints, and time constraints. This indicates the current mission schedule being performed by the satellite, typically represented by the current mission ID. If no mission is being performed, it is represented by 0. This indicates the current satellite status: 0 indicates the satellite is idle and can perform tasks, while 1 indicates the satellite is busy and cannot perform tasks.
[0079] Optionally, spatial scale division based on Earth's space to determine spatial location codes includes:
[0080] A reference coordinate system is constructed based on a pre-defined geocentric coordinate system.
[0081] Based on the aforementioned reference coordinate system, Earth's space is divided into multiple layers of grid cells; the height dimension of each layer of grid cells is determined using an isometric transformation method; the coverage of the height dimension at least covers the Earth satellite system;
[0082] The multi-layered grid cells are defined as spatial location codes.
[0083] In this embodiment, the preset geocentric geodetic coordinate system can be "CGCS2000 (China Geodetic Coordinate System 2000), which has a unified transformation basis and standard." The origin of the grid coordinates is located at the intersection of the Earth's reference ellipsoid, the prime meridian, and the equatorial plane. The reference ellipsoid parameters are: semi-major axis a = 6,378,137 meters, semi-minor axis b = 6,356,752 meters. The X-axis (longitude direction) is bounded by the prime meridian, with positive values east of the prime meridian and negative values west of it. The Y-axis (latitude direction) is bounded by the equator, with positive values north of the equator and negative values south of it. The Z-axis (height dimension direction) is selected as the CGCS2000 geodetic height direction as the height dimension direction. When the height value equals the Earth's average radius, the reference ellipsoid is the Earth's surface. A reference coordinate system is constructed using the above parameters and the preset geocentric geodetic coordinate system.
[0084] Based on the aforementioned reference coordinate system, Earth's space is divided into multiple layers of grid cells. Here, five layers of grid cells can be used.
[0085] Reference Figure 2 The “E23N17” shown is the naming convention for one of the grids. The first layer of division is as follows: the intersection of the Prime Meridian and the equator is used as the origin, and the globe is divided into four hemispheres. The Eastern and Western Hemispheres are distinguished by E / W, and the Northern and Southern Hemispheres are distinguished by N / S. Based on this, a 4°×4° grid is divided, with longitude represented by 1-180 and latitude represented by 0-90, resulting in 360×180 global grids, equivalent to a 512 km grid.
[0086] The second layer of subdivision involves dividing the global-scale grid (4°×4°) into smaller, 1°×1° grids. Longitude is represented by AD, and latitude by 1-4. Each global-scale grid results in 4×4=16 subgrids, equivalent to a 128-kilometer grid. Figure 2The "E23N17C3" shown is the naming convention for one of the grids. The encoding rule is to recursively encode longitude first, then dimension, and longitude letters first, then dimension numbers.
[0087] The third layer of subdivision involves dividing the global-scale grid (1°×1°) into smaller, 4'×4' grids. Longitude is represented by AP, and latitude by ap. Each global-scale grid results in 16×16=256 subgrids, equivalent to an 8-kilometer grid. Figure 2 The "E23N17C3Bc" shown is the naming convention for one of the grids. The encoding rule is to recursively encode longitude first, then latitude, and first longitude in uppercase letters, then latitude in lowercase letters.
[0088] The fourth layer of subdivision involves dividing the global-scale grid (4'×4') into smaller, 1'×1' grids. Longitude is represented by AD, and latitude by 1-4. Each global-scale grid results in 4×4=16 subgrids, equivalent to a 2-kilometer grid. Figure 2 The "E23N17C3BcC2" shown is the naming convention for one of the grids. The encoding rule follows a recursive upward encoding method, starting with longitude and then dimension, and vice versa.
[0089] The fifth layer of subdivision involves dividing the global-scale grid (1×1) into smaller, 4×4 grids, with longitude represented by AP and latitude by ap. Each global-scale grid results in 16×16=256 subdivisions, equivalent to a 128-meter grid. Figure 3 The (E23N17C3BcC2Ab) shown is the naming convention for one of the grids.
[0090] Optionally, the encoding rules of this application recursively encode longitude first and then latitude, and longitude first in uppercase letters and then latitude in lowercase letters.
[0091] Each grid cell in this application also has a height dimension, the coverage of which at least encompasses Earth satellite systems, including artificial satellite systems and natural satellite (lunar) systems. The height is defined as follows: with the reference ellipsoid surface as 0, the altitude ranges from -6295.0634656908942 km to 528089.31628361891 km, covering the entire Earth's space-air region, including the highest geostationary orbit artificial satellite systems and even the lunar system. To satisfy the encoding requirements in the elevation direction, an equidistant transformation method is used to convert unequal-distance real elevations into unequal-distance virtual elevations. The encoding rules remain based on ground-level granularity and employ a binary encoding method.
[0092] Optionally, based on the grid encoding, a spatiotemporal index database is established, including:
[0093] Based on the grid coding, construct a satellite capability table;
[0094] Based on the grid code, construct a ground grid data table;
[0095] A spatiotemporal index database is established based on the satellite capability table and the ground grid data table.
[0096] In this embodiment, the satellite capability table is constructed using spatial location encoding and temporal encoding as a joint primary key, with satellite encoding as a foreign key. Satellite detection capabilities, such as Synthetic Aperture Radar (SAR), infrared payload parameters, and coverage grid encoding sets, are used as attribute fields. An index function such as Z-ORDER is employed to accelerate spatiotemporal queries; the index function can be represented as "Z-ORDER(spatial encoding, temporal encoding)". In the ground grid data table design, surface attributes corresponding to the grid encoding, such as topography and meteorological data, are stored, linking satellite observation data with ground-based real-time data to support multi-source fusion analysis. The spatiotemporal index database is established using a pre-defined model to achieve an integrated air-space-ground grid index, supporting three-dimensional spatial relationship calculations. Combined with spatiotemporal services, Z-ORDER encoding is embedded in the primary key or secondary index to improve query efficiency. The spatiotemporal index database determined in this application can achieve second-level spatiotemporal data analysis for scenarios such as real-time matching of satellite coverage areas and disaster emergency response.
[0097] In this embodiment, the spatiotemporal index database is a large index table, which is the most important relational master table and can be associated with different data tables. To improve the efficiency and capability of the index table, the large index table is designed with the following structural features. The characteristics of the grid index table of the spatiotemporal index database are shown in Table 1 below.
[0098] Table 1: Characteristics of Grid Index Tables
[0099]
[0100]
[0101] Large grid tables can accommodate multiple data sources, and indexing methods can be established based on spatial location, time, and attributes. Satellites operate according to fixed cycles, and there are slight discrepancies between the satellite positions calculated in advance based on orbital elements and their actual operating positions. Therefore, it is necessary to update and optimize the satellite data for a future period based on the actual satellite positions.
[0102] Optionally, constructing the satellite capability table based on the grid coding includes:
[0103] Based on the grid coding, the required information for the satellite capability table is obtained; the required information includes the spatial location code in the grid coding, the satellite code in the grid coding, the time code in the grid coding, the satellite detection capability, and the coverage grid coding set;
[0104] A satellite capability table is constructed using a first preset indexing mechanism. The first preset indexing mechanism uses the spatial location code and the time code as the index code of the satellite capability table, the satellite code as the identifier code, and the satellite detection capability and the coverage grid code set as the attribute code.
[0105] In this embodiment, the grid code is parsed to extract the spatial location code (used to identify geographic grid units); the satellite code and name are obtained (used to uniquely identify the satellite); the time code is extracted (used to record data acquisition or coverage timestamps); and satellite detection capabilities (such as remote sensing resolution, payload type, etc.) and coverage grid code set (used to represent the observable grid range of the satellite) are associated. The spatial location code and time code are combined into a joint primary key to form an index code, supporting rapid retrieval of spatiotemporal ranges. The satellite code serves as an identifier code, associated with satellite metadata (such as name and orbital parameters); detection capabilities and coverage grid set serve as attribute codes, describing satellite functions and service ranges. Efficient data organization is achieved through one-dimensional integer binary grid codes, improving query efficiency and supporting dynamic index updates to adapt to real-time changes in satellite coverage grids.
[0106] The satellite capability table primarily contains detailed information about the satellites in the entire satellite constellation. It should include the following essential elements: satellite code and name, grid code, time code, satellite detection capabilities, and coverage grid code set. The satellite code and name distinguish different types of satellites; the satellite code can use existing coding rules, and the satellite name follows the same logic. The grid code indicates the satellite's spatial position during operation. In a traditional coordinate system, satellites move periodically according to a predetermined orbit; in a grid system, the grid code identifies the satellite's position. The time code indicates the current time of the satellite. For the entire time domain, the satellite's position can be calculated at any time; therefore, the time codes stored in the satellite capability table should be the complete set obtained by dividing a specified time range according to accuracy requirements. The detection capabilities in the satellite detection capabilities section include, but are not limited to, visible light remote sensing, SAR, infrared remote sensing, and link communication. Specific parameters such as resolution, deflection angle, and payload are recorded according to different types and functions of satellites. The coverage grid code set indicates the ground coverage of the satellite at the current grid code location under the current time code.
[0107] This application provides a design format for a satellite capability table. The design format of the satellite capability table is shown in Table 2 below.
[0108] Table 2: Basic Satellite Information
[0109]
[0110] In the satellite capability table, spatial location coding and temporal segmentation coding serve as index codes. They record the satellite's coverage of the ground at different times and act as primary keys supporting rapid retrieval. Satellite coding and payload coding are identification codes used to distinguish different satellites. Payload coding differentiates between satellites with multiple payloads and satellites with the same payload. Codes for sensor type, specific sensor parameters, and other elements serve as attribute codes, further recording and indicating the satellite's basic capabilities and constraints.
[0111] Optionally, based on the grid code, a ground grid data table is constructed, including:
[0112] Based on the grid coding, determine the spatial location coding, time coding, and satellite coding of the grid coding;
[0113] Develop task codes for project management and task scheduling;
[0114] A ground grid data table is constructed using a second preset indexing mechanism. The second preset indexing mechanism uses the spatial location code and the time code in the grid code as the index code of the ground grid data table, the satellite code in the grid code as the available resource code, and the mission code as the attribute code.
[0115] In this embodiment, the spatial location code, time code, and satellite code of the grid code are determined based on the grid code. The spatial location code can use the BeiDou grid code to perform multi-scale subdivision of Earth's space, with each grid cell assigned a unique integer code, supporting regional identification from centimeter level to global scale; the time code embeds a task trigger timestamp, accurate to millisecond level to meet the high concurrency requirements of low-Earth orbit constellations; the satellite code identifies the satellite platform performing the task, and the satellite status can be directly read through the satellite code. In the second preset indexing mechanism, the spatial location code and the time code in the grid code are used as the index codes for the ground grid data table, and the satellite code in the grid code is used as the available resource code.
[0116] Furthermore, this application constructs a task code for project management and task scheduling. To more standardize the representation of multiple concurrent tasks on the ground, the following task model is established to address the characteristics of real-time concurrency and a large number of tasks in low-Earth orbit constellations. Here, in the second preset indexing mechanism, the task code is used as the attribute code.
[0117] Optional, task code M i It can be represented as:
[0118] in, Indicates the type of task; This indicates the target location of the task, where for a point task target, For latitude and longitude points or grid codes, for regional targets, it is a set of latitude and longitude sequences or grid codes; Indicates the time requirement for the target task; This indicates the quality requirements for the target area; The weight of the target task. This indicates the task level. Considering the characteristics of the tasks in the entire system, a method for balancing the importance of completed tasks will be developed later.
[0119] In this application, after receiving the mission instruction, the mission-related information can be transmitted to the relevant management domain or stored in the receiver. By encoding the satellite and mission in advance, the satellites in the management domain can be managed efficiently and quickly. After mission preprocessing, the planning of the processing mission is finally realized.
[0120] Optionally, this application can also construct a payload code, which is also used as an identification code, and the satellite code and payload code are used together to distinguish different satellites. Here, the payload code is used to distinguish between cases of one satellite with multiple payloads and cases of the same payload on different satellites.
[0121] In this embodiment, the ground grid data table is a table containing the retrieval and query records of each grid in the entire ground area. Each spatial location is encoded and associated with other dimensional information, enabling rapid location and retrieval of multi-source spatial data. In this application, the ground grid data table is the most important grid index table, defined as shown in Table 3 below:
[0122] Table 3: Schematic diagram of the ground grid structure
[0123]
[0124] In Table 3 above, `Code` represents spatial location encoding: stored as an integer or string type, supporting 3D mesh encoding and operations based on encoding algebra; visible mesh encoding: composed of a set of numbers, used to store the calculated collection of visible mesh codes; `status` represents mesh status encoding: composed of integers, mainly used to record the current mesh status, recorded as 1 if occupied, otherwise 0; `attribute` represents mesh attribute information: composed of JSON type, mainly recording the task point to which the current mesh belongs, task requirements, etc. `Satellite_data` represents data composed of several documents, mainly describing the topology information corresponding to the current mesh, specifically as follows: time data type `time`: records the time period during which the current mesh and satellite can remain visible, including start and end times; constraint information `constraint`: mainly used to record basic metadata information of the data, such as satellite type, sensor type, resolution, angle parameters, etc.
[0125] It should be noted that the three-dimensional grid coding can use the BeiDou three-dimensional grid location code, such as the plane latitude and longitude code and the height domain code as the primary key; the grid status code is used to record the real-time status of the grid, such as normal, disaster, maintenance, etc.; the grid attribute information is used to store dynamic attributes such as surface type, elevation, and meteorology; the satellite description information is used to associate the payload type and resolution corresponding to the satellite code; the indexing mechanism can combine the spatial location code and the time code to form a spatiotemporal joint index; the resource code is used to mark the satellite resources that can cover the grid; the task attribute code is used to associate the observation task parameters through the task code, such as priority and revisit cycle; this application supports dynamic grid attribute updates, which can realize centimeter-level fine data association in grid-based urban management and form a spatiotemporal data closure with the satellite capability table.
[0126] In the ground grid data table, spatial location codes and temporal partition codes serve as large table index codes, used to identify the spatiotemporal location of ground target areas. Satellite codes can be resource codes, identifying the satellites that can currently communicate with the grid. Task codes are attribute codes for the current grid, identifying the current task status and task requirements of the grid.
[0127] Optionally, step 13 above involves performing a regional grid decomposition on the acquired target area and determining an observation scheme using the spatiotemporal index database, including:
[0128] Using the range and resolution of the acquired target region, the target level for region division is determined;
[0129] Based on the target hierarchy and the spatiotemporal index database, determine the visibility information between each grid and the satellite in each target hierarchy;
[0130] Based on each visibility information, all grids are clustered and merged into satellite stripes;
[0131] Based on the satellite stripes, multiple initial schemes are generated;
[0132] An observation scheme is determined from the plurality of initial schemes based on the maximum coverage area or the shortest observation time.
[0133] In this embodiment, based on the area range and resolution requirements, the level of BeiDou grid coding is selected. A three-dimensional grid is partitioned using a preset three-dimensional model, supporting elevation domain layering. The target area's range and resolution are used to determine the target level for area division. A spatiotemporal index database is invoked to match satellite orbits with the grid spatiotemporal coding, calculating the visible time window. The conical intersection method is used to determine satellite visibility to grid points, considering elevation angle thresholds. Adjacent, continuously visible grids are merged into observation strips, optimizing the strip width and satellite field-of-view matching. Strip direction is adjusted based on satellite side-swing capabilities to improve coverage efficiency. Multiple candidate schemes are generated based on the strip set. Each scheme includes: satellite resource allocation (e.g., SAR / optical satellite combination); and a time window sequence, considering revisit period constraints. A maximum coverage mode or a minimum time mode can be used to determine the optimal observation scheme. The maximum coverage mode prioritizes the scheme with the most covered grids; the minimum time mode optimizes satellite maneuver paths and minimizes the total observation time. This application, through the linkage of grid coding and spatiotemporal indexing, enables minute-level observation planning with centimeter-level grids.
[0134] In one specific implementation, assuming the target area is R, the first step is to determine the region division level Y based on the target area's range and resolution. The target area is then divided into M*N grid cells, each with a size of Δl. Based on the spatiotemporal index database (or data table) determined in step 12, the visibility information between each grid cell and the satellite is calculated or queried, i.e., whether the grid cell can be covered by the satellite's sensors. Visibility calculation can be performed based on factors such as the satellite's orbital parameters, attitude angle, and the sensor's field of view.
[0135] Grid cells are clustered based on their visibility values, grouping cells with the same visibility into the same class. Clustering methods can employ neighborhood-based connectivity analysis, where two adjacent grid cells with the same visibility belong to the same class. The clustering results can be represented by a set G. ij This indicates that i represents the number of grids in the result, and j represents the number of sets.
[0136] Furthermore, cell clustering and merging are performed. Based on the clustering results, the grid cells of each cluster are merged into a satellite strip, which is a contiguous region where all grid cells have the same visibility. The number of satellite strips is equal to the number of sets, j. The shape and position of the satellite strips can be represented by a rectangle, determined by the coordinates of the top-left and bottom-right corners.
[0137] Grid decomposition is a method that divides a complex region into several simple grid cells, thereby reducing computational complexity and improving segmentation efficiency. The specific algorithm flow is as follows: The input to the grid segmentation algorithm is: the range and resolution of the target region, satellite parameters, and mission time; the output is: the set of observation schemes O. Step 1: Select the segmentation level L based on the target range and resolution, and record the grid encoding set Grid within that region under level L. n Step 2: Query the visibility of each grid cell to the satellite to obtain V. n Step 3: Cluster the grid cells based on their visibility values, using integer variables C. ij Step 4: Merge the grid cells of each class into a satellite strip, representing its shape and position with a rectangle. Satellite strip = Create a one-dimensional array the size of the number of classes, where each element is a rectangle object containing the coordinates of its top-left and bottom-right corners. Step 5: Provide the observation scheme set O.
[0138] Grid filtering segmentation essentially transforms the problem of segmenting targets in unevenly observed regions into a grid coverage problem considering varying observation gains within the target area. This is achieved by pre-recording the visibility of satellite and ground grids in a large grid table for the mission area, allowing for targeted filtering within the target mission region.
[0139] like Figure 4 As shown, the visibility of each satellite relative to the target area can be queried from the large grid spatial index table, and the corresponding time is recorded. A fast query and retrieval scheme for the regional task is generated. Targeted filtering is performed based on the segmented observation scheme, and further subdivision schemes are made according to factors such as maximum coverage area and shortest observation time. The algorithm terminates after all grids within the target area have completed their tasks, thus obtaining a decomposition scheme for the target area, such as... Figure 5 As shown.
[0140] In summary, this application transforms real-time computation into query search, accelerating the efficiency of complex tasks. By using spatial location encoding as the primary key for storage and associating it with topological information such as satellite coverage areas and relative location visibility, K-dimensional computation is transformed into one-dimensional search. Table-based query retrieval replaces real-time computation processes that can be replaced in traditional analysis and applications, reducing the computational complexity of regional tasks and effectively trading space for time. This application also discloses a unified spatiotemporal framework modeling for satellite big data. The task expression paradigms and standards of different satellites and ground tasks are chaotic, characterized by multiple tasks, multiple types, multiple constraints, and multiple satellite resources. Adopting a unified gridded modeling approach allows for better unified management.
[0141] This application enables unified organization and management of multi-source data. Compared to latitude and longitude representation, it achieves unified gridded storage and querying of multi-dimensional data across the entire space. Utilizing a space-for-time strategy, it transforms the complex real-time high-dimensional calculations in satellite missions into one-dimensional encoding and matching. Based on spatiotemporal encoding, satellite and mission encoding are designed, while satellite capabilities and mission requirements are recorded in the database. A multi-level nested table indexing method is designed based on a single spatial encoding primary key, enabling the associated storage of spatial topology and coverage area information compared to existing solutions. This application designs a set of region segmentation query and filtering algorithms. Utilizing grid encoding and data correspondence tables, it can store spatial topological relationships, better supporting nested multi-table queries and enabling fast queries of multiple targets and regional targets.
[0142] Low Earth Orbit (LEO) satellites are gradually becoming important research platforms in fields such as communication, navigation, and remote sensing, exhibiting a rapid development trend and holding significant importance for the low-altitude economy and integrated air-space-ground systems. Existing technical solutions primarily employ floating-point latitude and longitude storage and real-time computation, leading to increased response time and wasted computing resources. This application proposes a satellite big data storage, query, and retrieval method based on grid coding. This method improves upon this aspect by using grid coding for unified management and storage, combined with database querying to replace real-time computation, achieving rapid response. Therefore, this application can be well applied to existing recommendation scenarios and has broad application potential.
[0143] The various methods of the embodiments of this application have been described above. Apparatus for implementing the above methods will now be provided.
[0144] Please refer to Figure 6 This application also provides a satellite big data storage organization and query device, comprising:
[0145] The first determining module 61 is used to determine the grid code after gridding based on geospatial and satellite data;
[0146] The first processing module 62 is used to establish a spatiotemporal index database based on the grid code; the spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information;
[0147] The second processing module 63 is used to perform regional grid decomposition on the acquired target area and to determine the observation scheme using the spatiotemporal index database.
[0148] Optionally, the first determining module 61 described above includes:
[0149] The first determining unit is used to divide spatial scales based on Earth space and determine spatial location codes;
[0150] The second determining unit is used to determine the time code;
[0151] The third determining unit is used to perform structured coding of satellites and missions based on satellite data, and to determine satellite codes;
[0152] The fourth determining unit is used to determine the grid code after gridding based on the spatial location code, time code, and satellite code.
[0153] Optionally, the first determining unit described above is specifically used for:
[0154] The first construction unit is used to construct a reference coordinate system based on a preset geocentric geodetic coordinate system;
[0155] The first processing unit is used to divide the Earth's space into multiple layers of grid cells according to the reference coordinate system; the height dimension of each layer of grid cells is determined by an isometric transformation method; the coverage of the height dimension at least covers the Earth satellite system;
[0156] The fifth determining unit is used to determine the multi-layer grid unit as a spatial location code.
[0157] Optionally, the first processing module 62 described above includes:
[0158] The second construction unit is used to construct a satellite capability table based on the grid coding;
[0159] The third construction unit is used to construct a ground grid data table based on the grid code;
[0160] The second processing unit is used to establish a spatiotemporal index database based on the satellite capability table and the ground grid data table.
[0161] Optionally, the second building block described above is specifically used for:
[0162] Based on the grid coding, the required information for the satellite capability table is obtained; the required information includes the spatial location code in the grid coding, the satellite code in the grid coding, the time code in the grid coding, the satellite detection capability, and the coverage grid coding set;
[0163] A satellite capability table is constructed using a first preset indexing mechanism. The first preset indexing mechanism uses the spatial location code and the time code as the index code of the satellite capability table, the satellite code as the identifier code, and the satellite detection capability and the coverage grid code set as the attribute code.
[0164] Optionally, the third building block described above is specifically used for:
[0165] Based on the grid coding, determine the spatial location coding, time coding, and satellite coding of the grid coding;
[0166] Develop task codes for project management and task scheduling;
[0167] A ground grid data table is constructed using a second preset indexing mechanism. The second preset indexing mechanism uses the spatial location code and the time code in the grid code as the index code of the ground grid data table, the satellite code in the grid code as the available resource code, and the mission code as the attribute code.
[0168] Optionally, the second processing module 63 described above includes:
[0169] The sixth determining unit is used to determine the target level of the region division by utilizing the range and resolution of the acquired target region;
[0170] The seventh determining unit is used to determine the visibility information between each grid and the satellite in each target level based on the target level and the spatiotemporal index database;
[0171] The third processing unit is used to cluster and merge all grids into satellite stripes based on each visibility information.
[0172] The fourth processing unit is used to generate multiple initial schemes based on the satellite stripes;
[0173] The eighth determining unit is used to determine the observation scheme from the plurality of initial schemes based on the maximum coverage area or the shortest observation time.
[0174] It should be noted that the device in this embodiment corresponds to the method described above. The implementation methods in each of the above embodiments are also applicable to the embodiments of this device and can achieve the same technical effect. The device provided in this application embodiment can implement all the method steps implemented in the above method embodiments and can achieve the same technical effect. Therefore, the parts that are the same as those in the method embodiments and the beneficial effects will not be described in detail here.
[0175] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described satellite big data storage organization and query method embodiments, achieving the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may include read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0176] This application also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, they implement the various processes of the above-described satellite big data storage organization and query method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0177] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0178] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0179] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A method for organizing and querying satellite big data storage, characterized in that, include: Based on geospatial and satellite data, determine the grid code after gridding; Based on the grid encoding, a spatiotemporal index database is established; The spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information; The acquired target area is decomposed into a regional grid, and the observation scheme is determined using the spatiotemporal index database.
2. The method according to claim 1, characterized in that, Based on geospatial and satellite data, the grid coding after gridding is determined, including: Based on the Earth's spatial scale, spatial location codes are determined; Determine the time code; Based on satellite data, satellites and missions are structured and coded to determine satellite codes; Based on the spatial location code, time code, and satellite code, the grid code after gridding is determined.
3. The method according to claim 2, characterized in that, Based on the spatial scale division of Earth's space, spatial location coding is determined, including: A reference coordinate system is constructed based on a pre-defined geocentric coordinate system. Based on the aforementioned reference coordinate system, Earth's space is divided into multiple layers of grid cells; the height dimension of each layer of grid cells is determined using an isometric transformation method; the coverage of the height dimension at least covers the Earth satellite system; The multi-layered grid cells are defined as spatial location codes.
4. The method according to claim 1, characterized in that, Based on the aforementioned grid coding, a spatiotemporal index database is established, including: Based on the grid coding, construct a satellite capability table; Based on the grid code, construct a ground grid data table; A spatiotemporal index database is established based on the satellite capability table and the ground grid data table.
5. The method according to claim 4, characterized in that, The step of constructing a satellite capability table based on the grid coding includes: Based on the grid coding, the required information for the satellite capability table is obtained; the required information includes the spatial location code in the grid coding, the satellite code in the grid coding, the time code in the grid coding, the satellite detection capability, and the coverage grid coding set; A satellite capability table is constructed using a first preset indexing mechanism. The first preset indexing mechanism uses the spatial location code and the time code as the index code of the satellite capability table, the satellite code as the identifier code, and the satellite detection capability and the coverage grid code set as the attribute code.
6. The method according to claim 4, characterized in that, Based on the grid code, a ground grid data table is constructed, including: Based on the grid coding, determine the spatial location coding, time coding, and satellite coding of the grid coding; Develop task codes for project management and task scheduling; A ground grid data table is constructed using a second preset indexing mechanism. The second preset indexing mechanism uses the spatial location code and the time code in the grid code as the index code of the ground grid data table, the satellite code in the grid code as the available resource code, and the mission code as the attribute code.
7. The method according to claim 1, characterized in that, The acquired target area is decomposed into a regional grid, and the observation scheme is determined using the spatiotemporal index database, including: Using the range and resolution of the acquired target region, the target level for region division is determined; Based on the target hierarchy and the spatiotemporal index database, determine the visibility information between each grid and the satellite in each target hierarchy; Based on each visibility information, all grids are clustered and merged into satellite stripes; Based on the satellite stripes, multiple initial schemes are generated; An observation scheme is determined from the plurality of initial schemes based on the maximum coverage area or the shortest observation time.
8. A satellite big data storage organization and query device, characterized in that, include: The first determining module is used to determine the grid code after gridding based on geospatial and satellite data; The first processing module is used to establish a spatiotemporal index database based on the grid encoding; The spatiotemporal index database uses the grid code as the storage primary key to store spatial topological location relationships and time information; The second processing module is used to perform regional grid decomposition on the acquired target area and determine the observation scheme using the spatiotemporal index database.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method as described in any one of claims 1 to 7.
10. A computer program product, characterized in that, Includes computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Spatial-temporal index construction method and device, computer equipment and storage medium
CN113946700A
Space operation and control big data storage method based on space-time grid
CN118606518A
Multi-satellite collaborative observation-data transmission combined planning method for agile satellites
CN119623986A