В этом руководстве содержится достаточно информации о JavaScript, чтобы вы могли начать писать скрипты Earth Engine. Более подробные руководства по JavaScript можно найти на сайте Mozilla для разработчиков. Введение в программирование с примерами на JavaScript можно найти в книге Выразительный JavaScript. Рекомендации по стилю кода JavaScript можно найти в руководстве по стилю кода JavaScript от Google. В этом руководстве вы будете писать код 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);
iWork Numbers
Обратите внимание, что переменные определяются с помощью ключевого слова 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. Название переменной может быть любым. Оно определяет, как вызывать функцию в дальнейшем. В скобках после названия функции указаны названия параметров (parameter1, parameter2, parameter3). Они могут быть любыми, но лучше, чтобы они были уникальными и не совпадали с названиями, используемыми в коде за пределами функции. Эти имена будут использоваться функцией для ссылки на значения, которые передаются в функцию при ее вызове. Значение параметра, переданное в функцию, называется аргументом. Хотя функции могут использовать переменные, объявленные за их пределами (глобальные переменные), аргументы функций не видны за пределами функций. Функции могут принимать любое количество параметров, даже ноль. Вот простой пример функции, которая просто возвращает свой аргумент:
Редактор кода (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 также есть множество встроенных функций. Чтобы узнать больше об этих встроенных функциях, откройте вкладку Docs (Документы) в редакторе кода. Вот очень простой пример функции Earth Engine:
Редактор кода (JavaScript)
var aString = ee.Algorithms.String(42);
В следующем разделе вы узнаете больше об объектах и методах Earth Engine.