Join Sederhana

Join sederhana menampilkan elemen dari koleksi primary yang cocok dengan elemen apa pun dalam koleksi secondary sesuai dengan kondisi kecocokan dalam filter. Untuk melakukan join sederhana, gunakan ee.Join.simple(). Hal ini mungkin berguna untuk menemukan elemen yang sama di antara koleksi yang berbeda atau memfilter satu koleksi berdasarkan koleksi lainnya. Misalnya, pertimbangkan dua koleksi gambar yang (mungkin) memiliki beberapa elemen yang cocok, dengan “kecocokan” ditentukan oleh kondisi yang ditentukan dalam filter. Misalnya, kecocokan berarti ID gambar sama. Karena gambar yang cocok di kedua koleksi sama, gunakan join sederhana untuk menemukan kumpulan gambar yang cocok ini:

Editor Kode (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);

Penyiapan Python

Lihat halaman Lingkungan Python untuk mengetahui informasi tentang Python API dan penggunaan geemap untuk pengembangan interaktif.

import ee
import geemap.core as geemap

Colab (Python)

# 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)

Pada contoh sebelumnya, amati bahwa koleksi yang akan digabungkan secara temporal tumpang-tindih selama sekitar sebulan. Perhatikan bahwa saat join ini diterapkan, output-nya akan berupa ImageCollection dengan hanya gambar yang cocok dalam koleksi primary. Outputnya akan terlihat seperti ini:

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

Output ini menunjukkan bahwa dua gambar cocok (seperti yang ditentukan dalam filter) antara koleksi primary dan secondary, gambar pada 5 Mei dan 21 Mei.