Skip to content

Daily Vegetation Indices

Introduction

When using optimal imagery for analysing vegetation indices, cloudy and other adverse weather conditions can make large time gaps between usable images, as analysis can not be done on the cloudy days. On top of that, with the satellite revisit rates, we already have time gaps of several days. At Vultus, this limitation was something we wanted to solve, and so we did!

Using advanced machine learning algorithms, we attempt to gap-fill the time gaps between usable vegetation index images. And with this provide daily vegetation index images. The advanced algorithms attempt to capture the behaviour of the field, the vegetation and the seasonality, such that the estimates provide a good prediction of the vegetation index values for the given days.

In simpler words, when there are clouds obstructing the view, or even when the satellite is not flying over the field, on a given day. Our advanced machine learning algorithms predict the vegetation index values on that given day.

This advanced capabilities are available to all the vegetation indices supported in the Vultus platform. For more information on the Vultus supported vegetation indices, please refer to our indices documentation.

image

Processing Daily Estimation Images

You can use the processVegetationIndices() mutation to process the daily estimation images, by simply setting the dailyEstimates boolean parameter to true. By enabling this parameter, this will instead of just processing the usual vegetation indices images based on the satellite data, first process the normal vegetation indices images if they have not been requested already, and then process the estimations and generate daily images. The dailyEstimates is also available on the processPlantHealth() and processWaterStress() mutations for NDVI and NDWI respectively.

Usage

The processVegetationIndices() mutation is used to both process vegetation indices images based on the satellite data, and estimates based on these images. The endpoint requires five arguments:

  • polygonId*: The polygonId is the unique ID generated when you register/create a polygon in the API. You use this unique identifier to specify the plot you want to analyse.
  • startDate*: This date specifies the start of the date range that you want to process. When the dailyEstimatesparameter is set, it will automatically set the starting data for data used in the algorithm 3 months earlier, to make sure to capture sufficient surrounding information. It will therefore also process daily estimation images for the 3 months before that.
  • endDate*: This date specifies the end of the date range that you want to process.
  • indexType*: This indexType is the vegetation index of the enumeration of indices to be processed. The PlantHealth and WaterStress endpoints do not have this parameter, as these process NDVI and NDWI respectively.
  • dailyEstimates: This parameter specificies if the daily estimates should be processed, or if the regular images based on the satellite imagery should be processed. For daily estimation images, it should be set to true.

The endpoint only returns the status of the request itself, with the requestId. The request can be tracked using the requestId using the retrieveRequestDetails() endpoint. For more information on monitoring requests, please refer to our monitoring documentation.

Example

mutation {
  processVegetationIndices(
    polygonId:         "PolygonId"
    startDate:         "2024-01-01"
    endDate:           "2024-05-01"
    indexType:         "EVI2",
    dailyEstimates:    true
  )
  {
    IsSuccess
    Message
    Status
    Result {
      requestId
    }
  }
}

Retrieving Daily Estimation Images

You can use the retrieveVegetationIndices() query to retrieve the daily estimation images, by simply setting the dailyEstimates boolean parameter to true. By enabling this parameter, this will instead of just retrieving the usual vegetation indices images based on the satellite data, retrieve all the daily estimation images between the given time range. The dailyEstimates is also available on the retrievePlantHealth() and retrieveWaterStress() queries for NDVI and NDWI respectively.

Usage

The retrieveVegetationIndices() query is used to both retrieve vegetation indices images based on the satellite data, and estimates based on these images. The endpoint requires five arguments:

  • polygonId*: The polygonId is the unique ID generated when you register/create a polygon in the API. You use this unique identifier to specify the plot you want to analyse.
  • startDate*: This date specifies the start of the date range that you want to retrieve.
  • endDate*: This date specifies the end of the date range that you want to retrieve.
  • indexType*: This indexType is the vegetation index of the enumeration of indices to be retrieve. The PlantHealth and WaterStress endpoints do not have this parameter, as these retrieve NDVI and NDWI respectively.
  • dailyEstimates: This parameter specificies if the daily estimates should be retrieved, or if the regular images based on the satellite imagery should be retrieved. So for daily estimation images, it should be set to true.

Example

mutation {
  retrieveVegetationIndices(
    polygonId:         "PolygonId"
    startDate:         "2024-01-01"
    endDate:           "2024-05-01"
    indexType:         "EVI2",
    dailyEstimates:    true
  )
  {
    IsSuccess
    Message
    Status
    Result {
      colorlegend
      tif
      png
      json
    }
  }
}

Limitations

There are a few limitations to be considered with daily estimation images, as described below:

  • We do not gap fill time gaps larger than 128 days. We have put this restriction ourselves, as temporal gaps larger than 4 months are very difficult to estimate, and the accuracy therefore becomes too affected on too large time gaps. For this reason, if there are vegetation indices images available, but there time distance is over 128 days, we can not provide daily estimations.
  • We do not gap fill time periods under 28 days. This is another restriction we have put ourselves, as time periods of under 28 days surrounded by massive time gaps over 128 days, becomes very difficult to estimate accurately as well, as there is not sufficient history to work with.
  • We do not process daily estimates on polygons over 50 hectares currently, to avoid requests processing too long. If needed, polygons need to be split up and separate requests can be made.
  • Daily estimations are only possible to be predicted between 2 vegetation index images, within the range of 128 days.
  • At the end of the day, the values provided are estimated based on the known images, and therefore the estimates will not always exactly reflect reality, as they are predictions based on the index itself and many unknown local factors can make the results slightly differ.

Cost of processing units

The processing of daily images is expensive in terms of computation, therefore this is one of our advanced services. Advanced services cost extra processing units on top of the subscription. For more information on processing units, please refer to our processing units documentation.

image