Спутник ДЗЗ
3.2K subscribers
2.49K photos
140 videos
191 files
2.22K links
Человеческим языком о дистанционном зондировании Земли.

Обратная связь: @sputnikDZZ_bot
加入频道
Снимки, сделанные астронавтами Apollo

Тысячи снимков, сделанных астронавтами “Аполлонов”, находятся в открытом доступе на Apollo Image Gallery — разделе сайта Project Apollo Archive.

Снимки были сделаны с помощью высококлассных камер Hasselblad, в которых использовалась пленка в три-четыре раза большего размера, чем стандартная 35-миллиметровая. Отсюда и хорошая детализация.

#снимки
Организации: NOAA, DARPA, SDA и другие

ADD / Agency for Defense Development (South Korea) — Агентство оборонных разработок, Южная Корея
AFRL / U.S. Air Force Research Laboratory
— Исследовательская лаборатория ВВС США
CASC / China Aerospace Science and Technology Corporation — Китайская аэрокосмическая научно-техническая корпорация
CASIC / China Aerospace Science & Industry Corporation Limited
— Китайская аэрокосмическая научно-промышленная корпорация
CAST / China Academy of Space Technology — Китайская академия космических технологий
CEOS / Committee on Earth Observation Satellites
CNES / Centre National d'Études Spatiales — Национальный центр космических исследований, Франция
CNSA / China National Space Administration / 國家航天局 — Китайское национальное космическое управление
CSA / Canadian Space Agency — Канадское космическое агентство
DAAC / Distributed Active Archive Center — тематический центр хранения и обработки данных дистанционного зондирования в NASA.
DAPA / Defense Acquisition Program Administration — Управление программ оборонных закупок, Южная Корея
DARPA / Defense Advanced Research Projects Agency — Управление перспективных исследовательских проектов Министерства обороны США
DLR / Deutsches Zentrum für Luft - und Raumfahrt — Немецкий центр авиации и космонавтики
ESA / European Space Agency — Европейское космическое агентство
FCC / Federal Communications Commission — Федеральная комиссия по связи, США
ISRO / Indian Space Research Organisation — Индийская организация космических исследований
JAXA / Japan Aerospace Exploration Agency — Японское агентство аэрокосмических исследований
MDA / Missile Defense Agency — Агентство по противоракетной обороне США
NASA / National Aeronautics and Space Administration — Национальное управление по аэронавтике и исследованию космического пространства, США
NGA / National Geospatial-Intelligence Agency — Национальное агентство геопространственной разведки, США
NOAA / National Oceanic and Atmospheric Administration — Национальное управление океанических и атмосферных исследований, США
NRL / Naval Research Laboratory — Военно-морская исследовательская лаборатория, США
NRO / National Reconnaissance Office — Национальное управление военно-космической разведки США
SAST / Shanghai Academy of Spaceflight Technology (The Eighth Academy of CASC)
SDA / Space Development Agency — Агентство космического развития при Министерстве обороны США
SOC / Space Operations Command — Командование космических операций, США
USGS / United States Geological Survey — Геологическая служба США
USSF / U.S. Space Force — Космические силы США

#справка
Список организаций и аббревиатур, связанных с дистанционным зондированием Земли, стал слишком длинным. Помещаю его в закреп.
Красивейшие спутниковые снимки можно найти на на Unsplash. В основном, это снимки Landsat’ов, предоставляемые Геологической службой США (USGS). У нее есть и отдельный раздел, с фотографиями минералов.

Все снимки сделаны в так называемых “расширенных цветах” (enhanced colors). С одной стороны, так красивей. С другой — это позволяет подчеркнуть приглушенные вариации цвета и повысить способность различать особенности поверхности. Тонкие вариации цвета могут быть вызваны небольшими различиями в составе пород или в текстуре поверхности. Так что у красоты есть вполне практический смысл.

#снимки
Сверху вниз и слева направо.

Пустыня Сахара, как будто с картины Хокусая; заснеженные поля на берегах Волги; Усть-Ленский заповедник; мутные воды Миссисипи, впадающей в Мексиканский залив; плато выветривания Джебель-Киссу на северо-западе Судана, словно остров посреди Сахары.
​​Вновь финансовые космические новости.

Белый дом запросил $27,2 млрд. для НАСА в 2024 году. Это на $1,8 млрд. больше, чем выделено в 2023.

Портал Payload обращает внимание на следующие статьи, по которым произошло увеличение расходов.

Программа "Артемида".
Запрошено $8,1 млрд., что на $500 илн больше, чем в 2023.

Доставка на Землю образцов грунта с Марса.
$949 млн.

Буксир для затопления МКС.
На это планируется потратить $180 млн. Само затопление запланировано на 2030.

Насколько я знаю, раньше всегда предполагалось, что вывод МКС с орбиты и затопление будет обеспечивать Россия. Хотя бы потому, что США нечем решать эту задачу. Почему США решили взяться за эту задачу сами? Какие сценарии будущего они рассматривают?

Для сравнения - годовой бюджет Роскосмоса порядка 200 млрд. рублей - около половины финансирования американского лунного проекта.
GEE-20. Landsat Cloudscore

Продолжим тему маскирования облаков, начатую здесь и здесь. Сегодня маскируем облака на снимках Landsat. В объективе — Париж.

У Landsat есть тепловой сенсор, поэтому маскировать облака для него проще, чем для Sentinel-2. Облака довольно холодные, их отражательная способность в тепловом диапазоне низкая, что позволяет отличать их от других природных объектов. С маскированием облаков вполне качественно справляется “родная” маска Landsat:

function maskL8sr(image) {
// Маска качества пикселей QA_PIXEL.
var qa = image.select('QA_PIXEL');

// Биты 3 и 4 - признаки облаков и теней облаков.
var cloudsBitMask = 1 << 3;
var cloudShadowBitMask = 1 << 4;

var cloud = qa.bitwiseAnd(cloudsBitMask);
var cloudShadow = qa.bitwiseAnd(cloudShadowBitMask);

var qaMask = cloud.eq(0).and(cloudShadow.eq(0)).copyProperties(image, ['system:time_start']);

var saturationMask = image.select('QA_RADSAT').eq(0).copyProperties(image, ['system:time_start']);

return image.updateMask(qaMask)
.updateMask(saturationMask);
}


Облака и тени определяются по маске качества пикселей QA_PIXEL. В ней бит 3 отвечает за облака, а бит 4 — за их тени. Если бит равен 1, значит в соответствующем пикселе изображения присутствует облако или его тень. Равенство нулю обоих битов означает отсутствие облаков и теней облаков.

Мы уже имели дело с битовыми масками, но тогда обрабатывали их по-другому. Сейчас мы используем битовый сдвиг (<<). На пальцах эта операция описана здесь. Пишите в бот, если будут вопросы.

Кроме того, мы используем маску радиометрического насыщения QA_RADSAT. Насыщение означает, что полученный в данном пикселе сигнал настолько силен, что превышает максимальный сигнал, который способен измерить наш сенсор. В результате насыщения мы получим искаженное значение измеряемой величины. Равенство нулю пикселей маски QA_RADSAT означает отсутствие насыщения.

Подробности алгоритма маскирования облачности Landsat Collection 2 смотрите в главе 4.4.18 Landsat 8-9 OLI/TIRS Calibration / Validation Algorithm Description Document.

А сейчас рассмотрим еще одну очень полезную функцию. До сих пор мы подбирали снимки, исходя из доли площади снимка, покрытой облаками. А что если район наблюдения сравнительно невелик, и окажется чистым даже на заполненном облаками снимке? Значит нужно подбирать снимки, опираясь на покрытие облаками именно района интереса (ROI), а не всего снимка. Этим мы и займемся.

Идея состоит в следующем. Нужна простая маска облаков, которая будет сравнительно быстро считаться и давать неплохую оценку облачности. Вычислив среднее значение такой маски в ROI, мы получим долю площади ROI, покрытую облаками. Сказано — сделано:

function getCloudScore(image) {
var qa = image.select('QA_PIXEL').rename('cloud');
var mask = qa.bitwiseAnd(1 << 3)
.or(qa.bitwiseAnd(1 << 4));
var cloudiness = mask.reduceRegion({
reducer: 'mean',
geometry: ROI,
scale: 30,
});
return image.set(cloudiness);
}


Мы немного схитрили, использовав обычную маску Landsat для оценки доли облачного покрытия района (cloud score). Но она уже готова, так что расчет выполняется быстро. Если нужно, есть cloud score по более простой маске — ee.Algorithms.Landsat.simpleCloudScore.

Важно, что таким же способом мы можем поступать и со снимками Sentinel-2: отбирать малооблачные снимки для ROI, опираясь на маски `MSK_CLDPRB` и `SCL`, а затем маскировать облака с помощью s2cloudless.

Код примера: https://code.earthengine.google.com/6427f178979fe1ac6f816d13f609bd55

#GEE
Вверху и снизу слева: снимок Парижа (RGB, естественные цвета) и температура земной поверхности 13.08.2022.

Внизу справа: погрешность (uncertainity) определения температуры. Она находится в канале ST_QA снимка.

Было бы интересно посмотреть, что расположено в точках “красной сыпи”, где получены самые большие погрешности измерения температуры.
Когда воздух обтекает объекты на своем пути, могут образовываться спиралевидные вихри, известные как вихревые дорожки фон Кармана. Вихри на этом снимке образовались, когда преобладающие ветры, дующие с востока через северную часть Тихого океана, столкнулись с Алеутскими островами у побережья Аляски.

Источник
Государственные расходы на космические программы в 2022 году

По данным Statista, в 2022 году мировые государственные расходы на космические программы должны были достигнуть рекордного уровня — около 103 миллиардов долларов. Лидером являются США, чьи государственные расходы на космос составляют почти 62 миллиарда долларов (из них 24 миллиарда — бюджет NASA). За США следует Китай с государственными расходами в размере почти 12 миллиардов долларов.

Государственные расходы России оценены в 3.42 миллиарда долларов, что не слишком сходится с заявленным бюджетом Роскосмоса (210.22 миллиардов рублей) даже при самом оптимистичном курсе доллара.
Astronomy Picture of the Day

Astronomy Picture of the Day — это классическое NASA из 1990-х годов: минималистичное оформление и прекрасные снимки. Проект запущен 16 июня 1995 года, больше 27 лет назад!

На канале Спутник ДЗЗ мы хоть и смотрим чаще вниз, на Землю, чем вверх — в космос, и то заглядываем на APOD, чтобы вдохновится перед или отдохнуть после работы. Вот, например, что показывал APOD 8 марта…
Во многих крупных городах на ночном небе видно лишь небольшое число планет и ярких звезд. Причиной является искусственный свет, отражающийся от молекул и аэрозолей в атмосфере, который создает так называемое световое загрязнение. На представленной карте показано относительное количество светового загрязнения, которое наблюдается на всей Земле. Например, части восточного побережья США и Западной Европы, окрашенные в красный цвет, имеют искусственное свечение ночного неба в десять раз превышающее естественное. В областях, окрашенных в оранжевый или красный цвет, не видно центральной полосы нашей галактики — Млечного Пути.

#снимки
Первый снимок “Электро-Л” № 4

10 марта был получен первый снимок со спутника “Электро-Л” № 4, запущенного 5 февраля этого года.

Метеоспутник “Электро-Л” № 4 находится на геостационарной орбите в точке стояния 165.8° восточной долготы над Тихим океаном. Существующая орбитальная группировка из трех геостационарных аппаратов “Электро-Л” №2, №3, №4 позволяет получать с частотой до 15 минут бесшовные многоспектральные снимки России и прилегающих территорий.

Источник

#ГСО
GEE-21. Температура земной поверхности по данным MODIS. Автоматический подбор диапазона значений на карте

План такой:

1. Возьмем коллекцию данных MODIS.
2. Отмаскируем некачественные фрагменты данных.
3. Сделаем карту средней температуры земной поверхности.
4. Для сравнения, сделаем то же самое без маскирования. Оценим среднюю разность температур и построим карту этой разности.
5. Плюс, будет еще одна фишка, о которой сказано в заголовке.

Код примера: https://code.earthengine.google.com/488132bd7f12eb4b0bb01a21282e0b13

Для расчета температуры земной поверхности возьмем MOD11A2.061 Terra Land Surface Temperature and Emissivity 8-Day Global 1km. Это восьмидневные композиты температуры земной поверхности, рассчитанные по данным MODIS. Продукт называется MOD11A2, его версия — 6.1. В данных содержится дневная и ночная температуры поверхности с пространственным разрешением 1 км (слои LST_Day_1km, LST_Night_1km).

Поскольку данные являются композитами снимков, сделанных за 8 суток, ошибок ожидается немного. Но все же они будут. Чтобы контролировать ошибки, воспользуемся масками качества. Основных масок две: QC_Day, QC_Night. Они однотипны, так что мы ограничимся дневной температурой поверхности и соответствующей маской.

Как и у других продуктов MODIS, маски качества MOD11A2 — битовые (значения битов приведены здесь). Работа с битовой маской состоит из двух этапов: 1) извлечение нужных битов; 2) построение маски на их основе.

Извлекает биты функция getQABits. Мы не будем разбирать как она устроена, так как это вспомогательная функция. Она есть в коде примера, и в сети есть разные варианты ее реализации (например, такой). Входными параметрами getQABits являются: маска качества, нижний и верхний извлекаемые биты, а также имя созданного слоя на выходе из getQABits.

Из маски качества QC_Day мы создадим бинарную маску, указав нужные параметры качества и их значения. Допустим мы хотим, чтобы ошибка излучательной способности (emissivity) не превышала 0.02. Это возможно, когда в битах 4 и 5 QC_Day записано число, меньшее или равное 1. Если требуется, чтобы ошибка вычисления температуры поверхности составляла не более 2К, нужно чтобы в битах 6 и 7 значение не превышало 1. Собирая такие условия вместе, получим обычную бинарную маску mask, которую и применим к данным о температуре.

var qualityDay = function(img) {
var lstDay = img.select('LST_Day_1km');
var qcDay = img.select('QC_Day');
// Ошибка излучательной способности <= 0.02
var emissivityMask = getQABits(qcDay, 4, 5, 'emissivityMask').lte(1);
// Ошибка LST <= 2K
var lstErrorMask = getQABits(qcDay, 6, 7, 'lstErrorMask').lte(1);
var mask = emissivityMask.and(lstErrorMask);
return lstDay.updateMask(mask);
};


Рассмотрим температуру поверхности в Ираке, в феврале-марта 2022.

Импортируем коллекцию данных MOD11A2, маскируем их, и рассчитываем среднюю (точнее, медианную) температуру поверхности за рассматриваемый период dateRange.

var modLST = ee.ImageCollection('MODIS/061/MOD11A2')
.filterDate(dateRange);

var image = modLST.map(qualityDay)
.select('LST_Day_1km')
// Перевод из Кельвинов в градусы Цельсия.
.map(kelvin2Celsius)
.median().clip(ROI);


#GEE
А вот и обещанная фишка. Чтобы не подбирать вручную границы температуры, отображаемой на карте, мы рассчитаем их:

// Расчет min/max-значений на снимке.
var minMax = image.reduceRegion({reducer: ee.Reducer.minMax(),
geometry: ROI,
scale: 1000,
bestEffort: true,
maxPixels: 1e9});

// Переименуем ключи словаря.
var minMax = minMax.rename(minMax.keys(), ['max','min']);
// Извлечем из словаря значения минимума и максимума.
var min = minMax.get('min').getInfo();
var max = minMax.get('max').getInfo();

print('Min LST, C:', min);
print('Max LST, C:', max);

// Добавим min/max в параметры визуализации.
var visLST = {min: min, max: max, palette: ['blue', 'limegreen', 'yellow', 'darkorange', 'red']};

Map.addLayer(image, visLST, 'LST');


Сначала, с помощью редьюсера ee.Reducer.minMax(), вычисляются минимальное и максимальное значения температуры на нужном фрагменте снимка (ROI). Затем из полученного словаря извлекаются значения минимума и максимума. getInfo() понадобился для перехода от серверных объектов к локальным: минимумы/максимумы считались на сервере, а карты строятся на локальной машине.

После проделываем расчет температуры поверхности без маскирования (image2) и строим карту разности результатов:

var dLST = image2.select('LST_Day_1km').subtract(image.select('LST_Day_1km'));

Map.addLayer(dLST, {min: -2, max: 2, palette: ['blue','white','red']}, 'Difference LST');


Как и ожидалось, маскировать данные нужно. Даже если это композиты и даже если рассматривается относительно малооблачный период.

Код примера: https://code.earthengine.google.com/488132bd7f12eb4b0bb01a21282e0b13

#GEE