# RSIMS: Large-Scale Heterogeneous Remote Sensing Images Management System
## 3 Results
### Experimental Environment Setup  
The experimental RSIMS consisted of eight virtual machines provided by a cloud platform. Servers behind the cloud platform are physical machines configured with 8 CPU cores (Intel Xeon E5), 320 GB RAM and 80 TB HDD. The deployment topology of the experimental RSIMS is shown as Figure 21. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Package** & **API** & **Description** \\ \hline \multirow{6}{*}{**product**} & Product(*args) & create a Product object from id, title or type \\ \cline{2-3}  & count(hasfile = None) & return the number of images in the product, and can filter based on \\  & & whether the image file exists \\ \cline{2-3}  & filter(expression) & apply the expression to filter the images in the product and return a new \\  & & Product object including the filtered images \\ \cline{2-3}  & filterBounds(geometry) & return a new Product object including the images whose spatial area \\  & & intersects with the geometry \\ \cline{2-3}  & filterDate(time, etime) & return a new Product object including the images whose acquisition time \\  & & between time and etime \\ \cline{2-3}  & sort(field, ascending) & sort all images in the product \\ \cline{2-3}  & first(num = 1) & return the top num Image objects in the images list of the product \\ \cline{2-3}  & description() & return the detailed description of the product in XML format \\ \hline \multirow{6}{*}{**image**} & Image(args) & create a Product object from id \\ \cline{2-3}  & bands() & return the number of bands in the image \\ \cline{2-3}  & read(band) & return data of corresponding band file in the type of NumPy Array \\ \cline{2-3}  & resolution(band) & return the resolution of the image in the unit of meter \\ \cline{2-3}  & size() & return width and length of the image, represented by the number of pixels \\ \cline{2-3}  & crs() & return the projected coordinate system in the form of PROJ.4 \\ \cline{2-3}  & geometry(fmt = “Geo)SON” & return the spatial area in the format of Geo)SON(default) or WKT \\ \cline{2-3}  & s3 path(band) & return the S3 path of image’s band file \\ \cline{2-3}  & radospath(band) & return the vsirados path of image’s band file \\ \cline{2-3}  & description() & return the detailed description of the image in XML format \\ \hline \multirow{6}{*}{**utils**} & createProduct(**params) & create a new product. Keys of params are the fields of Product table. \\ \cline{2-3}  & createImage(pid,**params) & create a new image. Keys of params are the fields of Image table. \\ \cline{2-3}  & search(**params) & retrieve images based on the params. Keys of params are the fields of \\ \cline{2-3}  & last(**params) & Image table. \\ \cline{2-3}  & listProducts() & list all the products in RSIMS \\ \hline \hline \end{tabular} Functions with “args” or “*”params” definitions allow users to pass a variable number of arguments. “**params” is used to pass keyword arguments, and “*args” is used to pass non-keyword arguments.  
\end{table} 
Table 2: Part of frequently-used APIs provided by RSIAPI. All the virtual machines use Centos 8 operating systems and have the same hardware configuration: 8 CPU cores, 16 GB RAM and 200 GB HDD. These eight machines are located in the same LAN and connected with a Gigabit network. PGA, PGB and PGC labeled in Figure 21 are used to deploy RSIMeta services. The database used by RSIMeta for metadata management is PostgreSQL V12.2, released on 13 February 2020. Other metadata management and access services are also deployed on these three servers. All the services on PGA, PGB, and PGC are peer to peer. Clients can connect to any one of them for metadata retrieval. As described in Section 2.2.1, 64 databases are distributed across servers based on the Hilbert grids. In this experimental environment, 22 databases with Hilbert codes from 000 to 111 locate in PGA; 21 databases with Hilbert codes from 112 to 222 locate in PGB; 21 databases with Hilbert codes from 223 to 333 locate in PGC.