В этом руководстве рассматривается лишь достаточный объём кода JavaScript для начала написания скриптов Earth Engine. Более подробные руководства по JavaScript см. в этих ресурсах для разработчиков Mozilla . Введение в программирование с примерами на JavaScript см. в разделе Eloquent JavaScript . Рекомендации по стилю кодирования JavaScript см. в руководстве Google JavaScript Style Guide . В этом руководстве вы напишете код JavaScript в редакторе кода Earth Engine. Перед началом работы ознакомьтесь с руководством по редактору кода.
Привет, мир!
Пора написать свой первый JavaScript-код для Earth Engine! В браузере Chrome перейдите на сайт code.earthengine.google.com и скопируйте следующий код в редактор кода :
Редактор кода (JavaScript)
print('Hello World!');
Нажмите кнопку «Выполнить» и увидите, что на вкладке «Консоль» выводится сообщение «Hello world!». Строка выше — это оператор JavaScript. В JavaScript операторы заканчиваются точкой с запятой. Программы Earth Engine состоят из набора таких операторов. Вы можете предотвратить запуск кода, не удаляя его, закомментировав его. Один из способов закомментировать код — добавить две косые черты //
перед кодом, который вы не хотите запускать. Например:
Редактор кода (JavaScript)
// print('Hello World!');
Хорошей практикой является добавление большого количества комментариев в код, чтобы описать, что вы пытаетесь сделать. Также полезно удалять закомментированный код, который больше ничего не делает. Оба эти подхода улучшат читаемость кода.
Основные типы данных JavaScript
Струны
Использование переменных для хранения объектов и примитивов улучшает читаемость кода. Например, переменная, хранящая строковый объект, определяется одинарными кавычками '
или двойными кавычками "
(но не смешивайте их), причём предпочтительны одинарные кавычки . Создайте новую строку и сохраните её в переменной greetString
: Редактор кода (JavaScript)
// Use single (or double) quotes to make a string.
var greetString = 'Ahoy there!';
// Use parentheses to pass arguments to functions.
print(greetString);
Числа
Обратите внимание, что переменные определяются с помощью ключевого слова var
. Переменные также могут хранить числа:
Редактор кода (JavaScript)
// Store a number in a variable. var number = 42; print('The answer is:', number);
В этом примере обратите внимание, что когда print()
передает два аргумента, разделенных запятыми, каждый аргумент выводится на отдельной строке.
Списки
Списки определяются квадратными скобками []
. Список чисел, например:
Редактор кода (JavaScript)
// Use square brackets [] to make a list. var listOfNumbers = [0, 1, 1, 2, 3, 5]; print('List of numbers:', listOfNumbers);
Списки также могут хранить строки и другие объекты. Например:
Редактор кода (JavaScript)
// Make a list of strings.
var listOfStrings = ['a', 'b', 'c', 'd'];
print('List of strings:', listOfStrings);
Объекты
Объекты в JavaScript — это словари пар key: value
». Создайте объект (или словарь) с помощью фигурных скобок {}
, например:
Редактор кода (JavaScript)
// Use curly brackets {} to make a dictionary of key:value pairs. var object = { foo: 'bar', baz: 13, stuff: ['this', 'that', 'the other thing'] }; print('Dictionary:', object); // Access dictionary items using square brackets. print('Print foo:', object['foo']); // Access dictionary items using dot notation. print('Print stuff:', object.stuff);
Обратите внимание, что вы можете получить значение из словаря, указав ключ. В этом примере показано, как это сделать для объектов JavaScript. Позже вы узнаете, как это сделать для словарей на сервере Earth Engine.
Функции
Функции — это ещё один способ улучшить читаемость кода и возможность повторного использования путём группировки наборов операций. Определите функцию с помощью ключевого слова function
. Имена функций начинаются с буквы и заканчиваются парой скобок. Функции часто принимают параметры , которые сообщают функции, что делать. Эти параметры заключаются в скобки ()
. Набор операторов, составляющих функцию, заключается в фигурные скобки. Ключевое слово return
указывает, что функция вернёт. Существует несколько способов объявить функцию, но здесь мы будем использовать что-то вроде этого:
Редактор кода (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
Давайте рассмотрим строки одну за другой. Первая строка создаёт новую функцию и присваивает её переменной myFunction
. Эта переменная может иметь любое имя. Она определяет, как вызывать функцию в дальнейшем. Термины в скобках после имени функции (например, параметр1, параметр2, параметр3) — это имена параметров, которые также могут иметь любое имя, хотя рекомендуется давать им уникальные имена, отличающиеся от кода вне функции. Как бы вы их ни назвали, именно эти имена функция будет использовать для ссылки на значения, передаваемые в функцию при её вызове. Значение параметра после того, как он был передан в функцию, называется аргументом . Хотя функции могут использовать переменные, объявленные вне функции ( глобальные переменные), аргументы функции не видны вне функции. Функции могут принимать любое количество параметров, даже ноль. Вот простой пример функции, которая просто возвращает свой аргумент:
Редактор кода (JavaScript)
// The reflect function takes a single parameter: element. var reflect = function(element) { // Return the argument. return element; }; print('A good day to you!', reflect('Back at you!'));
Это пример пользовательской функции. Существует также множество встроенных функций Earth Engine. Подробнее об этих встроенных функциях можно узнать на вкладке «Документация» редактора кода. Вот очень простой пример функции Earth Engine:
Редактор кода (JavaScript)
var aString = ee.Algorithms.String(42);
В следующем разделе вы узнаете больше об объектах и методах Earth Engine .