Спутник ДЗЗ
3.69K subscribers
2.79K photos
153 videos
210 files
2.56K links
Человеческим языком о дистанционном зондировании Земли.

Обратная связь: @sputnikDZZ_bot
加入频道
Отображение карт в разделенном окне (вверху). Концентрация диоксида азота до пандемии (2019 год) и в период пандемии (2020 год).
Прибор OMI измеряет концентрацию диоксида азота

Кроме TROPOMI, концентрацию диоксида азота в атмосфере измеряет прибор OMI (Ozone Monitoring Instrument) на спутнике Aura. Этими данными пользоваться не так удобно, зато они собираются с 2005 года.

Данные Aura/OMI находятся в Earthdata. Посмотреть их можно в Worldview, в Giovanni (требуется регистрация в Earthdata) и на Global Nitrogen Dioxide Monitoring Home Page. На последней есть временные ряды наблюдений за концентрацией диоксида азота для крупнейших городов мира.

#атмосфера
Концентрация NO2 в Стамбуле по данным OMI (2020-2023 годы).
Завершаем цикл рассказов о диоксиде азота)
Диоксид азота и мониторинг пожаров

Данные о концентрации диоксида азота NO2 применяются в мониторинге пожаров. Нередко, уточнить источник происхождения диоксида азота, помогают дополнительные данные, такие как концентрация CO и формальдегида.

Повышенный уровень NO2 (на рисунке слева) наблюдается в районе лесных пожаров, в округах Вентура и Санта-Барбара (Калифорния), а также в Лос-Анджелесе. В районе пожаров одновременно наблюдается высокая концентрация CO (рисунок справа) — гораздо выше, чем в Лос-Анджелесе. Дело в том, что в Лос-Анджелесе основным источником NO2 являются выхлопные газы автомобилей, а они дают значительно меньшие концентрации CO, чем пожары.

Рисунки взяты из: TROPOMI finds source of pollutants, 07 Jan 2019

#атмосфера
Глобальные цифровые модели рельефа

Цифровая модель рельефа (ЦМР) — это трехмерное компьютерное представление данных о рельефе местности. Обычно ЦМР существует в виде растра — сетки квадратов, в каждом из которых задана высота. Проще говоря, ЦМР — это карта высот.

ЦМР содержит высоту поверхности планеты. В отличие от ЦМР, цифровая модель поверхности (ЦМП) дает высоту поверхности с добавлением высот расположенных на ней искусственных объектов и растительности.

Одни из наиболее точных ЦМР строятся при помощи лидарной съемки. Однако такие ЦМР охватывают сравнительно небольшие участки поверхности (около 1% земной суши). Глобальные ЦМР строятся при помощи спутниковой съемки.

Ключевые данные для построения глобальной ЦМР были получены Shuttle Radar Topography Mission (SRTM) — полета шаттла “Индевор” в феврале 2000 года, в ходе которого высоту поверхности планеты измеряли методом радарной интерферометрии. В результате была построена первая глобальная ЦМР, охватывающая 80% площади земной суши: от 56° ю.ш. до 60° с.ш.

Первая версия ЦМР SRTM содержала много ошибок и пробелов, к тому же за ее пределами находились крайние север и юг планеты. Но огромный плюс этих данных был в том, что они распространялись свободно. В 2009 году появилась новая глобальная ЦМР — ASTER Global Digital Elevation Model (GDEM). Она построена на основе стереосъемки, выполненной прибором ASTER со спутника Terra и охватывает всю поверхность планеты. У новой ЦМР были свои проблемы, но теперь появилась возможность сравнивать.

Третья версия SRTM (SRTM Plus), в которой пробелы были заполнены данными ASTER GDEM и USGS GMTED2010, появилась в 2014 году и имела пространственное разрешение 30 м. Ее легко найти в сети, например на GEE (NASA SRTM Digital Elevation 30m).

В 2020 году появилась Copernicus DEM, GLO-30. Она имеет разрешение 30 м и основана на более свежих и точных наблюдениях — данных TanDEM-X 2011–2015 годов. На GEE данные находятся здесь.

Однако, несмотря на то, что в названиях моделей присутствует DEM (Digital Elevation model, то есть ЦМР), фактически все они остаются цифровыми моделями поверхности, то есть включают высоту зданий, леса и других объектов на поверхности Земли. Это затрудняет гидрологическое моделирование. Например, трудно оценить площадь, которую может затопить наводнение, если считать лес поверхностью, которая ограничивает распространение воды (а это происходит при использовании ЦМП вместо ЦМР). Трудно и оценить высоту леса над поверхностью, не зная высоты этой самой поверхности.

Одной из первых попыток удалить “ненужное” стала MERIT (Multi-Error-Removed Improved-Terrain) DEM. Она имеет разрешение 90 м.

Самой свежей по времени попыткой создания “истинной” глобальной ЦМР является FABDEM (Forest And Buildings removed Copernicus DEM). Она основана на Copernicus DEM, леса и здания с которой удалены при помощи машинного обучения. Обучалась модель на лидарных ЦМР из 12 стран мира. Процесс создания FABDEM описан в работе*. Пространственное разрешение FABDEM — 30 метров. Найти ее можно здесь.

*В статье приведены сравнения FABDEM c другими картами, демонстрирующие преимущества FABDEM. К сожалению, там нет разностных карт, по которым можно было бы оценить ошибку FABDEM относительно лидарных эталонов. Впрочем, это можно сделать самому (темка для статьи!). Лидарные данные есть в свободном доступе, например на OpenTopography.

Все ЦМР (ЦМП) на одной карте:
https://code.earthengine.google.com/936241de27a9f0538f53195764c907c6

#DEM #данные #GEE
Различия между ЦМР и ЦМП (источник)

DEM — Digital Elevation model (цифровая модель рельефа), DSM — Digital Surface Model (цифровая модель поверхности).
Сравнение FABDEM c другими DEM для тестового района Нидерландов (источник).
Карта высот Болгарии (FABDEM).
Расхождения между SRTM3 и ASTER GDEM в отдельных точках достигают сотен метров.
С первым календарным днем весны. С погодной точки зрения у нас еще есть примерно треть марта, чтоб насладиться зимней погодой и попрощаться с зимой.

Андрей для @astrophotoboloto
GEE-16. Ночные снимки и графики временных рядов

Недавно мы обсуждали ночные снимки, а сейчас поработаем с ними. Сначала мы сравним среднюю освещенность территории в 2014 и 2021 годах, а после построим графики временных рядов средней освещенности для нескольких стран.

Задаем список стран и выбираем нужные фильтром ee.Filter.inList:

var countryList = ['Yemen','Eritrea','Djibouti'];
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017')
.filter(ee.Filter.inList('country_na', countryList));

Импортируем коллекцию снимков VIIRS Day/Night band:

var nightlight = ee.ImageCollection('NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG');

Это — месячные композиты ночных снимков.

Вычислим среднюю освещенностью в 2014 году:

var start = ee.Date.fromYMD(2014,1,1);
var end = ee.Date.fromYMD(2014,12,31);

var nightlights2014 = nightlight.filterDate(start,end);
nightlights2014 = ee.Image(nightlights2014.mean());
nightlights2014 = nightlights2014.select('avg_rad');
nightlights2014 = nightlights2014.clip(countries);

и отобразим ее на карте:

// Палитра для отображения DNB.
var palDNB = ['000000','700000','808080','FFFF00','ffffff','ffffff','ffffff'];

Map.addLayer(nightlights2014, {min:0,max:10,palette:palDNB}, 'Nightlights 2014');

Аналогично поступим с данными 2021 года.

Базовой картой сделаем спутниковые снимки:

Map.setOptions('SATELLITE');

Результаты показаны в следующем посте.

Перейдем к построению временных рядов. Возьмем среднюю освещенность за весь период наблюдений (2014–2022 годы):

var nl = nightlight.select('avg_rad');

Построим временные ряды освещенности по странам. Здесь ee.Reducer.mean() вычисляет среднюю освещенность по стране на одном снимке, то есть за один месяц:

var chart =
ui.Chart.image
.seriesByRegion({
imageCollection: nl,
regions: countries,
reducer: ee.Reducer.mean(),
scale: 500,
seriesProperty: 'country_na',
xProperty: 'system:time_start'
})
.setOptions({
title: 'Date',
hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
vAxis: {
title: 'average nighlight',
titleTextStyle: {italic: false, bold: true}
},
lineWidth: 5,
colors: ['e37d05','0f8755','76b349'],
curveType: 'function'
});

print(chart);

Свойство xProperty указывает на переменную, играющую роль времени. seriesProperty задает атрибут regions, разделяющий данные разных рядов (название страны). Все остальные свойства довольно очевидны.

Для закрепления навыка, построим временной ряд для одной страны:

var country = countries.filter(ee.Filter.inList('country_na', ['Yemen']));

var chart =
ui.Chart.image
.series({
imageCollection: nl,
region: country,
reducer: ee.Reducer.mean(),
scale: 500,
xProperty: 'system:time_start'
})
.setSeriesNames(['avg_rad'])
.setOptions({
title: 'Date',
hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
vAxis: {
title: 'average nighlight',
titleTextStyle: {italic: false, bold: true}
},
lineWidth: 5,
colors: ['e37d05'],
curveType: 'function'
});

print(chart);

Вместо ui.Chart.image.seriesByRegion здесь использована ui.Chart.image.series, потому что регион теперь один. Соответственно, вместо regions использован region.

Подробности построения графиков описаны в официальном руководстве. На наш взгляд, глубоко погружаться в них не стоит, потому что они тесно связаны с языком программирования. Почти весь рассмотренный нами материал легко перенести на Python, а вот построение графиков специфично для JavaScript. В Python их придется строить по-другому. Не сложнее, а именно по-другому.

Код примера

#GEE #dnb
Средняя ночная освещенность Йемена, Эритреи и Джибути в 2014 (вверху) и 2021 (внизу) годах.