12 Создание анимационных изображений
Библиотека earthengine (подробную документацию смотрите по ссылке) представляет собой обширный инструмент для обработки и визуализации пространственных данных. Далее вам необходимо произвести отработку, расчет и вывод данных с использованием вышеуказанной библиотеки. Для выполнения работы обязательным условием является подключение самой библиотеки:
import ee
1. Для работы с вышеуказанной библиотекой необходимо иметь аккаунт Google. Далее проходите регистрацию на портале Google Earth Engine для создания некоммерческого проекта. На вопросе использования Earth Engine, выбрать неоплачиваемое использование (unpaid usage) для образования и академических исследований: Project type → Academia & Research → Next. Далее создаете новый облачный проект: Create a new Google Cloud Project → Organization: No organization; ProjectID: your_login; Project Name: Earth Engine Default Project → Continue with registration. Подтверждаете выбор данных (confirm).
2. В среде разработки Jupyter Notebook от Google Colaboratory создаете новый блокнот → Создать блокнот. Вверху слева переименовываете безымянный Untitled блокнот как Practice_earthengine_1. Подключаете библиотеки Earth Engine и geemap (интерактивное сопровождение исходной библиотеки) в первой ячейке:
import ee
import geemap
3. Пройдите процедуру проверки:
ee.Authenticate()
Разрешите доступ к вашим учетным данным Google, произведите выбор аккаунта, подтвердите вход и дайте права доступа.
4. Подключаете проект:
ee.Initialize(project='your_login')
5. Подключаем интерактивный блок карты Map и рабочий массив GFS collection с информацией о температурных характеристиках. Задайте начальную и конечную даты в пределах суток по осенне-зимним месяцам прошлого года в формате YYYY-MM-DD. Подберите 6-8 цветов для палитры по названиям HTML, которые должны быть перечислены через запятую в кавычках. Укажите название для текущего слоя. Укажите долготные и широтные характеристики любого населенного пункта в пределах южной окраины Сибири.
Map = geemap.Map()
collection = ee.ImageCollection('NOAA/GFS0P25') \
.filterDate('укажите_начальную_дату', 'укажите_конечную_дату') \
.limit(24) \
.select('temperature_2m_above_ground')
vis_params = {
'min': -40.0,
'max': 35.0,
'palette': [подберите_цвета_для_палитры]
}
first_image = collection.first()
Map.addLayer(first_image, укажите_переменную_палитры, "Укажите_название_слоя")
Map.setCenter(укажите_долготу, укажите_широту, 6)
Map
Запустите ячейку, при допустимом отображении закомментируйте последнюю строчку кода через хэш # и запустите код в ячейке снова.
6. Формируем временной ряд изображений и настраиваем кнопку запуска:
image = collection.toBands()
Map.addLayer(image, {}, "Задайте_имя_для_временного_ряда", False)
labels = [str(n).zfill(2) + ":00" for n in range(0, 24)]
7. Подключаем слайдер, указываем время в пределах 1-2 часов и запускаем временной ряд.
Map.add_time_slider(переменная_рабочего_массива, переменная_палитры, labels=переменная_кнопки, time_interval=укажите_временной_интервал)
Map
Проверьте работу слайдера, перемещая ползунок. Скачайте скрипт: Файл → Скачать → Скачать IPYNB.
8. Создайте новый блокнот: Файл → Создать блокнот на Диске. Переименуйте блокнот как Practice_earthengine_2. Реализуйте код по пунктам 2-4 текущего задания.
9. Подключаем интерактивную карту Map и массив нормализованного вегетационного индекса в collection. Настраиваем начальную и конечную даты в пределах месяца от мая до июня в формате YYYY-MM-DD (коллекция доступна до начала 2023 года). Подберите цвета для палитры от белого–голубого до светло-зеленого–темно-зеленого. Укажите название для текущего слоя. Укажите долготные и широтные характеристики любого населенного пункта в пределах южной окраины Сибири.
Map = geemap.Map()
collection = ee.ImageCollection('MODIS/MCD43A4_006_NDVI') \
.filter(ee.Filter.date('укажите_начальную_дату', 'укажите_конечную_дату')) \
.select("NDVI")\
vis_params = {
'min': 0.0,
'max': 1.0,
'palette': [подберите_цвет_для_палитры],
}
first_image = collection.first()
Map.addLayer(first_image, укажите_переменную палитры, "Укажите_название_слоя")
Map.setCenter(укажите_долготу, укажите_широту, 6)
Map
Запустите ячейку, при допустимом отображении закомментируйте последнюю строчку кода через хэш # и запустите код в ячейке снова.
10. Формируем временной ряд изображений:
image = collection.toBands()
Map.addLayer(image, {}, "Укажите_название_временного_ряда", False)
11. Настраиваем кнопку временного ряда, подключаем слайдер, укажите время в итервале от 1 до 3:
labels = collection.aggregate_array("system:index").getInfo()
Map.add_time_slider(переменная_коллекции_изображений, переменная_палитры, labels=переменная_кнопки, time_interval=укажите_временной_интервал)
Проверьте работу слайдера, сдвигая ползунок. Скачайте скрипт: Файл → Скачать → Скачать IPYNB.
Заархивируйте и прикрепите скрипты в качестве ответа на задание.
Опубликован 26.12.2025 в 09:50
Заказ находится в архиве