System for monitoring chaning on the Earth surface based on satellite data (currently supporting Copernicus Sentinel program only).
- Define are on Earth surface
- Let the
python manage.py download
command download satellite images of the area for you, and let it calculate various indexes - Resulting images are stored in Django database in models for later evaluation
Basic unit for observed area is 1 week because there are two satellites on the orbit and orbit cycle takes 10 days for each satellite. Every place on Earth should be covered within 5 days periods.
The area of interest is usually covered by several images during this one week
period. For every area of interest, the python3 manage.py download
command
will do following:
- Collect satellite images for given week covering at least part of required area
- Download the data
- Unzip, join area's cutline with mask representing cloud coverage, as result we shold have vector cutline representing area of intereset without potencial cloud coverage
- Apply cutline on each band of input raster data
- Join resulting data together into single seamless raster map
- Calculate required analysis (ndvi, ndwi, ...)
- Create and store
varanus.models.Week
object with everything stored in it. - Clean temporary files
In current version the system uses:
- Sentinel-2 satellite images (wikipedia)
- Processed on level-2A (bottom of atmosphere)
- Downloaded directly from Scihub platform
At the moment, no additional atmospheric correction is performed
This is Python-Django application.
-
Download the
varanus
package from GITHub -
Add
varanus
toINSTALLED_APPS
-
Install dependencies (those are usually standard geospatial packages) using
pip install -r requirements.txt
(or using other alternative more advanced methods) -
Make sure, you are using spatially-enabled database backend, that means, either Spatialite or PostgreSQL with PostGIS
-
python3 manage.py migrate
-
You have to get username and password for Copernicus SciHub
This was tested on Linux. May all your gods be with you, if you are trying to use this on other platforms.
BSD