Change Detection API
The API calculates difference between two scenes.
Sentinel-2 co-registration of multi temporal scenes​
The information gathered by Sentinel-2 system on Sentinel-2 orbit, attitude, date accuracy, and viewing directions of all detectors allows an excellent accuracy for the geolocation of all Sentinel-2 pixels. The overall geo-location accuracy is better than 11 or 12 meter, for about 97 % of the cases, which is about the size of one Sentinel-2 pixel.
But even if it is excellent, it is not enough. The standard need for multi-temporal registration errors is 0.3 pixels, and the current performances show that for more than 50% of the cases, the performance does not meet that requirement.
Over the years, a broad range of techniques has been developed aimed to improve coregistration between multi temporal images.
HTTP Request​
GET https://api-connect.eos.com/api/render/<sensor>/diff/<band>/<z>/<x>/<y>?scene1=scene1_name&scene2=scene2_name&api_key=<your_api_key>
Request Parameters​
Request Path Parameter | Description | |
---|---|---|
api_key | (Required) Apikey retrieved from developer portal |
Request Body Parameter | Description |
---|---|
sensor | The alias of the sensor Valid sensors aliases: “L4TM”, “L4MSS”, “L5TM”, “L5MSS”, “L7”, “L8”, “S2”, “S2L2A”, “NAIP”, “MODIS”, “CBERS4MUX”, “CBERS4AWFI”, “CBERS4PAN5M”, “CBERS4PAN10M”. |
band | band combination expression. Some band combinations are defined in the service using aliases (see Name Aliases). For available bands please refer to Supported Datasets |
z | Zoom level according to slippy map tilenames |
x | X coordinate according to slippy map tilenames |
y | Y coordinate according to slippy map tilenames |
scene1 | (required) the first scene; for Sentinel2 need to take "view_id" without sensor name and change separator on “-“ |
scene2 | (required) the second scene; for Sentinel2 need to take "view_id" without sensor name and change separator on “-“ |
MIN_MAX | (optional) list of comma separated min,max values for contrast stretching. Default: calculated by cumulative count cut algorithm with 2%-98% range and cloud correction. |
COLORS | (optional, only used in pair with THRESHOLDS) (for bandmath and grayscale only) list of comma separated color-hexes, which are used for colorization in pair with THRESHOLDS. Note: has to contain 1 more value than THRESHOLDS. (See Range colorization) |
THRESHOLDS | (optional, only used in pair with COLORS) (for bandmath and grayscale only) list of comma separated values of color thresholds, which are used for colorization in pair with COLORS. Note: has to contain 1 less value than COLORS. (See Range colorization) |
COLORMAP | (optional) (for bandmath and grayscale only) bandmath colorization with the specified colormap. MIN_MAX can be applied with this query param. |
COLORS_LIMIT | (optional) count of colors for continuous colormaps |
PALETTE | (optional) dictionary with bit numbers (1 bit number or 2 as a tuple) as keys and colors (in form of RGB or hex) as values. If in any given pixel some bits have value 1, it’s set to corresponding color from the palette. If bits don’t have a color tied to them in the palette, pixels are made transparent. Without this parameter BQA is colorized with default palette |
MASKING | (optional) mask type for masking tile, available type: “FOREST” - masking by forest cover |
Example​
Calculate the difference between two Sentinel-2 scenes for NDVI
curl --location --request GET 'https://api-connect.eos.com/api/render/S2/diff/NDVI/11/343/729?scene1=10-T-GR-2018-6-24-0&scene2=10-T-GR-2018-8-28-0&api_key=your_api_key'