Skip to main content

Ice Tracking

The ice tracking products monitor the motion ice floes in the Canadian Arctic


File Provider (EO Team)#

Product Description#

Service NameDescriptionData OwnersFile Type
Ice TrackingMonitor the motion ice floes in the Canadian ArcticJohn Bennett.geosjon

Ancilliary Information#

  • Product set-up prerequisites:
    • AOI
    • Time window
    • Scihub location
    • Sentinel-1 pair
    • Coresight AWS s3 location

Naming Convention#

The following naming convention applies to all Ice Tracking vector files sent to Coresight:

YYYYMMDDThhmmssDThhmm_ID_ft2_disp.geojsonYYYY - YearMM - MonthDD – Dayhh - Hoursss - SecondsDT - Delta Timehh - hoursmm - minutesID - unique ID

Example:

20211212T121743DT2353_066085_ft2_disp.geojson 

Symbology Map#

Ice Tracking product display ice motions with 5 classes of speed. Classes are defined as:

LabelColor
0 to 0.1 knots#8506d4
0.1 to 0.2 knots#073ead
0.2 to 0.3 knots#0acf45
0.3 to 0.4 knots#de821f
0.4 to 0.5 knots#de251f

File Uploading Instructions#


Coresight#

Developers#

  • Jeremy Hetzel

Processing#

Description#

Data processing takes place locally on C-CORE servers, the products of the processing are uploaded to the cloud. Once the products are on the cloud an ingester converts, creates, and stores files and metadata products to make the products accessible to the online web service.

Ingester Script#

The bulk of the ingestion work on each file is done in the cloud and the script can be found in the ice-drift-ingester repository.

Ingester Functions#

  • File receiving: The GRD data is acquired from Copernicus Open Access Hub (Scihub) which is queried daily for revisit pairs covering areas of interest.

  • Initial storage: The Ice Tracking vector products generated from the GRD data by C-CORE’s Ice Tracking algorithm are uploaded to the AWS GeoServer.

  • File conversion: Once the vector products make it to the GeoServer, the ice-drift-ingester generates MapBox Vector Tiles to be served to the Floe Edge Service.

  • STAC catalog: The ice-drift-ingester catalogs the vector tile metadata as a STAC item.

  • Final storage: The newly created STAC items are added to Firestore which makes the vector tiles available to the Floe Edge Service.

Service Interface#

  • Ice tracking on the Floe edge web interface (figure below):
    • The web interface displays the most recent ice tracking data.
    • The date fields can be used to select seasons, month, and day.
    • The upper right square button allows the user to switch between the different services offered.

Algorithm Development#

The ice tracking algorithm used to generate the Ice Tracking vector products calculates ice displacement products from spatially overlapping, time sequential satellite image pairs. The basic strategy is to calculate cornerity coefficients to map the crude ice motion first from highly averaged images, and to then improve these displacements with images at higher resolutions. The algorithm uses an image correlation point matching technique to find points on ice floes common in the two images, and then calculates the magnitude and direction of their movement. This algorithm is divided into 5 phases and each are described below.

Phase One#

Two satellite images are geocoded to a map projection. Using a low pass 3x3 mean filter and then sub-sampling every other pixel the images are re-sampled in order to reduce processing times.

Phase Two#

The objective of phase two is to identify pixels on the edges of floes that will be easily identified in other images. Each pixel is assigned a ‘cornerity’ value calculated using its immediate neighbour values in a 3x3 grid, in four different directions. Cornerity values that are high in multiple directions will account for changes in the viewing direction of the SAR and for the rotation of ice floes. The image is then divided into 30x30 pixel subsections. Then the highest cornerity value is selected from each sub-section, forcing an even distribution of initial matches over the entire scene. The cornerity values on the first image (the reference) are compared to those on the second image (the match image) within similar geographic areas to determine which pixels have the most similar cornerity. The geographic areas are based on a search radius from the location of the cornerity value on the reference image. Area correlations are used to verify these cornerity matches by comparing their respective image digital numbers through image correlation. Vectors are then drawn from the x, y location of the pixel on the reference image to the x, y location of the pixel on the match image.

Phase Three#

Vectors from phase two are used to help guide more matching at the pixel level. Cornerity values are calculated at the pixel level but are first compared to the direction and displacement of the vectors from Phase 2. This process uses guided area correlation. This phase finishes with an error correction procedure that ensures that the matches are consistent with the vectors in their neighborhood. If a vector does not move roughly parallel to the surrounding vectors, it is removed.

Phase Four#

This phase simply repeats the phase three processing but with relaxed correlation coefficients to allow a greater number of matches to be identified.

Phase Five#

The vectors are scaled back to the original resolution of the satellite images and converted into a geojson which is passed onto the final post-processing steps.

Results#

The output of the C-CORE algorithm following is a vector field that is typically much denser than the Nansat output. This is because the C-CORE ice tracking algorithm can track much smaller features in the ice. Since the output can be quite dense, a vector thinning routine was added to the process. The output scene is gridded into bins of latitude and longitude, and the vector with the highest correlation in each bin is maintained while all other vectors in the bin are removed. This process helps to make the product easier to interpret visually, with a minimal impact on processing time. Following the vector thinning process, the C-CORE algorithm vector output is uploaded to the coresight’s database and then tiled for front end display.