Простые соединения

Простое соединение возвращает элементы из primary коллекции, которые соответствуют любому элементу во secondary коллекции в соответствии с условием соответствия в фильтре. Чтобы выполнить простое соединение, используйте ee.Join.simple() . Это может быть полезно для поиска общих элементов в разных коллекциях или фильтрации одной коллекции по другой. Например, рассмотрим две коллекции изображений, которые (могут) иметь некоторые совпадающие элементы, где «совпадение» определяется условием, указанным в фильтре. Например, пусть совпадение означает, что идентификаторы изображений равны. Поскольку совпадающие изображения в обеих коллекциях одинаковы, используйте простое соединение, чтобы обнаружить этот набор совпадающих изображений:

Редактор кода (JavaScript)

// Load a Landsat 8 image collection at a point of interest.
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
    .filterBounds(ee.Geometry.Point(-122.09, 37.42));

// Define start and end dates with which to filter the collections.
var april = '2014-04-01';
var may = '2014-05-01';
var june = '2014-06-01';
var july = '2014-07-01';

// The primary collection is Landsat images from April to June.
var primary = collection.filterDate(april, june);

// The secondary collection is Landsat images from May to July.
var secondary = collection.filterDate(may, july);

// Use an equals filter to define how the collections match.
var filter = ee.Filter.equals({
  leftField: 'system:index',
  rightField: 'system:index'
});

// Create the join.
var simpleJoin = ee.Join.simple();

// Apply the join.
var simpleJoined = simpleJoin.apply(primary, secondary, filter);

// Display the result.
print('Simple join: ', simpleJoined);

Настройка Python

См. страницу «Среда Python» для получения информации об API Python и использовании geemap для интерактивной разработки.

import ee
import geemap.core as geemap

Колаб (Питон)

# Load a Landsat 8 image collection at a point of interest.
collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA').filterBounds(
    ee.Geometry.Point(-122.09, 37.42)
)

# Define start and end dates with which to filter the collections.
april = '2014-04-01'
may = '2014-05-01'
june = '2014-06-01'
july = '2014-07-01'

# The primary collection is Landsat images from April to June.
primary = collection.filterDate(april, june)

# The secondary collection is Landsat images from May to July.
secondary = collection.filterDate(may, july)

# Use an equals filter to define how the collections match.
filter = ee.Filter.equals(leftField='system:index', rightField='system:index')

# Create the join.
simple_join = ee.Join.simple()

# Apply the join.
simple_joined = simple_join.apply(primary, secondary, filter)

# Display the result.
display('Simple join:', simple_joined)

В предыдущем примере обратите внимание, что коллекции, к которым нужно присоединиться, перекрываются во времени примерно на месяц. Обратите внимание, что при применении этого соединения на выходе будет ImageCollection только с совпадающими изображениями из primary коллекции. Вывод должен выглядеть примерно так:

Image LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140505 (17 bands)
Image LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140521 (17 bands)

Эти выходные данные показывают, что два изображения совпадают (как указано в фильтре) между primary и secondary коллекциями: изображения от 5 мая и 21 мая.