Una unión simple muestra elementos de la colección primary
que coinciden con cualquier elemento de la colección secondary
según la condición de coincidencia del filtro. Para realizar una unión simple, usa un ee.Join.simple()
. Esto puede ser útil para encontrar los elementos comunes entre diferentes colecciones o filtrar una colección por otra. Por ejemplo, considera dos colecciones de imágenes que (podrían) tener algunos elementos coincidentes, donde "coincidencia" se define según la condición especificada en un filtro. Por ejemplo, supongamos que la coincidencia significa que los IDs de las imágenes son iguales. Dado que las imágenes que coinciden en ambas colecciones son las mismas, usa una combinación simple para descubrir este conjunto de imágenes que coinciden:
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)
En el ejemplo anterior, observa que las colecciones que se unirán se superponen temporalmente en aproximadamente un mes. Ten en cuenta que, cuando se aplique esta unión, el resultado será un ImageCollection
con solo las imágenes coincidentes en la colección primary
. El resultado debería ser similar al siguiente:
Image LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140505 (17 bands) Image LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140521 (17 bands)
En este resultado, se muestra que dos imágenes coinciden (como se especifica en el filtro) entre las colecciones primary
y secondary
, las imágenes del 5 y el 21 de mayo.