Начало работы с Earth Engine для Python

В этом кратком руководстве вы познакомитесь с интерактивным введением в визуализацию и анализ геопространственных данных с помощью интерфейса Python Earth Engine.

Прежде чем начать

Зарегистрируйте или создайте проект Google Cloud; вам будет предложено выполнить следующие шаги. Если у вас уже есть проект, зарегистрированный для доступа к Earth Engine, перейдите к следующему разделу.

  • Выберите цель проекта: коммерческая или некоммерческая.
  • Если цель некоммерческая, выберите тип проекта.
  • Создайте новый проект Google Cloud или выберите существующий проект.
  • Если цель коммерческая, проверьте или настройте оплату для своего проекта.
  • Подтвердите информацию о своем проекте.

    Примечание. Если вы не планируете сохранять ресурсы, созданные в ходе этой процедуры, создайте проект вместо выбора существующего проекта. После выполнения этих действий вы можете удалить проект , удалив все ресурсы, принадлежащие проекту.

Настройка ноутбука

Блокноты Jupyter позволяют использовать Earth Engine и просматривать результаты в интерактивном режиме. Самый быстрый способ начать — использовать блокнот в блокноте Google Colab. Вы можете либо открыть новую записную книжку и скопировать следующие фрагменты кода в отдельные ячейки, либо использовать предварительно заполненную записную книжку Earth Engine Python Quickstart .
  1. Импортируйте библиотеки Earth Engine и Geemap.
    import ee
    import geemap.core as geemap

  1. Аутентификация и инициализация службы Earth Engine. Следуйте появившимся подсказкам для завершения аутентификации. Обязательно замените PROJECT_ID именем проекта, который вы настроили для этого краткого руководства.
    ee.Authenticate()
    ee.Initialize(project='PROJECT_ID')

Добавление растровых данных на карту

  1. Загрузите климатические данные за определенный период и отобразите их метаданные.
    jan_2023_climate = (
        ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR')
        .filterDate('2023-01', '2023-02')
        .first()
    )
    jan_2023_climate

  1. Создайте экземпляр объекта карты и добавьте температурный диапазон в виде слоя с определенными свойствами визуализации. Покажите карту.
    m = geemap.Map(center=[30, 0], zoom=2)
    
    vis_params = {
        'bands': ['temperature_2m'],
        'min': 229,
        'max': 304,
        'palette': 'inferno',
    }
    m.add_layer(jan_2023_climate, vis_params, 'Temperature (K)')
    m

Добавление векторных данных на карту

  1. Создайте объект векторных данных с точками для трех городов.
    cities = ee.FeatureCollection([
        ee.Feature(ee.Geometry.Point(10.75, 59.91), {'city': 'Oslo'}),
        ee.Feature(ee.Geometry.Point(-118.24, 34.05), {'city': 'Los Angeles'}),
        ee.Feature(ee.Geometry.Point(103.83, 1.33), {'city': 'Singapore'}),
    ])
    cities
  1. Добавьте местоположения городов на карту и отобразите ее заново.
    m.add_layer(cities, name='Cities')
    m

Извлечение и отображение данных

  1. Импортируйте библиотеку диаграмм Altair.
    %pip install -q --upgrade altair
    import altair as alt

  1. Извлеките климатические данные для трех городов в виде DataFrame pandas.
    city_climates = jan_2023_climate.reduceRegions(cities, ee.Reducer.first())
    
    city_climates_dataframe = ee.data.computeFeatures(
        {'expression': city_climates, 'fileFormat': 'PANDAS_DATAFRAME'}
    )
    city_climates_dataframe
  1. Постройте температуру в городах в виде гистограммы.
    alt.Chart(city_climates_dataframe).mark_bar(size=100).encode(
        alt.X('city:N', sort='y', axis=alt.Axis(labelAngle=0), title='City'),
        alt.Y('temperature_2m:Q', title='Temperature (K)'),
        tooltip=[
            alt.Tooltip('city:N', title='City'),
            alt.Tooltip('temperature_2m:Q', title='Temperature (K)'),
        ],
    ).properties(title='January 2023 temperature for selected cities', width=500)

Что дальше