Satellite image space coverage screening method based on approximation algorithm and utilizing PostGIS function

By using PostGIS function and approximation algorithm in PostgreSQL database, efficient spatial coverage screening of satellite image data is achieved, solving the problem of high cost of manual screening and improving data screening efficiency.

CN119884268AActive Publication Date: 2025-04-25ZHUHAI ORBIT SATELLITE BIG DATA CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411954559.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-25
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

When obtaining high-quality satellite image data sets in specific areas and time periods, the prior art relies on manual refined operations, resulting in high time costs and it is difficult to quickly screen out effective data sets with few landscapes, low overlap and high coverage.

Method used

The satellite image space coverage filtering method based on approximation algorithm and using PostGIS function is adopted. The space calculation is performed through the PostgreSQL database and PostGIS plug-in. The coverage query function is customized using functions such as ST_Intersection, ST_Union, ST_Area, etc. to identify and filter data that overlap or intersect each other in a specific area, reducing the cost of manual screening time.

Benefits of technology

It realizes the rapid selection of effective satellite image data sets with few scenes, low overlap and high coverage, reducing time costs and improving query and screening efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119884268A_ABST
    Figure CN119884268A_ABST
Patent Text Reader

Abstract

The invention discloses a satellite image space coverage screening method based on an approximation algorithm and utilizing a PostGIS function. The method comprises the following steps: step 1, receiving the range of a target area; 2, acquiring space vector data in a database; 3, judging whether the image vector ranges in the database intersect with the target area one by one in space by using a PostGIS function, obtaining a data set of a plurality of candidate satellite images with an intersection relationship in space, and storing the data set in a temporary data set; 4, performing vector union set calculation on the temporary data set to obtain a union set range covered by the temporary data set; 5, performing intersection calculation on a union set range covered by the target region and the temporary data set to obtain an actual effective coverage area; and 6, when it is judged that the actual effective coverage area is larger than 0, an approximation algorithm is used for iterative analysis, and the range of the overlapping area is obtained. The method is applied to the technical field of geographic information systems (GIS) and databases.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a satellite image space coverage screening method, and in particular to a satellite image space coverage screening method based on an approximate algorithm and utilizing a PostGIS function. Background Art

[0002] With the rapid development of satellite technology, satellite image data has become an indispensable information resource in many fields, driving a wide range of application innovations. At the same time, the significant increase in the number of satellites in orbit has led to the accumulation of satellite image data at an unprecedented rate worldwide. When using these data to support various research, planning, and monitoring applications, the first and most critical step is to efficiently obtain a comprehensive, high-quality image dataset for a specific area within a specific time period to ensure the accuracy and timeliness of subsequent analysis. At present, the collection and screening process of qualified data sets is highly dependent on manual fine-grained operations. First, based on the precise geographic coordinates of the target area, the staff needs to carefully search for suitable satellite image resources; then, by setting strict time windows and cloud thresholds, a secondary fine screening is performed to initially build a data set with a high degree of overlap; on this basis, the manual visual screening link is further introduced to carefully identify the quick preview of each scene image, use professional skills and experience to judge the availability of the image, and implement the third screening, and finally select a small number of valid data sets. Among them, the time cost of the manual visual screening link is relatively high. If an effective data set with a small number of scenes, low overlap and high coverage can be developed to quickly screen out, the problem of high time cost caused by the manual visual screening link can be well solved.

[0003] PostgreSQL is a powerful open source object-relational database that supports most SQL language standards and provides many modern database features, such as relational queries, foreign keys, triggers, views, transaction integrity, multi-version concurrency control, etc. PostGIS is an extension plug-in for PostgreSQL that provides storage, query and analysis functions for spatial objects. These spatial objects can be points, lines, polygons and other common data types in geographic information systems (GIS). Summary of the invention

[0004] The technical problem to be solved by the present invention is to overcome the deficiencies of the prior art, and provide a satellite image spatial coverage screening method based on an approximate algorithm and using PostGIS functions, which effectively solves the problems of large amount of satellite image data and large overlap in the target area, and high time cost of manual visual screening. The present invention combines the PostgreSQL database and its powerful PostGIS extension plug-in, and performs complex spatial calculations on massive satellite image data by calling the spatial functions provided by PostGIS. Specifically, the present invention aims to use an approximate algorithm for iterative analysis, and customize a coverage query function using PostGIS spatial functions such as ST_Intersection, ST_Union, and ST_Area to perform cross-calculations on the geographic spatial data stored in the PostgreSQL database to identify and screen out data that overlap or intersect with each other in a specific area, thereby reducing the time cost of manual visual screening, and quickly screening out qualified satellite image data sets with a small number of scenes, low overlap, and high coverage.

[0005] The technical solution adopted by the present invention is: the present invention comprises the following steps:

[0006] Step 1: Receive the scope of the target area. The query scope of the target area is to obtain the spatial vector surface data of the target area, which is the spatial vector data of the target area in a certain format such as Shapefile, GeoJSON, KML, etc. uploaded by the user;

[0007] Step 2: Obtain the spatial vector data in the PostgreSQL database, that is, the image vector range of several satellite image data, and extract the relevant attribute information of the spatial vector data, such as name, cloud amount, geomtery object, etc.;

[0008] Step 3: Use the ST_Intersects function in PostGIS to determine whether the image vector range in the PostgreSQL database intersects with the target area one by one in space, and obtain a data set of several candidate satellite images that have an intersecting relationship in space, and store the data set in a temporary data set;

[0009] Step 4: Use the ST_Union function in PostGIS to perform vector union calculation on the temporary data set to obtain the union range covered by the temporary data set

[0010] Step 5: Use the ST_Intersection function and ST_Area function in PostGIS to calculate the intersection of the target area and the union range covered by the temporary data set to obtain the actual effective coverage area;

[0011] Step 6: Determine whether the actual effective coverage area is greater than 0. If the area is not greater than 0, return that there is no suitable satellite image data in the target area; if the area is greater than 0, use the approximate algorithm for iterative analysis: first, use the ST_Intersection function in the PostGIS function to intersect an image vector range in the temporary data set with the actual effective coverage range to obtain the range of the overlapping area; then use the ST_Area function in the PostGIS function to calculate the overlapping area range and determine whether the overlapping area range is greater than 0. If the overlapping area range is not greater than 0, mark the satellite image data as invalid data; if the overlapping area range is greater than 0, use the ST_Difference function in the PostGIS function to calculate the remaining actual coverage range after erasing the overlapping area range from the current actual effective coverage range, and then use the ST_Area function in the PostGIS function to calculate the remaining actual coverage area, and mark the satellite image data as valid data, and use the remaining actual coverage range as the current actual effective coverage range in the next cycle; continue to traverse the next image in the temporary data set for the next round of calculation until the image in the temporary data set is marked as valid or invalid data, and finally return a valid data set.

[0012] The code for iterative analysis of satellite image spatial coverage screening using an approximate algorithm is as follows:

[0013]

[0014]

[0015] The beneficial effects of the present invention are as follows: 1. The present invention fully utilizes the advantages of the fast speed of the approximate algorithm, completes the calculation in polynomial time, reduces the data volume of satellite images with large overlap in the target area, reduces the time cost, and improves the efficiency of query and screening; 2. The present invention also fully utilizes the PostgreSQL database and PostGIS plug-in to directly perform data query and spatial calculation in the database, which is shorter than the total time of querying, processing and returning results by using GeoTools, GDAL and other dependencies in Java, Python and other environments to process the same amount of image data, and is convenient for programming languages ​​such as Java and Python to directly call the custom function, while improving the reusability of other applications in the requirements of querying the vector range of satellite images covering the target area. . BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 is a flow chart of the present invention;

[0017] Figure 2It is a temporary data set diagram of a plurality of candidate satellite images having a spatially intersecting relationship provided by an embodiment of the present invention;

[0018] Figure 3 is a temporary data set coverage map provided by an embodiment of the present invention;

[0019] Figure 4 It is an effective data set coverage map provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0020] like Figure 1 As shown, in this embodiment, the present invention includes the following steps:

[0021] Step 1: Receive the scope of the target area. The query scope of the target area is to obtain the spatial vector surface data of the target area, which is the spatial vector data of the target area in a certain format such as Shapefile, GeoJSON, KML, etc. uploaded by the user;

[0022] In the embodiment, the scope of Zhuhai City is received in GeoJSON format, the geographic scope in GeoJSON format is converted into a geographic object, and its spatial reference system identifier (SRID) is set to 4326 (WGS 84), and finally the result is saved in a table named states_needed

[0023] Step 2: Obtain the spatial vector data in the PostgreSQL database, that is, the image vector range of several satellite image data, and extract the relevant attribute information of the spatial vector data, such as name, cloud amount, geomtery object, etc.;

[0024] In the embodiment, SQL statements are used to obtain all Zhuhai-1 satellite images and their geographic information and attribute information (such as name (name), cloud amount (image_cloudage), geomtery object (temp_2_range), etc.) in the PostgreSQL database.

[0025] Step 3: Use the ST_Intersects function in PostGIS to determine whether the image vector range in the PostgreSQL database intersects with the target area one by one in space, and obtain a data set of several candidate satellite images that have an intersecting relationship in space, and store the data set in a temporary data set;

[0026] In the embodiment, SQL statements are used to filter out all Zhuhai No. 1 data from May 26, 2019 to August 24, 2021, and the geographic information and attribute information of each satellite image data (such as name (name), cloud amount (image_cloudage), geomtery object (temp_2_range)), etc.) are obtained, and then the ST_Intersects function in the PostGIS function is used to extract the data sets of several candidate satellite images that have a spatial intersection relationship with the scope of Zhuhai City, and store them in a temporary data set; a total of 1709 rows of results are obtained, and the query results are shown in Figure 2 , coverage information see Figure 3 ;

[0027] Step 4: Use the ST_Union function in PostGIS to perform vector union calculation on the temporary data set to obtain the union range (states_real) covered by the temporary data set;

[0028] Step 5: Use the ST_Intersection function and ST_Area function in PostGIS to calculate the intersection of the target area and the union range covered by the temporary data set to obtain an effective coverage range surface vector (states_rest); then use the ST_Area function to calculate the area size of the effective union range (states_rest);

[0029] The code for steps 3-5 is as follows:

[0030] states_real=ST_Union(ST_Intersection(states_needed,b.range))from"rscm_image_data_total"as b where ST_Intersects(states_needed,b.range)andb.image_take_time between to_date(imageInitTime,'2019-05-26')and to_date(checkTime,'2021-08-24')and b.image_cloudage <CAST(imageCloudage AS numeric);

[0031] states_rest = states_real;

[0032] states_temp_doub=ST_Area(states_rest);

[0033] Step 6: Determine whether the actual effective coverage area (states_rest) is greater than 0. If the area is not greater than 0, return that there is no suitable satellite image data in the target area; if the area is greater than 0, use the approximate algorithm for iterative analysis: first use the ST_Intersection function in the PostGIS function to intersect an image vector range (temp_2_range) in the temporary data set with the actual effective coverage range (states_rest) to obtain the range of the overlapping area (states_temp_2); then use the ST_Area function of the PostGIS function to calculate the overlapping area range area and determine whether the overlapping area range area is greater than 0. If the overlapping area range area is not greater than 0, mark the satellite image data as invalid data. If the overlapping area range area is greater than 0, the satellite image data is marked as invalid data. If the value is 0, the ST_Difference function in PostGIS function is used to calculate the remaining actual coverage (states_temp) after erasing the overlapping area (states_temp_2) from the current actual effective coverage (states_rest), and then the ST_Area function in PostGIS function is used to calculate the remaining actual coverage area (states_temp_doub), and the satellite image data is marked as valid data. At the same time, the remaining actual coverage (states_temp) is used as the current actual effective coverage (states_rest) in the next cycle; continue to traverse the next image in the temporary data set for the next round of calculation until the image in the temporary data set is marked as valid or invalid data, and finally return a valid data set.

[0034] In the embodiment, it is determined whether the area of ​​the actual effective coverage range face vector is greater than 0, and an approximate algorithm is used for iterative analysis: first, the satellite image data in all temporary data sets are traversed, and the vector range (temp_2_range) of a scene of satellite image data is intersected with the actual effective coverage range (states_rest) by using the ST_Intersection function in turn to obtain the range of the overlapping area (states_temp_2); then, the ST_Area function in the PostGIS function is used to calculate the overlapping area range, and it is determined whether the overlapping area range area is greater than 0. If the overlapping area range area is not greater than 0, the satellite image data is marked as invalid data. If the overlapping area range area is greater than 0, the ST_D in the PostGIS function is used. The ifference function calculates the remaining actual coverage (states_temp) after erasing the overlapping area (states_temp_2) from the current actual effective coverage (states_rest), and then uses the ST_Area function in the PostGIS function to calculate the remaining actual coverage area (states_temp_doub), and marks the satellite image data in the current loop as valid data, and uses the remaining actual coverage (states_temp) as the current actual effective coverage (states_rest) in the next loop; continue to use the next image in the temporary data set for the next round of calculations until the image in the temporary data set is marked as valid or invalid data, and finally returns a valid data set.

[0035] The image vector range (temp_2_range) of the satellite image data is intersected with the actual effective coverage range (states_rest):

[0036] states_temp_2:=ST_intersection(states_rest,temp_2_range)

[0037] Use the ST_Difference function in PostGIS to calculate the remaining actual coverage (states_temp) after erasing the overlapping area (states_temp_2) from the current effective coverage (states_rest):

[0038] states_temp:=ST_difference(states_rest,states_temp_2);

[0039] The code for iterative analysis of satellite image spatial coverage screening using an approximate algorithm is as follows:

[0040]

[0041]

[0042] Using the above process, a PostgreSQL database and a custom PostGIS function based on an approximate algorithm are used to iteratively filter out a set of valid image datasets with a small number of scenes, low overlap and high coverage. This embodiment retains 12 satellite images of relatively good quality after screening. Figure 4 , significantly reducing the number of images and the time for screening.

[0043] The invention is applied to the technical field of geographic information system GIS and database.

[0044] Although the embodiments of the present invention are described with practical solutions, they do not constitute limitations on the meaning of the present invention. For those skilled in the art, it is obvious to modify the implementation scheme and combine it with other solutions based on this description.

Claims

1. A satellite image spatial coverage screening method based on an approximate algorithm and using PostGIS functions, characterized in that: It includes the following steps: Step 1: Receive the scope of the target area; Step 2: Get the spatial vector data in the PostgreSQL database; Step 3: Use PostGIS functions to determine whether the image vector range in the PostgreSQL database intersects with the target area one by one in space, and store the data sets of several candidate satellite images that intersect in space into a temporary data set; Step 4: Perform vector union calculation on the temporary data set to obtain the union range covered by the temporary data set; Step 5: Perform intersection calculation on the target area and the union range covered by the temporary data set to obtain the actual effective coverage area; Step 6: Determine whether the actual effective coverage area is greater than 0. If the area is not greater than 0, return that there is no suitable satellite image data in the target area; if the area is greater than 0, use the approximate algorithm to perform iterative analysis: first, perform an intersection calculation on an image vector range in the temporary data set and the actual effective coverage range to obtain the range of the overlapping area; then determine whether the overlapping area range is greater than 0. If the overlapping area range is not greater than 0, mark the satellite image data as invalid data; if the overlapping area range is greater than 0, calculate the remaining actual coverage area after erasing the overlapping area range from the current actual effective coverage range, mark the satellite image data as valid data, and use the remaining actual coverage range as the current actual effective coverage range in the next cycle; continue to traverse the next image in the temporary data set for the next round of calculation until the image in the temporary data set is marked as valid or invalid data, and finally return a valid data set.

2. The satellite image spatial coverage screening method based on an approximate algorithm and utilizing PostGIS functions according to claim 1, characterized in that: In the step 1, receiving the query range of the target area is to obtain the spatial vector surface data of the target area, which is the spatial vector data of the target area uploaded by the user in any format of Shapefile, GeoJSON, and KML.

3. The satellite image spatial coverage screening method based on an approximate algorithm and utilizing PostGIS functions according to claim 1, characterized in that: Get the spatial vector data in the PostgreSQL database, which is the image vector range of several satellite image data, and extract the relevant attribute information of the spatial vector data.

4. The satellite image spatial coverage screening method based on an approximate algorithm and utilizing PostGIS functions according to claim 1, characterized in that: In step 3, the ST_Intersects function in PostGIS is used to determine whether the image vector range in the PostgreSQL database intersects with the target area in space one by one, and a data set of several candidate satellite images that have an intersecting relationship in space is obtained, and the data set is stored in a temporary data set.

5. The satellite image spatial coverage screening method based on an approximate algorithm and utilizing PostGIS functions according to claim 1, characterized in that: In step 4, the vector union calculation is performed on the temporary data set using the ST_Union function in the PostGIS function to obtain the union range covered by the temporary data set.

6. The satellite image spatial coverage screening method based on an approximate algorithm and utilizing PostGIS functions according to claim 1, characterized in that: In step 5, the ST_Intersection function and the ST_Area function in the PostGIS function are used to perform intersection calculation on the target area and the union range covered by the temporary data set to obtain the actual effective coverage area.

7. The satellite image spatial coverage screening method based on an approximate algorithm and using PostGIS functions according to claim 1, characterized in that: If the actual effective coverage area is greater than 0, an approximate algorithm is used for iterative analysis: first, the ST_Intersection function in the PostGIS function is used to intersect an image vector range in the temporary data set with the actual effective coverage range to obtain the range of the overlapping area; then the ST_Area function of the PostGIS function is used to calculate the overlapping area range and determine whether the overlapping area range is greater than 0. If the overlapping area range is not greater than 0, the satellite image data is marked as invalid data. If the overlapping area range is greater than 0, the ST_Difference function in the PostGIS function is used to calculate the remaining actual coverage range after erasing the overlapping area range from the current actual effective coverage range, and then the ST_Area function in the PostGIS function is used to calculate the remaining actual coverage area, and the satellite image data is marked as valid data, and the remaining actual coverage range is used as the current actual effective coverage range in the next cycle.

Citation Information

Patent Citations

  • Real-time decryption method based on vector data front-end display

    CN115114356A

  • Space vector data rapid calculation method based on PostGIS

    CN118260372A

  • Satellite image optimal full coverage image determination method and device based on greedy algorithm, electronic equipment and storage medium

    CN118364038A

  • Communication and message-efficient protocol for computing the intersection between different sets of data

    US20150172425A1