Commit 27f173a2 authored by Alison Beamish's avatar Alison Beamish
Browse files

Ali is incorporating Marie's comments

parent e810f8c8
Pipeline #22023 failed with stage
in 16 seconds
......@@ -17,17 +17,17 @@ knitr::opts_chunk$set(tidy.opts = list(width.cutoff = 75), tidy = TRUE)
```
# 1 Introduction
This manual introduces the Habitat Sampler (HaSa), an innovative tool that autonomously generates representative reference samples for predictive modelling of surface class probabilities. The tool can be applied to any image data that displays surface structures and dynamics of any kind at multiple spatial and temporal scales. HaSa was initially developed to classify habitat dynamics in semi-natural ecosystems but the procedure can theoretically be applied to any surface. The main innovation the tool is that it reduces reliance on comprehensive in situ ground truth data or comprehensive training datasets which constrain accurate image classification particularly in complex scenes.
This manual introduces the Habitat Sampler (HaSa), an innovative tool that autonomously generates representative reference samples for predictive modelling of surface class probabilities. The tool can be applied to any image data that displays surface structures and dynamics of any kind at multiple spatial and temporal scales. HaSa was initially developed to classify habitat dynamics in semi-natural ecosystems but the procedure can theoretically be applied to any surface. The main innovation of the tool is that it reduces reliance on comprehensive in situ ground truth data or comprehensive training datasets which constrain accurate image classification particularly in complex scenes.
Though development of HaSa has prioritized ease of use, this documentation assume a familiarity with the R software. The document is built successively and is intended to lead you step-by-step through the HaSa procedure of generating probability and classification maps. HaSa is still in development and any suggestions or improvements are welcomed and encouraged in our [GitHub Community Version](https://git.gfz-potsdam.de/habitat-sampler/HabitatSampler.git). If questions remain please don't hesitate to contact the authors of the package. For a detailed description of the Habitat Sampler and its applications, see [Neumann et al., (2020)](https://doi.org/10.1111/ddi.13165).
## 1.1 Usage
The tool is implemented in R and uses Leaflet [Cheng et al., 2019](https://rdrr.io/cran/leaflet/) to generate interactive maps in a web browser. There are no assumptions about the input image data and there are no constraints for the spectral-temporal-spatial domain in which the image is sampled. The tool requires the input of a priori expert user knowledge to generate reference data about expected surface classes which are delineated in the imagery or extracted from an external spectral library. Image classifiers [random forest](https://doi.org/10.1023/A:1010933404324) (RF) and [support vector](https://doi.org/10.1145/130385.130401) (SV) are trained by providing many labelled points.
The tool is implemented in R and uses Leaflet [Cheng et al., 2019](https://rdrr.io/cran/leaflet/) to generate interactive maps in a web browser. There are no assumptions about the input image data and there are no constraints for the spectral-temporal-spatial domain in which the image is sampled. The tool requires the input of a priori expert user knowledge to generate reference data about expected surface classes which are delineated in the imagery or extracted from an external spectral library. The user has the choice between image classifiers [random forest](https://doi.org/10.1023/A:1010933404324) (RF) and [support vector](https://doi.org/10.1145/130385.130401) (SV).
## 1.2 Sample datasets
The examples in this documentation use a L2A Sentinel-2 stack and reference points that are included in the HaSa package. This Sentinel-2 data are from the Kyritz-Ruppiner Heide a former military training area north east of Berlin, Germany. The open heath-lands within the former military training area are designated protected areas under the European Natura 2000 network and are subject to management activities including tree removal, controlled burning and machine mowing. The reference data include 7 habitat classes identified by with a priori knowledge.
The examples in this documentation use an L2A Sentinel-2 timeseries stack from 2018 (6 days, 9 bands each) and reference points that are included in the HaSa package. This Sentinel-2 data are from the Kyritz-Ruppiner Heide a former military training area north east of Berlin, Germany. The open heath-lands within the former military training area are designated protected areas under the European Natura 2000 network and are subject to management activities including tree removal, controlled burning and machine mowing. The reference data include 7 habitat classes identified by with a priori expert knowledge.
The Sentinel-2 data are downloaded and processed using the German Centre for Geosciences (GFZ) Time Series System for Sentinel-2 (GTS2). Data are made a available and atmospherically corrected via a simple web application programming interface (API). Detailed information on the GTS2 system can be found [here](https://www.gfz-potsdam.de/gts2/).
The Sentinel-2 data are downloaded and processed using the German Centre for Geosciences (GFZ) Time Series System for Sentinel-2 (GTS2). Data are made available and atmospherically corrected via a simple web application programming interface (API). Detailed information on the GTS2 system can be found [here](https://www.gfz-potsdam.de/gts2/).
Sample reference data are provided in two formats, as a data table and a point shapefile. The table includes spectral information from each class type desired for the classification and can be used directly to train the models (rows = class, columns = spectral wavebands). The first row must contain the spectral wavebands names and this must match the wavebands of the input satellite data.
......@@ -97,7 +97,7 @@ raster::rasterOptions(tmpdir = "./RasterTmp/")
The Satellite time series is either passed as a **3.2.1** stack of images already clipped or **3.2.2** a stack of image to be clipped. In both cases, the input Satellite images needs to either have a valid projection or the projection be passed as parameter, i.e., `sat_crs_str = '+proj=utm +zone=32 +datum=WGS84 +units=m +no_defs'`, otherwise, the function will report error. Satellite time series data are available in `dataPath`.
### 3.2.1 - Clipped
The following example loads a Sentinel-2 timeseries stack (6 day stack with 9 bands) clipped to the study area.
The following example loads a Sentinel-2 timeseries stack clipped to the study area.
```{r handling image data clipped, eval = TRUE, results= "hide", message = FALSE}
satellite_series_path <- paste(dataPath,"SentinelStack_2018.tif",sep = "")
timeseries_stack <- HaSa::load_timeseries_stack(satellite_series_path)
......@@ -110,7 +110,7 @@ raster::plotRGB(timeseries_stack,r = r,g = g,b = b,stretch = "lin", axes = T)
### 3.2.2 - Not-clipped
The following example loads a Sentinel-2 timeseries stack (6 day stack with 9 bands) and then clips it to the study area. `TODO`
The following example loads a Sentinel-2 timeseries stack without clipping it to the study area. `TODO`
```{r handling image data, eval = TRUE, results= "hide", message = FALSE}
satellite_series_path <- paste(dataPath,"SentinelStack_2018.tif", sep = "")
timeseries_stack <- HaSa::load_timeseries_stack(satellite_series_path)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment