This python tool can be used to run a streamlit web app that displays time series plots of Radar backscatter and NDVI values from a database. It was developed to work with a specific database containing data from the Radar Crop Monitor project.
If you are using Anaconda you can use the provided environment.yml file to set up a virtual environment in which the main script can be run. By default, the created environment will be named "RCM_Plot". You can change the name in the environment.yml file before setting up the environment.
Open the Anaconda prompt, make sure the environment.yml is in the specified directory, and enter the following:
conda env create -f environment.yml
Activate the created environment by entering:
conda activate <name_of_environment>
Then run the main.py script by entering:
streamlit run <path_to_main.py>
The web app should now open automatically in your default browser.
If you are not using Anaconda, you have to manually install the packages that are imported in main.py (except sqlite3) and then run the script as described above.
By default, the app starts with an interface in which the path to the database has to be entered. You can bypass this interface by setting a permanent path in main.py. The app will then start directly with the main page.
On the main app page, you can use the filters on the left-hand side to select the data that you want to display. Graphs will appear after a full selection has been made (if data is available for this filter combination).
The filter combination chosen here as an example, which certainly contains data and thus generates graphs, is as follows:
AOI (FRIEN), Year (2017), Crop Type (Winter Wheat), Statistic (Median), Acquisition Mode (A, D), Product (GRD, S2MSI2A), Parameter (VH, VV, NDVI), FID (4).
Resulting Web-App after filter selection
It is also possible to filter the data set by date using the time slider and to insert statistical trendlines in the graphs.
The data points can also be coloured according to their FID or acquisition mode, as desired.
The documentation of the functions can be found here