DATA-DRIVEN REAL-TIME ANALYSIS SERVICE FOR SATELLITE AREA COVERAGE

Abstract. Satellite area coverage analysis is complex, especially when the satellite operating state changes. Traditional algorithms cannot quickly and efficiently obtain the satellite area coverage analysis results, and are incapable of providing efficient online services. To overcome these shortcomings and meet the needs of 21st century geospatial science and applications for real-time response and online services for handling high concurrent requests, a data-driven real-time analysis service for satellite area coverage is proposed. Firstly, to optimize traditional algorithms, an extended bounding rectangle of the ground area is constructed, and the spatial relationship with the central point of satellite ground coverage area is determined to avoid large number of calculations of satellite ground coverage areas, thus, improving efficiency. Secondly, the data-driven real-time analysis model is constructed, and is used to further improve the efficiency of satellite area coverage analysis. Finally, a simulation analysis scenario is developed, the service proposed in this study is verified, and the results are visualized. The experimental results show that the proposed data-driven real-time analysis service can cope well with the requests from users for online service of satellite area coverage, improve the cognitive capability of users and operators, and help in completely utilizing the application performance of observation satellites.



INTRODUCTION
The technology of earth observation is important to obtain ground information for decision-making. The area coverage capability of earth observation satellites is an important indicator to measure its application efficiency, which is important for mission planning, constellation design, and observation data acquisition (Lyu et al., 2018;Wang et al., 2011;Xu et al., 2013). The main task of satellite area coverage analysis is calculating the coverage parameters such as coverage ratio, coverage times, total coverage time, average coverage time, maximum coverage interval, and average coverage interval within a given time range. By acquiring and analyzing the coverage parameters, it is possible to evaluate the current satellite coverage performance and improve the management and application efficiency of satellite data information resources.
Common techniques for satellite area coverage analysis primarily include analytical methods (Zhang, 2012), grid point methods (Liu et al., 2017;Ma, 2008) and geometric algorithms (Shen et al., 2012;Wang, 2017;Wu, 2016). Systems Tool Kit (STK), a well-known simulation software, uses the grid point method to calculate satellite area coverage parameters (Liu et al., 2017). These algorithms have been widely used in different fields and have achieved good application results. However, with the rapid development of cloud computing and big data, geospatial science and application need to provide online services that can respond to high concurrent requests in real time (Fan, 2013). This attribute is not found in existing algorithms or tools. Simultaneously, earth observation satellites usually need to adjust their own orbits and attitudes according to mission requirements, followed by obtaining the parameters of area coverage capability to determine the need for any further adjustments. These requirements need on-board computers or ground command centers to provide realtime calculations, especially where multiple satellites require orbit and attitude adjustments.

* Corresponding author
In view of the above problems and needs, our study proposes a data-driven real-time analysis service for satellite area coverage. Firstly, the traditional algorithm for satellite area coverage analysis is optimized. The extended bounding rectangle (EBR) is constructed based on the minimum bounding rectangle (MBR) of the irregular ground area, and the spatial relation between the satellite ground coverage and ground area is replaced by the relation of the center point of the satellite ground coverage and EBR of the ground area, to reduce the amount of calculation in the satellite area coverage analysis algorithm. Secondly, the realtime analysis and calculation method of the satellite area coverage is constructed based on the streaming model. Thirdly, the external data of the satellite's ephemeris and sensor are received through a message queue to realize the real-time data driven for satellite area coverage analysis. Finally, real-time visualization of the results through a virtual 3D earth in the form of a data stream is realized. By constructing data-driven real-time analysis services for satellite area coverage, efficient calculation and visualization methods for earth observation tasks under dynamic conditions can be obtained.

OPTIMIZATION OF THE AREA COVERAGE ALGORITHM
To obtain the results of satellite area coverage analysis, it is necessary to calculate the spatial relation between the satellite coverage area and ground area. As the position of a satellite changes with time, the satellite coverage area needs to be calculated over time, and each time the spatial relationship between the satellite coverage area and ground area needs to be determined, as well as the time window and other parameters. In the orbital period of a satellite, the satellite coverage area has limited time to intersect/contain with the ground area. Most of the time they are disjoint, however, it is still necessary to calculate the satellite coverage area as it is the key factor for reducing the computational efficiency. Therefore, in this study, the traditional algorithm in this paper is optimized to reduce the calculation times of satellite coverage area. Optimization of the algorithm is shown in Figure 1. Point S indicates the satellite, area A is the satellite coverage area, point P is the center point of area A , the dotted lines are the trajectory of point P and point S separately, area B is the ground area, and area C is the MBR of area B . Area D is the EBR formed by extending the MBR of area B to a certain angle in four directions.
In this study, the determination of the spatial relation between the satellite coverage area and ground area, as shown in Figure 1 (a), during area coverage analysis is divided into three parts , as shown in Figure 1 (b-1), (b-2), and (b-3). When judging the spatial relation between the satellite coverage area and ground area, the traditional algorithm needs to first calculate area A first, and then, determine the spatial relation between area A and B .
In the proposed algorithm, the position of point P is calculated first, and the spatial relation between point P and the fixed area D (as shown in Figure 1 (b-1)) is judged. If area D does not include point P , then area A and B are disjoint, and the position of point P at the next moment is calculated, avoiding the calculation of area A . When area D includes point P , then area A needs to be calculated, and the spatial relation of area A and B are determined, as shown in Figure 1 (b-2). By judging the spatial relation of area A and B , the exact time and other parameters of the coverage analysis can be obtained. When area D does not include point P , as shown in Figure 1 calculating area A is no longer needed, but the position of point P needs to be calculated, and the spatial relation between point P and area D needs to be judged continuously. Through the proposed optimized algorithm, it is possible to avoid the large amount of time required to calculate area A , thus improving efficiency.

Figure 1. Optimization of the area coverage algorithm
To ensure the execution of the optimized algorithm, it is necessary to construct area D . During the operational period of the earth observation satellite, there must be an angle max  greater than any corresponding central angle of the satellite coverage area on the earth ellipsoid at any given time. The area D can be obtained by expanding the MBR of the ground area using max  in four directions.
As shown in Figure 2 can be obtained by using equation (1).
In equation (4) By using max  to expand the four directions of the MBR of the ground area, the EBR of the ground area can be obtained, as shown in Figure 3. Figure 3. Schematic for the construction of the EBR

DATA-DRIVEN REAL-TIME ANALYSIS OF SATELLITE AREA COVERAGE
The operational status of earth observation satellites is not static. The attitude of the satellite needs to adjust based on actual needs, and the current orbit needs to change to observe the ground targets. After changes in the running state of the earth observation satellite, it is necessary to evaluate the coverage capability for executing subsequent tasks. To satisfy this requirement, a datadriven model is constructed.

Data-driven Model
The data-driven process is shown in Figure 4 along with external data, data transmission, data analysis and data storage.  The external data sources mainly consist of three parts, the database, user input data and real-time data. Different data sources need to be configured with different data transmission methods, and the methods are as follows: (1) The database contains the existing data, mainly referring to various parameters of the earth observation satellites, including ephemeris data, sensor parameters, and attitude data. These data are stored persistently in the database, allowing for an initial data input when the satellites are adjusted. The data in the database is mainly obtained through HTTP request in RESTful (Representational State Transfer, REST) style.
(2) The user input data is used to adjust the orbit, posture and sensor state of the satellite. The main existence forms of these data include the original data file stored in the local file system and the parameters input by the user through an interactive interface. The original data file mainly uses the program to directly read and parse from the file storage system, and the parameters input by the users are be passed by HTTP request.
(3) When the state of the earth observation satellite changes, the observation equipment acquires the new status. These new status data need to be calculated immediately to assess the effect of the adjustment. This real-time data is transmitted by a message queue, which ensures message delivery in real-time.
The data analysis module is described in Section 3.2. The result of the data analysis module varies. Different structured data need to be stored in different ways. Structured data is stored by using RDBMS storage system, while unstructured data is stored using a NoSQL (not only SQL) database or directly in the file system.

Real-time Analysis Model
There are many excellent big data processing technologies and frameworks (Dai and Gao, 2018), such as Apache Hadoop, Apache Spark, Apache Flink, and Apache Storm. Among these, Apache Hadoop cannot meet the real-time computing task requirements (Gu and Li, 2013;Verma et al., 2016), Apache Storm supports only stream processing (Marcu et al., 2016), and Apache Spark is a batch process-based simulator to achieve stream processing (Lopez et al., 2017). However, Apache Flink is completely based on stream processing, and using stream processing to simulate batch processing. Therefore, Apache Flink can achieve both stream and batch data processing through a set of solutions, which can better meet the needs of researchers (Carbone et al., 2015;Ni and Xia, 2018).
The necessary parameters of satellite area coverage for calculation include the time range and satellite collection. To improve the calculation efficiency when using the real-time computing model, the objects and time range involved in the calculation need to be divided. The calculation process of satellite area coverage based on Apache Flink is shown in Figure 5 (2) The data from (1) is input into the map that divides the satellite collection S . In this map, the data obtained from (1) is segmented, and each set of generated data includes the time range (3) The data obtained from (2) is input into maps including various analysis algorithms. After processing by different algorithms, the final calculation result goes into the next step of processing.
(4) As all the data processed by each algorithm includes the time range

Experimental Data and Hardware Environment
The operating system of the experimental platform is Ubuntu 16.04 LTS, CPU is Intel Core i7-6700HQ 2.60GHz with 8 cores, and memory is 16GB. The version of Apache Flink is 1.7.0, and STK is 11.2.0. The experimental data is shown in Table 1, where the ground area data is the longitude and latitude coordinates of the corresponding points, and the calculation step of satellite position is 1 s. The satellites selected are ZiYuan 3-2 (ZY3-2) satellite and GaoFen 5 (GF5) satellite, the orbit ephemeris data is the two-line elements (TLE), and the satellite ground coverage area is constructed using 8 points.

Comparison and Analysis of Calculation Results
Based on the experimental data, the proposed optimized algorithm and commercial STK software are used to obtain the time range of satellite coverage area, as shown in Table 2. By comparison, it can be seen that the start and stop time difference between the optimized algorithm and STK is less than 1 s. The comparison indicates that the results of the optimized algorithm are close to that of STK and have a high precision, which can meet the demands of satellite area coverage analysis.

Satellite
Area Number To compare coverage ratio, the divided unit of ground area grid in STK is set to 0.1°. The comparison of coverage ratio between the coverage analysis in STK and the optimized algorithm is shown in Figure 6. It can be noted that the difference of coverage ratio between the optimized algorithm and STK is quite small, which can easily meet the actual needs.

Comparison and Analysis of Computational Efficiency
To verify the rationality of the acceleration strategy of the optimized algorithm based on the real-time computing model, the computational efficiency of the unoptimized algorithm, optimized algorithm and optimized algorithm based on the realtime computing model are compared, and the results are shown in Figure 7. It can be seen that the optimized algorithm based on real-time computing model has a higher computational efficiency, which is more than 6 times higher than the unoptimized algorithm, and more than 4 times higher than the optimized algorithm.

Display of Analysis Results
The visualization of the analysis results can effectively improve the understanding and cognition of data. Our Study uses Cesium (Zhu et al., 2018a;Zhu et al., 2018b), an open source 3D virtual earth platform, for the real-time visualization of the calculated results. Figure 8 shows the visualization of the coverage area of GF5 and Ground Area 2. Figure 8 (a) shows the scenario of satellite area coverage, including satellite position, sensor, ground area, coverage area and coverage time list. Figure 8 (b) shows the chart results of satellite area coverage, including coverage times, total coverage time, total coverage time interval, coverage rate, and coverage time window.
(a) Scenario of satellite area coverage (b) Chart result of satellite area coverage Figure 8. Visualization of scenarios and results

CONCLUSION
The satellite area coverage analysis measures the application performance of earth observation satellites. Efficient and accurate analysis can help users and operators make better use of satellites to obtain the required data. The proposed data-driven real-time analysis service of satellite area coverage can effectively analyze satellite area coverage in different situations and improve the cognitive ability of users and operators through visualization scenario and charts. A comparative analysis of the actual data and demonstration proves the effectiveness of this service. The proposed service provides a high-performance realtime processing and visualization solution for subsequent data analysis requirements.
in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 36(4), 28-38.