Теперь, когда вы готовы приступить к написанию JavaScript-кода для Earth Engine, начните с копирования следующего кода в редактор кода:
Редактор кода (JavaScript)
// Instantiate an image with the Image constructor. var image = ee.Image('CGIAR/SRTM90_V4'); // Zoom to a location. Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon. // Display the image on the map. Map.addLayer(image);
Нажмите кнопку «Выполнить» в верхней части редактора кода и обратите внимание, что на карте появилось очень серое изображение. Не волнуйтесь, скоро вы исправите ситуацию. Если синтаксис какой-либо части этого примера вам незнаком, обязательно ознакомьтесь с руководством по JavaScript для Earth Engine .
Конструктор изображения
Первое нововведение в этом примере — конструктор изображений ee.Image()
. Аргумент, передаваемый конструктору, — это строковый идентификатор изображения в каталоге данных Earth Engine. (Полный список возможных аргументов конструктора изображений см. на вкладке «Документация» в левой части редактора кода. На вкладке «Документация» представлена самая актуальная информация о возможностях Earth Engine.)
Чтобы узнать идентификатор изображения, выполните поиск в каталоге данных Earth Engine с помощью инструмента поиска в верхней части редактора кода. Например, введите «elevation» в поле поиска и обратите внимание, что будет возвращен список растров. Щёлкните по записи «SRTM Digital Elevation Data Version 4», чтобы получить дополнительную информацию об этом наборе данных. Справа от описания набора данных находится поле «Идентификатор изображения» . Обратите внимание, что идентификатор изображения в примере скопирован из идентификатора изображения, указанного в описании набора данных.
Альтернативой копированию и вставке идентификаторов изображений является использование кнопки «Импорт» в описании набора данных или ссылки «Импорт » в правой части результатов поиска. При нажатии ссылки или кнопки «Импорт» в специальном разделе «Импорт» в верхней части скрипта автоматически создается переменная. Вы можете переименовать переменную, щелкнув ее имя в разделе «Импорт».
Настройка карты
Вторая новая часть этого примера — вызов Map.setCenter()
. Этот метод объекта Map
, представляющего отображение карты в редакторе кода, центрирует карту по заданным долготе, широте (в десятичных градусах) и уровню масштабирования , где 1 соответствует уменьшению масштаба, так что карта отображает всю поверхность Земли. Более крупные значения увеличивают масштаб. Подробнее о методах объекта Map
можно узнать в разделе «Карта» на вкладке «Документация» в левой части редактора кода.
Добавление слоя на карту
Последняя строка примера гласит: используйте метод addLayer()
объекта Map
, чтобы добавить изображение на отображение карты в редакторе кода.
Поздравляем! Вы создали свой первый скрипт Earth Engine. В следующем разделе вы узнаете, как сделать это изображение немного лучше.
Отступление: изображения в Earth Engine
Изображения в Earth Engine (подробнее см. на этой странице ) состоят из одного или нескольких каналов. Каждый канал изображения имеет своё название, значения пикселей, разрешение и проекцию. Как вы скоро обнаружите, изображение SRTM состоит из одного канала: «высота».
Когда вы добавляете изображение на карту с помощью Map.addLayer()
, Earth Engine необходимо определить, как сопоставить значения в каналах изображения с цветами на дисплее. Если на карту добавляется одноканальное изображение, по умолчанию Earth Engine отображает канал в оттенках серого, где минимальное значение назначается черному, а максимальное — белому. Если вы не укажете минимальное и максимальное значения, Earth Engine будет использовать значения по умолчанию. Например, изображение, которое вы только что добавили на карту, отображается как изображение в оттенках серого, растянутое на весь диапазон данных, или как знаковое 16-битное целое число [-32768, 32767]. (каналы float
растягиваются до [0, 1], а byte
— до [0, 255] по умолчанию).
Вы можете узнать тип данных изображения, распечатав его и проверив объект изображения на вкладке «Консоль» . Например, вставьте следующий код после предыдущего:
Редактор кода (JavaScript)
print('SRTM image', image);
При нажатии кнопки «Выполнить» обратите внимание, что в консоли появляется объект. Чтобы просмотреть свойства объекта, разверните его, нажав на значок с застежкой ( ) слева от объекта или свойства. Разверните объект изображения, свойство «bands», полосу «elevation» с индексом «0» и свойство «data_type» полосы «elevation», чтобы обнаружить, что это
signed int16
.
Настройка визуализации слоя
Чтобы изменить способ растяжения данных, можно указать ещё один параметр в вызове Map.addLayer()
. В частности, второй параметр, visParams
, позволяет указать минимальное и максимальное значения для отображения. Чтобы узнать, какие значения использовать, откройте вкладку «Инспектор» и щёлкните по карте, чтобы получить представление о диапазоне значений пикселей. В качестве альтернативы, можно использовать менеджер слоёв для интерактивного растяжения данных, а затем наблюдать минимальное и максимальное значения, соответствующие процентилям или растяжениям стандартного отклонения. Предположим, что в результате таких экспериментов вы определили, что данные следует растянуть до диапазона [0, 3000]. Чтобы отобразить изображение в этом диапазоне, используйте:
Редактор кода (JavaScript)
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
Обратите внимание, что параметр visParams
— это объект со свойствами, определяющими min
и max
. (Подробнее об объектах JavaScript см. в руководстве по JavaScript или в этой внешней ссылке ). Обратите внимание, что третий параметр метода Map.addLayer()
— это имя слоя, отображаемого в менеджере слоёв . Результат должен выглядеть примерно так, как показано на рисунке 1. Наведите указатель мыши на поле «Слои» справа, чтобы увидеть результат переименования слоя.

Чтобы отобразить одну полосу с использованием цветовой палитры, добавьте свойство palette
к объекту visParams
:
Редактор кода (JavaScript)
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']}, 'custom palette');
Результат должен выглядеть примерно как рисунок 2.

Отказ: палитры
Палитры позволяют задать цветовую схему для одноканальных изображений. Палитра — это список цветовых строк, разделенных запятыми, которые линейно интерполируются между максимальным и минимальным значениями параметров визуализации (или значениями по умолчанию в зависимости от типа канала, как описано ранее). Например, пиксели, цвет которых меньше или равен минимальному, будут отображаться первым цветом в списке; пиксели, цвет которых больше или равен максимальному, будут отображаться последним цветом в списке. Промежуточные цвета линейно растягиваются до промежуточных значений пикселей.
Цвета определяются с помощью стандартной схемы значений цветов CSS (подробнее см. в этой внешней ссылке ). Цвета можно указывать по имени или в виде шестнадцатеричных строк, представляющих собой комбинацию красного, зелёного и синего. Наименьшее значение в любой из трёх позиций — 00 (представляющее десятичное число 0), а наибольшее — FF (представляющее десятичное число 255). Строка «000000» представляет чёрный цвет, «FFFFFF» — белый, «FF0000» — красный, «00FF00» — зелёный, а «0000FF» — синий. Подробнее см. в разделе «Цветовые палитры» . Другие варианты растягивания возможны с помощью стилизованных дескрипторов слоёв, как описано в этом разделе .
Далее в этом руководстве вы узнаете, как отображать многоканальные изображения. Но сначала посетите следующую страницу, чтобы узнать о вычислениях с изображениями.