Oleksandr Matsibora. Web GIS application for monitoring Kakhovka reservoir changes based on Copernicus data
Object of investigation and context. The Kakhovka dam in Ukraine (lat: 46.77517, lng: 33.37254) was destroyed* in June 2023, which caused a huge volume of water to flow away and exposed the bottom of the water reservoir. Since that time, new ecosystems have started their development. That is why the territory of the former Kakhovka water reservoir is becoming increasingly interesting for scientists who study fluvial processes, vegetation cover formation, etc. Despite several existing scientific studies, none of them provides visualization of analytic layers at the highest possible scale level for Copernicus Sentinel-2 – 10 meters resolution.
The idea was to develop a web GIS application for visual and/or synchronous observation and comparison of the Kakhovka reservoir territory annually: before the dam destruction (2021) and every year after (2023, 2024, 2025) based on Sentinel-2 satellite imagery from the Copernicus program.
The most informative layers for comparative analysis were created in Google Earth Engine as a series of geoTIFF images (12) for the years of observation (2021-2025):
- Water Bodies. This layer displays surface water bodies identified using Sentinel-2 satellite imagery from the Copernicus program. The analysis employs the Normalized Difference Water Index (NDWI), which calculates the ratio between green and near-infrared spectral bands to distinguish water surfaces from surrounding land. Cloud-free images captured during the specified month are processed to detect areas where water is present, applying a threshold that filters out non-aquatic features. The resulting water bodies are highlighted in blue and exported at 10-meter spatial resolution. This layer provides a snapshot of surface water extent for the selected time period, useful for monitoring reservoirs, rivers, ponds, and other water features within the area of interest.
- Dense Vegetation. This layer identifies areas of dense and healthy vegetation using the Normalized Difference Vegetation Index (NDVI) derived from Sentinel-2 satellite imagery. NDVI measures the difference between near-infrared and red light reflectance to assess vegetation density and health, with values ranging from -1 to +1. Only areas with NDVI values above 0.5 are displayed, representing dense healthy vegetation and forested areas. The color gradient ranges from bright green for moderately dense vegetation to dark green for very dense forests and mature canopy cover. Cloud-free images from the specified month are processed at 10-meter resolution to provide an accurate assessment of vegetation coverage. This layer is particularly useful for monitoring forest health, identifying agricultural areas with robust crop growth, and detecting changes in vegetation density over time.
- True Color Imagery. This layer presents a natural color composite image derived from Sentinel-2 satellite imagery, displaying the area as it would appear to the human eye. The image is created by combining red, green, and blue spectral bands from cloud-free scenes captured during the specified month. Multiple satellite observations are processed using a median composite technique to reduce cloud interference and atmospheric noise, ensuring a clear and representative view of the landscape. The imagery is provided at 10-meter spatial resolution with enhanced contrast settings to optimize visual clarity. This true color representation is ideal for general landscape assessment, visual identification of land features, infrastructure monitoring, and providing geographic context for other analytical layers. The layer serves as a fundamental reference for interpreting specialized indices and thematic data products.
For integration of analytical layers as a series of geoTIFF images into a self-hosted web GIS application, this general data flow was used:
Google Earth Engine: data analysis masked by area of interest (vector polygon), export layers to geoTIFF files
GDAL transformations: conversion of regular large geoTIFF files into cloud-optimized geoTIFFs (COG geoTIFF)
Cloud object storage: creating buckets, uploading COG geoTIFF files, configuring public access, CORS headers, etc.
Web GIS application: rendering COG geoTIFF with OpenLayers.js and custom styles for each type of layer
The most challenging stages:
- GDAL transformations – for optimization of regular geoTIFF files for use in the web application, it required conversion, transformation, and compression: EPSG:4326 => EPSG:3857; geoTIFF => COG geoTIFF; 64-bit => 8-bit; tile size = 512; compression "deflate"
- Rendering COG geoTIFFs – despite the native support of COG geoTIFF files by the OpenLayers.js library, the styling of these layers must take into account: 8-bit images (0-255 values), available bands, data min/max ranges, filtering of "no data" values or making them transparent, etc.
The main features of the web GIS app:
Two-panel synchronous observation mode: for sharing the same view across two maps with different layer configurations
Custom complex layer management: ability to combine layers and visually compare different analytical layers for each of 4 years
Rendering true color imagery and analytical layers interactively at the highest available resolution for Sentinel-2 (10 meters)
Online web GIS app:
* The dam was destroyed on June 6th, 2023 by the russian occupation army as an act of aggression against the civilian population of Ukraine and ecocide. The explosion and resulting massive flood caused disruptive effects on ecosystems and had an impact not only in Ukraine but throughout the entire northern part of the Black Sea region.








