User Manual
In this manual the general functionality of EODIE is described. In the end you can also find a usage example Examples (no external data needed). For more examples with explanations, please check out Tutorial.
Inputs
The following sections describe EODIEs command line arguments and the configuration files. All of the following only matters when using EODIE as command line tool.
Command line arguments
The following parameters and flags can be used in the commandline (more information on each parameter and flag below):
python eodie_process.py --rasterdir/--rasterfile <> --vector <> --out <> --id <> --gpkg_layer <> --epsg_for_csv <> --platform <> --statistics_out --geotiff_out --array_out --database_out --statistics <> --index <> --start <> --end <> --exclude_border --external_cloudmask <> --no_cloudmask --maxcloudcover <> --resampling_method <> --verbose --test
Note that some parameters have options, some have defaults and some are optional, all flags are optional. See Necessary inputs for inputs that need to be given.
--platform
--rasterdir
--rasterfile
--rasterfile
instead of --rasterdir
. Cannot be used together with --rasterdir
.--vector
--out
./results
--id
--vector
.--id id
--gpkg_layer
--epsg_for_csv
--statistics_out
--geotiff_out
--array_out
--database_out
--statistics
count
(always included)--statistics sum median percentile_10 percentile_90
--index
--index ndvi evi2 B04 B8A
--start
20160101
--end
--delete_invalid_geometries
--exclude_border
--external_cloudmask
--verbose
--test
--maxcloudcover
--resampling_method
resampling_method: 'bilinear'
will use bilinear resampling for all necessary resampling of the rasterdataConfiguration files
[TODO: image of Sentinel-2 tiles over Finland]
EODIE includes platform-specific configuration files called config_x.yml with x being some platform name or tif. Generally, these configuration files do not need to be touched or changed. One exception to this is for example a ‘red edge’ band should be used in indices instead of the nir band, that could be changed in the platform specific configuration files. See more about this and about the possibility of extending EODIE to work with other platforms in ref:platform_spec. However, if you wish to change the pixelsize for the outputs (for geotiffs and arrays), the value can be changed in these configuration files.
pixelsize
pixelsize : 10
will use bands that are available in 10 m as is and resample bands that are only available in larger pixelsizes to 10m before extracting statistics/array/geotiffNecessary inputs
--platform --rasterdir/--rasterfile --vector --out --id
and at least one of --statistics_out/--geotiff_out/--array_out/--database_out
--index
also needs to be given, unless --platform tif
Outputs
A logfile: rasterdir_YYYY-MM-DD.log if –rasterdir was given; rasterfile_YYYY-MM-DD_HH-mm-ss if –rasterfile was given.
--statistics_out
One csv per tile, band/vegetation index and date with polygon identifiers in the first column and statistics is the following columns.
--array_out
One pickeled numpy array per tile, band/vegetation and date with all polygons
--geotiff_out
One geotiff with georeferenced raster per tile, band/vegetation index and polygon
--database_out
One SQLite3 database file (.db) that contains results for given indices or bands in tables. Structurally content is similar to statistics.
Usage of external cloudmask
If a cloudmask for each file to be processed is available from an external source, make sure the cloudmask fulfills the following requirements:
date (YYYYMMDD, eg 20210603) and tilename (NNCCC , eg 34VFN) in end of filenames: xxx_date_tile.xx
supported raster file format (.tif, .jp2, and other formats supported by rasterio)
binary rastervalues (1,0; with 1 representing clouds/invalid pixels)
pixelsize == output pixelsize (given in config_x.yml)
The latter two criteria can be achieved by using the auxiliary script create_binary_cloudmask.py (but be aware of issue https://gitlab.com/eetun-tiimi/EODIE/-/issues/62)