AI-generated Key Takeaways
-
copyProperties()
transfers metadata properties from a source element to a destination element in Earth Engine. -
You can copy all properties, a specified list of properties, or all properties except those in an exclusion list.
-
This function is useful for maintaining metadata consistency when manipulating Earth Engine objects, such as copying image metadata to a FeatureCollection derived from it.
-
The function returns the modified destination element with the copied properties.
Usage | Returns |
---|---|
FeatureCollection.copyProperties(source, properties, exclude) | Element |
Argument | Type | Details |
---|---|---|
this: destination | Element, default: null | The object whose properties to override. |
source | Element, default: null | The object from which to copy the properties. |
properties | List, default: null | The properties to copy. If omitted, all ordinary (i.e. non-system) properties are copied. |
exclude | List, default: null | The list of properties to exclude when copying all properties. Must not be specified if properties is. |
Examples
Code Editor (JavaScript)
// Import a Landsat 8 surface reflectance image to sample. var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_038032_20170722') // Select the optical bands. .select(['SR_B.']); // Get the image geometry to define the geographical bounds of the sample. var imageBounds = image.geometry(); // Sample the image at a set of random points; a feature collection is returned. var pointSampleFc = image.sample( {region: imageBounds, scale: 30, numPixels: 5, geometries: true}); // Copy image properties to the FeatureCollection; three options follow. print('All non-system image properties copied to the FeatureCollection', pointSampleFc.copyProperties(image)); print('Selected image properties copied to the FeatureCollection', pointSampleFc.copyProperties({ source: image, properties: ['system:time_start', 'SPACECRAFT_ID'] })); print('All but selected image properties copied to the FeatureCollection', pointSampleFc.copyProperties({ source: image, exclude: ['TIRS_SSM_MODEL', 'TIRS_SSM_POSITION_STATUS'] }));
import ee import geemap.core as geemap
Colab (Python)
# Import a Landsat 8 surface reflectance image to sample. image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_038032_20170722').select( # Select the optical bands. ['SR_B.']) # Get the image geometry to define the geographical bounds of the sample. image_bounds = image.geometry() # Sample the image at a set of random points; a feature collection is returned. point_sample_fc = image.sample( **{'region': image_bounds, 'scale': 30, 'numPixels': 5, 'geometries': True}) # Copy image properties to the FeatureCollection; three options follow. print('All non-system image properties copied to the FeatureCollection:', point_sample_fc.copyProperties(image).getInfo()) print('Selected image properties copied to the FeatureCollection:', point_sample_fc.copyProperties(**{ 'source': image, 'properties': ['system:time_start', 'SPACECRAFT_ID'] }).getInfo()) print('All but selected image properties copied to the FeatureCollection:', point_sample_fc.copyProperties(**{ 'source': image, 'exclude': ['TIRS_SSM_MODEL', 'TIRS_SSM_POSITION_STATUS'] }).getInfo())