Uma mesclagem simples retorna elementos da coleção primary
que correspondem a qualquer elemento da coleção secondary
de acordo com a condição de correspondência no filtro. Para realizar uma mesclagem simples, use um ee.Join.simple()
. Isso pode
ser útil para encontrar elementos comuns entre coleções diferentes ou filtrar
uma coleção por outra. Por exemplo, considere duas coleções de imagens que (podem)
ter alguns elementos correspondentes, em que "correspondência" é definida pela condição especificada em
um filtro. Por exemplo, vamos supor que a correspondência signifique que os IDs das imagens são iguais. Como as imagens correspondentes
nas duas coleções são iguais, use uma mesclagem simples para descobrir este conjunto de
imagens correspondentes:
Editor de código (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);
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)
No exemplo anterior, observe que as coleções a serem mescladas se sobrepõem temporalmente em cerca de um mês. Quando essa mesclagem é aplicada, a saída é um
ImageCollection
com apenas as imagens correspondentes na coleção
primary
. A saída será semelhante a esta:
Image LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140505 (17 bands) Image LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140521 (17 bands)
Essa saída mostra que duas imagens correspondem (conforme especificado no filtro) entre as coleções primary
e secondary
, imagens de 5 de maio e 21 de maio.