Google Earth Engine (GEE), для тех, кто не знает, - это платформа, которая позволяет обрабатывать спутниковые снимки прямо в облаке. Он включает в себя Javascript IDE (текстовый редактор + интерпретатор), а также обширный архив изображений, полученных со спутников, таких как: Sentinel-1, Sentinel-2 и Landsat-8, среди других.

Чтобы зарегистрироваться в GEE, необходима учетная запись Gmail. Все, что нужно сделать, это зайти в sign-up и зарегистрироваться, чтобы получить доступ к GEE. Как только заявка будет принята, должно быть получено электронное письмо следующего вида:

Спутниковые изображения, которые мы собираемся использовать в этом руководстве, хранятся непосредственно в облаке. Однако GEE дает вам возможность загружать свои собственные изображения из вкладки ресурсов, расположенной в левой части редактора (пока поддерживается только формат GeoTiff).

Базовые знания Javascript необходимы, чтобы разобраться в коде, написанном в редакторе GEE (впрочем, не нужно быть экспертом в JS, чтобы понимать функции GEE). Кроме того, GEE API и JS можно изучать одновременно. Хорошей отправной точкой являются официальные руководства, представленные на веб-сайте GEE, и API. Еще один замечательный ресурс для получения помощи в Интернете - это группа Google для разработчиков движка Google Планета Земля.

А теперь перейдем к самому интересному. Для начала загрузим и отобразим оптическое изображение Sentinel-2 из архива, используя фильтры дат и координат. Быстрый способ ознакомиться с документацией по каждой функции, которая будет использоваться в этом руководстве, - это найти ее на вкладке docs.

Во-первых, нам нужно загрузить архив изображений Sentinel-2 (ключевое слово var используется для объявления новой переменной в Javascript):

После этого мы отфильтруем предыдущую коллекцию изображений по дате. Мы также ограничиваем ту же коллекцию только изображениями, пересекающими геокоординаты (37 ° N, 3 ° E), которые соответствуют точке в Средиземном море (север Алжира, столица Алжира):

Мы выберем из отфильтрованной коллекции изображение с наименьшей облачностью, отсортировав коллекцию в порядке возрастания в соответствии с этим свойством и сохранив первое изображение в отдельной переменной:

Если вам интересно, откуда взялось свойство cloud-cover, вы можете использовать функцию print () для печати любой переменной аналогично тому, как console.log () используется в Javascript. Печать (коллекция) покажет на вкладке «Консоль» бэнды и свойства изображений в коллекции.

Наконец, мы покажем изображение на карте, расположенной под редактором. Изображение было увеличено по геокоординатам (37 ° N, 3 ° E), а затем изображение было добавлено в отдельный слой. Мы предоставляем полосы для отображения в виде массива, где B4, B3, B2 соответствуют красной, зеленой и синей полосам в продуктах Sentinel-2 соответственно. Также значения max и mix, указанные в качестве входных данных, служат для выравнивания гистограммы изображения (то есть, чтобы избежать слишком темных или слишком ярких изображений). Вы можете почувствовать значения, которые будут использоваться как min / max, отобразив изображение как есть (то есть без выравнивания) и проверив значения для некоторых пикселей в каждой полосе на вкладке Inspector:

Полученное изображение можно увидеть ниже:

Не забывайте аплодировать, если эта история была вам полезна.