API пользовательского интерфейса Earth Engine

Earth Engine предоставляет доступ к виджетам пользовательского интерфейса (UI) на стороне клиента через пакет ui . Используйте пакет ui для создания графических интерфейсов для сценариев Earth Engine. Эти интерфейсы могут включать в себя простые виджеты ввода, такие как кнопки и флажки, более сложные виджеты, такие как диаграммы и карты, панели для управления макетом пользовательского интерфейса и обработчики событий для взаимодействия между виджетами пользовательского интерфейса. Изучите полную функциональность API ui на вкладке «Документы» в левой части редактора кода. В следующем примере пакет ui используется для иллюстрации основных функций для создания виджета, определения поведения, когда пользователь щелкает виджет, и отображения виджета.

Привет, мир!

В этом примере представлен простой пользовательский интерфейс кнопки, отображаемой в консоли. Нажатие кнопки приводит к появлению сообщения «Привет, мир!». вывод на консоль:

// Make a button widget.
var button = ui.Button('Click me!');

// Set a callback function to run when the
// button is clicked.
button.onClick(function() {
  print('Hello, world!');
});

// Display the button in the console.
print(button);

Обратите внимание, что сначала кнопка создается с одним аргументом: ее меткой. Затем вызывается функция onClick() кнопки. Аргумент onClick() — это еще одна функция, которая будет запускаться при каждом нажатии кнопки. Этот механизм вызова функции (функция «обратного вызова») при возникновении события называется «обработчиком событий» и широко используется в библиотеке пользовательского интерфейса. В этом примере при нажатии кнопки функция печатает «Hello, world!». на консоль.

Мутабельность

Обратите внимание, что в отличие от объектов в пространстве ee.* , объекты в пространстве имен ui.* являются изменяемыми. Таким образом, вам не нужно переназначать объект переменной каждый раз, когда вы вызываете функцию экземпляра объекта. Простой вызов функции приведет к мутации (изменению) виджета. Добавление следующего кода к предыдущему примеру приводит к регистрации другого обратного вызова для события нажатия кнопки:

// Set another callback function on the button.
button.onClick(function() {
  print('Oh, yeah!');
});

Скопируйте этот код в конец предыдущего примера и нажмите «Выполнить» . Теперь, когда вы нажимаете кнопку, оба сообщения выводятся на консоль.

Используйте страницы пользовательского интерфейса, чтобы узнать больше о создании пользовательских интерфейсов для сценариев Earth Engine. Страница «Виджеты» представляет собой визуальный тур и описывает основные функции виджетов в пакете ui . На странице «Панели и макеты» описаны контейнеры и макеты верхнего уровня, которые можно использовать для организации и расположения виджетов. На странице «События» содержится подробная информация о настройке поведения и взаимодействия виджетов в вашем пользовательском интерфейсе.