
- Доступность набора данных
- 2015-06-27T00:00:00Z–2025-10-04T02:03:09Z
- Поставщик наборов данных
- Европейский союз/ЕКА/Коперник/SentinelHub
- Интервал повторного посещения
- 5 дней
- Теги
- sentinelhub
Описание
Вероятность облачности S2 рассчитывается с помощью библиотеки sentinel2-cloud-detector (с использованием LightGBM ). Все диапазоны подвергаются повышению разрешения с помощью билинейной интерполяции до 10 м перед применением базового алгоритма градиентного усиления. Результирующая вероятность 0..1
с плавающей запятой масштабируется до 0..100
и сохраняется в формате UINT8. Области, в которых отсутствует какая-либо или все диапазоны, маскируются. Более высокие значения, скорее всего, соответствуют облакам или сильно отражающим поверхностям (например, крышам домов или снегу).
Sentinel-2 — широкополосная многоспектральная миссия по получению изображений высокого разрешения, поддерживающая исследования Copernicus Land Monitoring, включая мониторинг растительности, почвы и водного покрова, а также наблюдение за внутренними водными путями и прибрежными зонами.
Данные уровня 2 можно найти в коллекции COPERNICUS/S2_SR_HARMONIZED . Данные уровня 1B можно найти в коллекции COPERNICUS/S2_HARMONIZED . Дополнительные метаданные по объектам в этих коллекциях доступны.
Посмотрите это руководство , объясняющее, как применять маску облаков.
Группы
Группы
Имя | Мин. | Макс | Размер пикселя | Описание |
---|---|---|---|---|
probability | 0 | 100 | 10 метров | Вероятность того, что пиксель мутный. |
Условия эксплуатации
Условия эксплуатации
Использование данных Sentinel регулируется Условиями использования данных Copernicus Sentinel.
Исследуйте с Earth Engine
Редактор кода (JavaScript)
var s2Sr = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED'); var s2Clouds = ee.ImageCollection('COPERNICUS/S2_CLOUD_PROBABILITY'); var START_DATE = ee.Date('2019-01-01'); var END_DATE = ee.Date('2019-03-01'); var MAX_CLOUD_PROBABILITY = 65; var region = ee.Geometry.Rectangle({coords: [-76.5, 2.0, -74, 4.0], geodesic: false}); Map.setCenter(-75, 3, 12); function maskClouds(img) { var clouds = ee.Image(img.get('cloud_mask')).select('probability'); var isNotCloud = clouds.lt(MAX_CLOUD_PROBABILITY); return img.updateMask(isNotCloud); } // The masks for the 10m bands sometimes do not exclude bad data at // scene edges, so we apply masks from the 20m and 60m bands as well. // Example asset that needs this operation: // COPERNICUS/S2_CLOUD_PROBABILITY/20190301T000239_20190301T000238_T55GDP function maskEdges(s2_img) { return s2_img.updateMask( s2_img.select('B8A').mask().updateMask(s2_img.select('B9').mask())); } // Filter input collections by desired data range and region. var criteria = ee.Filter.and( ee.Filter.bounds(region), ee.Filter.date(START_DATE, END_DATE)); s2Sr = s2Sr.filter(criteria).map(maskEdges); s2Clouds = s2Clouds.filter(criteria); // Join S2 SR with cloud probability dataset to add cloud mask. var s2SrWithCloudMask = ee.Join.saveFirst('cloud_mask').apply({ primary: s2Sr, secondary: s2Clouds, condition: ee.Filter.equals({leftField: 'system:index', rightField: 'system:index'}) }); var s2CloudMasked = ee.ImageCollection(s2SrWithCloudMask).map(maskClouds).median(); var rgbVis = {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']}; Map.addLayer( s2CloudMasked, rgbVis, 'S2 SR masked at ' + MAX_CLOUD_PROBABILITY + '%', true);