Спутник ДЗЗ
2.87K subscribers
2.21K photos
124 videos
175 files
1.95K links
Человеческим языком о дистанционном зондировании Земли.

Обратная связь: @sputnikDZZ_bot
加入频道
В Сочи продолжается конференция «Цифровая реальность: космические и пространственные данные, технологии обработки». Сегодня представители Роскосмоса провели две секции, на которых обсуждались данные ДЗЗ из космоса и сервисы на их основе.

Секцию «Космические данные ДЗЗ» модерировал заместитель директора департамента автоматических космических комплексов, систем навигации и ДЗЗ Госкорпорации Валерий Заичко. Он подчеркнул, что Роскосмос активно взаимодействует с коммерческими компаниями и ведёт системную работу по совершенствованию законодательства в части использования данных ДЗЗ.

В ходе этого заседания были заслушаны доклады других представителей Госкорпорации, а также компаний НПК «БАРЛ», «Газпром СПКА» и СПУТНИКС.

Модератором секции «Космические данные ДЗЗ. Сервисы» выступил Максим Болтачев, генеральный директор «Терра Тех» (входит в Роскосмос). Он рассказал о развитии российского рынка сервисов на основе ДЗЗ.

Подробности — на сайте!
Vegetation Health Index
1. VCI

Сегодня мы научимся рассчитывать индекс здоровья растительности — Vegetation Health Index (VHI) — на основе индексов температурного режима (Temperature Condition Index, TCI) и состояния растительности (Vegetation Condition Index, VCI), используя Google Earth Engine.

Все три индекса — VCI, TCI и VHI — служат косвенными показателями засухи, изменения климата и общего состояния растительности. Они показывают, насколько текущие показатели отличаются от типичных для данной местности в это время года.

Код скрипта

Начнем с указания области интереса и периода наблюдений: Смоленская и Брянская области России, а также сопредельная территория Республики Беларусь, июнь 2023 года. Область интереса можно создать в GEE при помощи Инспектора (Inspector) или построить в geojson.io и скопировать координаты в свой код.

Индекс состояния растительности VCI (мы уже касались его здесь) оценивает текущее значение NDVI в сравнении с диапазоном значений NDVI, наблюдавшихся в тот же период в предыдущие годы. VCI показывает, где находится текущее значение между минимальным и максимальным значениями NDVI прошлых лет:

VCI = (NDVI – NDVI_min) / (NDVI_max – NDVI_min)

Чем выше VCI, тем лучше состояние растительности. Как правило, VCI изменяется в пределах от 0 до 1, но если текущий NDVI окажется меньше минимального или больше максимального, то мы получим значения ниже 0 и выше 1 соответственно.

Для значений NDVI возьмем коллекцию MOD13Q1.061 Terra Vegetation Indices 16-Day Global 250m и выберем из нее канал NDVI

var NDVI = ee.ImageCollection('MODIS/061/MOD13Q1').select('NDVI');


Пройдем по коллекции, рассчитывая VCI с помощью функции:

function calcVCI(image) {
var date = image.date();
var history = NDVI.filterDate('2000-01-01', ee.Date.fromYMD(date.get('year').subtract(1), 1, 1));
var min = history.min();
var max = history.max();
var vci = image.subtract(min).divide(max.subtract(min));
return vci.rename('VCI').copyProperties(image, ['system:time_start','system:time_end']);
}


#GEE #индексы
Vegetation Health Index
2. TCI

Индекс температурного режима TCI позволяет сравнить текущее значение температуры поверхности суши (land surface temperature, LST) с диапазоном значений, наблюдавшихся в тот же период в предыдущие годы. Индекс показывает, где находится наблюдаемое значение температуры поверхности относительно крайних значений (минимума и максимума) в предыдущие годы:

TCI = (LST_max – LST) / (LST_max – LST_min)

Низкие значения TCI показывают, что температура поверхности близка к максимальной для данной местности, а высокие — что к минимальной. Диапазон изменений TCI — от 0 до 1, с теми же оговорками, что и для VCI.

Температуру берем из коллекции MOD11A2.061 Terra Land Surface Temperature and Emissivity 8-Day Global 1km

var LST = ee.ImageCollection('MODIS/061/MOD11A2').select('LST_Day_1km');


Периодичность данных в коллекциях отличается: NDVI вычисляется каждые 16 суток, а LST — каждые 8 суток. Нам нужно получать данные LST каждые 16 суток. Для этого мы перебираем снимки MOD11A2, сделанные за период создания одного композита NDVI (16 суток) и вычисляем среднее значение LST с помощью ee.ImageCollection.mean().

function convert_lst_dates_to_modis_dates(ndvimg) {
var start = ndvimg.get('system:time_start');
var end = ndvimg.get('system:time_end');
var composite = LST.filterDate(start, end).mean();
return composite
.set('system:time_start', start)
.set('date', ee.Date(start).format())
.set('system:time_end', end)
.set('empty', composite.bandNames().size().eq(0));
}


После этого, рассчитываем TCI аналогично VCI.

Как видно из рисунка, июнь выдался жарким, хотя и не рекордным.

#GEE #индексы
Vegetation Health Index
Vegetation Health Index
3. Объединение коллекций и вычисление VHI

Теперь, зная VCI и TCI, мы можем объединить эти коллекции для расчета VHI. Последний вычисляется по формуле:

VHI = α * VCI + (1 - α) * TCI,

то есть является взвешенным средним значений VCI и TCI. Повышенная температура и плохое состояние растительности (низкий NDVI) являются признаками наступившей засухи, что вполне логично.

Для простоты, примем α = 0.5.

Объединяем коллекции изображений VCI и TCI, и вычисляем VHI, как показано здесь

var filter = ee.Filter.equals({leftField:'system:time_start', rightField:'system:time_start'});
var join = ee.Join.saveFirst('match');

var bothCol = ee.ImageCollection(join.apply({primary: VCI,
secondary: TCI,
condition: filter}))
.map(function(img) { return img.addBands(img.get('match')).set('date', img.date().format('YYYY_MM_dd')) });

var VHI = bothCol.map(function(img){
return img.addBands(
img.expression('a/2 + b/2', {
'a': img.select('VCI'),
'b': img.select('TCI'),
}).rename('VHI'));
}
);


Код выполняет левое внешнее объединение коллекций VCI и TCI с помощью функции ee.Join.saveFirst(). В результате создается коллекция, содержащая пары изображений VCI и TCI, у которых совпадают свойства 'system:time_start'.

К полученной коллекции применяется функция map(). Она используется для добавления к каждому изображению нового канала (ee.Image.addBands()), содержащего совпадающее изображение из другой коллекции. Используем ee.Image.get() для получения совпадающего изображения.

После этого выполняем еще один map(), чтобы вычислить VHI с помощью ee.Image.expression().

В итоге, получим коллекцию изображений, каждое из которых содержит каналы VCI, TCI и VHI.

Код скрипта

Индексы VCI и TCI предложены Феликсом Коганом в работе: Kogan, F. N. (1995). Application of vegetation index and brightness temperature for drought detection. Advances in Space Research, 15(11), 91–100. https://doi.org/10.1016/0273-1177(95)00079-t Там же была предложена формула для вычисления VHI, хотя название индекса Коган придумал позже.

Первоначально, индексы использовались для наблюдений, сделанных прибором AVHRR — Advance Very High Resolution Radiometer, летавшим на спутниках семейств GOES, METEOSAT, MTSAT и DMSP. Сейчас эти данные находятся на странице STAR - Global Vegetation Health Products. Они являются глобальными, начинаются с 1981 года, имеют пространственное разрешение 4 км (Very High Resolution того времени!) и используются в виде 7-суточного композита.

#GEE #индексы
Напомним, что проекты и примеры кода, не вошедшие в учебник по Google Earth Engine, находятся здесь. Всё вместе можно найти по тегу #GEE
Forwarded from РИА Новости
This media is not supported in your browser
VIEW IN TELEGRAM
Облако пепла от извергающегося вулкана Безымянный на Камчатке видно из космоса. Последствий для главного аэропорта Камчатки - "Елизово" - быть не должно, всё работает штатно, рассказали РИА Новости в воздушной гавани
На Google Earth Engine появились данные Harmonized Landsat Sentinel-2 TOA

О данных Harmonized Landsat Sentinel-2 (HLS) на канале говорилось уже не раз (например, здесь и здесь). HLS — это попытка объединить данные нескольких сенсоров, а именно: Landsat 8 OLI, Landsat 9 OLI-2 и Sentinel-2A/2B MSI. Вместе они позволят проводить глобальные наблюдения с периодичностью 2–3 суток.

Для получения бесшовных продуктов HLS на основе данных OLI и MSI используется набор алгоритмов, включающий атмосферную коррекцию, маскировку облаков и теней, корегистрацию, топографическую коррекцию и коррекцию угла съемки, а также радиометрическое выравнивание снимков. Ссылки на алгоритмы есть здесь.

Данные HLS существуют в двух уровнях обработки: Top of Atmosphere (уровень 1) и Surface Reflectance (уровень 2). Все данные имеют пространственное разрешение 30 метров.

Раньше данные HLS можно было найти на NASA Earthdata Search и Sentinel Hub EO Browser. И вот теперь к ним добавился Google Earth Engine.

Продукт HLSL30: HLS-2 Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m — это скорректированные данные 1-го уровня обработки, полученные на основе сенсоров спутников Landsat. Чтобы добиться периодичности 2–3 суток, их нужно дополнить аналогичными данными Sentinel-2, но пока таких данных на GEE нет.

Временное покрытие данных HLS начинается с момента запуска Landsat 8, то есть с 2013 года.

Сейчас данные только начали размещать на GEE. Так, за лето нынешнего года по всему миру нам удалось найти всего 2101 снимков 1️⃣ (код), покрывающих часть территории Бразилии, Индии, Юго-Восточной Азии и островов Тихого океана. Закончить размещение данных планируется до конца года.

#GEE #sentinel2 #landsat #данные
This media is not supported in your browser
VIEW IN TELEGRAM
Satellites.pro — это свободный агрегатор спутниковых изображений и карт. Он позволяет выбирать данные из нескольких источников:

* Apple Maps
* OpenStreetMap
* Google Maps
* Yandex Maps

Все они, кроме OpenStreetMap, доступны в вариантах Satellite View (спутниковые изображения) и Plan (карта). OpenStreetMap предоставляет только карты.

Satellites.pro сообщает информацию о погоде и ее прогноз в рассматриваемом районе. Для этого, щелкните на значке погоды, в левой нижней части экрана.

Здесь находится Python-пакет для выкачивания данных из satellites.pro. Нами в работе не тестировался.

#данные
14 октября 2023 года произошло кольцеобразное солнечное затмение, наблюдавшееся на территории США, Центральной Америки, Колумбии и Бразилии.

Кольцеобразные солнечные затмения — самый редкий вид затмений. На их долю приходится всего 5% затмений. Кольцеобразные затмения случаются, когда лунный диск проецируется на солнечный и, имея видимый угловой диаметр меньше последнего, не закрывает Солнце целиком, а оставляет узкое, не затмившееся яркое красно-оранжевое кольцо (рисунок 1️⃣).

На снимке 2️⃣, полученном прибором EPIC спутника DSCOVR (Deep Space Climate Observatory) в 16:58 по всемирному времени, видно, как тень от Луны падает на юго-восточное побережье Техаса.

#снимки
Учебники проекта SEOS

Science Education through Earth Observation for High Schools (SEOS) — проект по использованию данных ДЗЗ из космоса в старших классах школы. В рамках проекта было разработано 17 учебных пособий по основам дистанционного зондирования и его применению в разных областях науки и техники.

Учебники переведены на несколько европейских языков, причем один из них — Начала дистанционного зондирования — на русский язык. Уровень изложения — школьный.

Учебникам больше 10 лет, но они — про основы, которые с тех пор не изменились.

#основы
Извержение вулкана Безымянный

Камчатский полуостров, расположенный вдоль Тихоокеанского огненного кольца, насчитывает более 300 вулканов. Снимок извержения вулкана Безымянный, которое началось 16 октября, был сделан в тот же день спутником Landsat 8.

В центре снимка находится вулкан Ключевской — самый высокий действующий вулкан Евразии. Он выпустил небольшой шлейф газа и пара, уходящий на северо-восток. Вершина горы отбрасывает на снег тень конической формы, так как солнце находится низко в осеннем небе.

В июне 2023 г. Камчатская группа реагирования на вулканические извержения (KVERT) сообщила о начале извержения на Ключевском, а в июле на его юго-восточном склоне возник новый лавовый поток, хорошо видимый на снимке. Взрывные извержения вулкана продолжаются до сих пор. Вместе с газом и паром в воздух поднимается пепел, что иногда приводило к повышению цветового кода опасности до оранжевого — третьего уровня по четырехцветной шкале. За несколько дней до получения снимка активность Ключевского усилилась: по склонам вулкана стекала лава, а раскаленные материалы взлетали в воздух на высоту до 300 метров над кратером.

16 октября KVERT отметила рост активности на вулкане Безымянный, когда со склонов горы сошли лавины обломков. На снимке этот вулкан расположен в центре внизу. Безымянный также извергает шлейф газа, пара и пепла — гораздо больше, чем у Ключевского, но трудно различимый из-за облачного покрова на снимке.

#вулкан
На этой неделе будет много R. Хочется поскорей перейти к работе с пространственными данными и снимками, но без знакомства с основами языка толку не будет.

Основ будет немного — примерно на одну университетскую пару, нарезанную на кусочки отдельных постов. R будет по утрам. Кому он не нужен — потерпите немного. Про другое будет вечером.
Арифметические операции и переменные

Арифметические операции в R выглядят так же, как и во многих других языках программирования:

3+2
2*(4-1)/6
3^2; sqrt(4) # ';' служит для разделения выражений в строке
1/0


А вот запись операции присваивания имеет особенности. Она обозначается стрелкой влево (<-) или знаком равенства (=)

{r}
a = 3
a

b <- "XOR"
(b <- 5)

"ФЕИ" -> c # можно и так!


Стрелка используется для совместимости с очень старыми версиями R, так что можете спокойно использовать =.

Мы будем использовать стрелку: 1) по привычке, 2) чтобы отличать присваивание от других операций. Например, от задания значений по умолчанию для аргументов функций — там всегда используется =.

Комментарий начинается с #. Блочных комментариев нет.

Если нужно вывести в консоль значение переменной, то строку, в которой это значение присваивается, окружают скобками: (b <- 5).

При назначении имен переменных и функций придерживаются правил:

1. Использовать для имен только латинские буквы, символ подчеркивания `'_', цифры и точку '.'`.
2. Имя не должно начинаться с цифры или точки: `plot_new2` и `plot.new` — правильно, а `.plot` и `2plot` — неправильно.
3. Не давать объектам имена, занятые распространенными функциями или ключевыми словами (особенно это касается `T`, `F`, `NA`, `NaN`, `Inf`).

Еще одна особенность R состоит в том, что в именах переменных можно использовать точку (.). Точку применяют для разделения смысловых частей имени, как символ подчеркивания в других языках. Например, функция install.packages() служит для установки новых пакетов расширений. Это именно функция, а не метод packages() объекта install.

R чувствителен к регистру: Var, var и VAR — это разные имена.

#R
Тексты про пространственные данные и R собираем вместе (см. ниже) и помещаем в закреп.
Работа с пространственными данными в R

Начало работы

* R Онлайн
* Установка R и RStudio на локальный компьютер
* Первый скрипт

Основы языка

* Арифметические операции и имена
* Типы данных: числовые, строковые, логические
* Особые величины
* Структуры данных (обзор):
векторы — часть 1, часть 2, часть 3
матрицы и массивы
списки
таблицы
* Управление ходом вычислений
условные операторы
циклы
* Базовая графика
* Функции, функциональное программирование

Пространственные данные

* Растровые данные
* Чтение растровых данных. Метаданные
* Создание растровых данных
* Арифметические и логические действия с растровыми данными
* Многослойные растровые данные
* Охват (экстент)
* Изменение пространственного разрешения
* Замена системы координат
* Слияние и изменение размеров
* Применение функций к слоям данных
* Применение функций к слоям данных-2: app, lapp, tapp и xapp
* Категоризация значений: classify
* Доступ к ячейкам данных
* Фильтрация
* Отображение растровых данных
* SpatRasterDataset и SpatRasterCollection

* Векторные данные
* Создание векторных объектов: точки, линии и полигоны
* Чтение и запись данных
* Перепроецирование

* Взаимодействие растров и векторов
* Обрезка и маскирование растров по векторным данным
* Извлечение значений растров

...

Основные пакеты R для работы с пространственными данными
Справка по функциям пакета terra
Ссылки по работе с пространственными данными в R

#R
Спутниковую группировку наблюдения Земли “Грифон” включат в проект “Сфера”

ТАСС сообщил, что проект "Грифон" включат в программу создания многоспутниковой группировки "Сфера".

Проект будет реализовываться на базе специализированного отраслевого оператора с привлечением внешних инвестиций, сообщили в Роскосмосе.

Программа "Сфера" предполагает создание на орбите пяти спутниковых группировок, предоставляющих телекоммуникационные услуги, и еще пяти группировок дистанционного зондирования Земли. Одной из таких группировок станет “Грифон”.

"Грифон" — проект спутниковой группировки наблюдения Земли, которая будет включать 136 космических аппаратов на базе платформы CubeSat. Она позволит получать данные каждые 30 часов с территории России и не реже 38 часов по всему миру, — сообщает ТАСС. Вероятно, речь идет о том, что территория России будет полностью покрыта данными спутниковой съемки за 30 часов.

Ранее, Роскосмос сообщал, что инициатором создания группировки “Грифон” является головной институт госкорпорации — ЦНИИмаш, “в партнерстве с ведущими ВУЗами страны”.

ComNews сообщает, что группировка "Грифон" будет состоять из космических аппаратов, ведущих обзорную съемку. Она должна дополнять группировку сверхвысокодетального мониторинга "Беркут".

Источник рисунка

#россия