Biodiversity¶
The /biodiversity API call implements a canopy height heterogeneity metric called the Rao's Q (Rocchini et al., 2021).
It is based on this Earth Engine implementation of Rao's Q.
Key Datasets¶
The change detection algorithms implemented and datasets are the following:
-
GEDI LiDAR L2A footprints: GEDI LiDAR L4A footprints are used a way to characterize canopy height and their spatial heterogeneity. They measure footprint-level (25m radius) canopy height across landscapes. These are used to train a model to upscale canopy height estimates across supply bases and landscapes. They are available between 2018 and 2023 for most regions of the world, and ensure that a broad variety of temporal conditions are captured, enabling more robust predictions across space and time. The canopy height estimates provided at the footprint level by the GEDI L2A product is based on the 98th percentile of the returned waveform, used to approximate canopy height. It assumes that the 99th and 100th percentile are noisy and likely to over-estimate actual canopy height.
-
Dynamic World Probabilities: Dynamic World's (Brown et al., 2022) Probability time series are used in combination with Sentinel-2 red, red-edge, near-infrared and short-wave infrared bands, as well as Sentinel-1 VV and VH polarization bands, as inputs to train an Above-Ground Biomass (AGB) model. The reference data used to train the model are the GEDI LiDAR L4A footprints, described above. The Dynamic World probabilities are particularly helpful in providing land use transition context for predicting above-ground biomass.
-
Other Datasets: As more datasets become available in the form of reference data or covariates (e.g. commercial imagery offering), either due to outstanding performance according to state-of-the-art, or because regulations and enforcing agencies require specific datasets or approaches, Epoch will implement these as per required.
Key Considerations¶
See below a list of key considerations to keep in mind when using the /biodiversity endpoint:
-
The area calculations are weighted, which means that the exact proportion of overlapping pixels are accounted for in the reported non-compliance areas. This avoids over- and under-accounting issues.
-
The results are as consistent as the plot boundaries (geometries) provided! If the input geometries are approximate, they WILL pick up changes surrounding the plot, which may not be managed by the supply chain actor. Therefore it is of utmost importance that the geo-referenced plots used as inputs to this API call are as accurate as possible.
-
The thumbnail shows changes in and around the plot, but the reported values in the response ONLY report changes WITHIN the plot. The change data surrounding the plot itself is shown in the thumbnail for reference, and to highlight potential risks around the plots themselves. For a more comprehensive statistical comparison to a reference area (supply shed, watershed, administrative unit), the Batch API should be used.
-
The predictions derived from GEDI L2A footprints are only as accurate as the footprints themselves. The footprints' sources of uncertainty come from inaccuracies in the digital elevation model used, positional inaccuracies of the footprints' georeferencing, steepness of slope, etc. While we attempt to filter out low accuracy footprints, the models may still be trained on data that over- or under-estimates canopy height, which is why an independent validation using field-collected data is necessary to provide canopy height and associated biodiversity proxy information with adequate levels of confidence.
Parameters and Headers¶
A request to /biodiversity/ uses standard query parameters. Parameters that are hidden from the public OpenAPI schema are intentionally omitted here.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
geometry |
string (WKT) | Yes | - | Input geometry (WKT). |
area |
float | No | 4 |
Area in hectares when geometry is a POINT. |
start_date |
string | No | 2017-01-01 |
Start date (YYYY-MM-DD). |
date |
string | No | today (UTC) | End date (YYYY-MM-DD). |
thumbnail |
bool | No | true |
Whether to return a thumbnail. |
map_tile |
bool | No | true |
Whether to return XYZ map tile URLs. |
A typical example of a payload for the /biodiversity endpoint is the following:
- Arbitrary default end date. If not specified, will take today's date
- Whether you want to return a thumbnail
- Whether you want dynamic XYZ map tiles to be returned
With the headers being:
The Authorization header must be replaced by your user token. Check this page for more information on how to authenticate.
Python¶
In python, you can submit a request in the following way:
| biodiversity.py | |
|---|---|
Javascript¶
| biodiversity.js | |
|---|---|
Curl¶
Response¶
The response looks like this:
- Mean Canopy height in meter for the provided geometry, for a given year.
- Mean canopy height potential in ton CO2-equivalent per hectare. This is a theoretical maximum which could be achieved at this location were it covered in mature, natural forest.
- Canopy height standard deviation in meter for the provided geometry, for a given year.
- Canopy height potential standard deviation in meter.
- The Rao's Q diversity score. A value 0.5 is considered of low diversity (typically monocultures and plantation), while a value above 0.5 to 1 is considerate characteristic of a fragmented, biodiverse landscape.
- Standard deviation for the biodiversity score at plot level
- Date and timestamp of API call generation
- End of monitoring period considered
- Start of monitoring period considered
- if thumbnail parameter is set to "true", the thumbnail URL generated, showing a before/after situation, alongside with the color-coded detections.
- a uuid is generated, to ensure unique identification of the plot
- The XYZ dynamic tile endpoint for an RGB satellite image corresponding to the monitoring_start timestamp
- The XYZ dynamic tile endpoint for an RGB satellite image corresponding to the monitoring_end timestamp
- The XYZ dynamic tile endpoint for the Rao's Q diversity score
- The input plot area size (in hectare)
- The original polygon geometry in WKT format
Thumbnail Interpretation¶
The above thumbnail is an example of what the /biodiversity endpoint returns if the thumbnail flag is set to true.
The top image is the situation at the start of the monitoring period, which defaults to 2016-01-01. The middle image is the situation at the end of the monitoring period, which defaults to the day the request is made. The image is always taken from the same time of the year in another year to the extent possible, as it ensures the season in which the images acquired are similar, making the vegetation conditions more comparable and the actual changes more visually appreciable.
The bottom image shows the Rao's Q diversity score generated by the API request. The color ramp stretches from blue to yellow, with the deeper blue being locations with lower canopy height heterogeneity, while the deeper yellow are locations that have gained the most above-ground biomass over the monitoring period. White pixels are intermediate values oscillating around 0.5, indicating medium diversity.
