Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.FeatureCollection.copyProperties
Stay organized with collections
Save and categorize content based on your preferences.
Copies metadata properties from one element to another.
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']
}));
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
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())
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-13 UTC.
[null,null,["Last updated 2024-07-13 UTC."],[[["\u003cp\u003e\u003ccode\u003ecopyProperties()\u003c/code\u003e transfers metadata properties from a source element to a destination element in Earth Engine.\u003c/p\u003e\n"],["\u003cp\u003eYou can copy all properties, a specified list of properties, or all properties except those in an exclusion list.\u003c/p\u003e\n"],["\u003cp\u003eThis function is useful for maintaining metadata consistency when manipulating Earth Engine objects, such as copying image metadata to a FeatureCollection derived from it.\u003c/p\u003e\n"],["\u003cp\u003eThe function returns the modified destination element with the copied properties.\u003c/p\u003e\n"]]],[],null,["# ee.FeatureCollection.copyProperties\n\nCopies metadata properties from one element to another.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------------------------------------------|---------|\n| FeatureCollection.copyProperties`(`*source* `, `*properties* `, `*exclude*`)` | Element |\n\n| Argument | Type | Details |\n|---------------------|------------------------|--------------------------------------------------------------------------------------------------------|\n| this: `destination` | Element, default: null | The object whose properties to override. |\n| `source` | Element, default: null | The object from which to copy the properties. |\n| `properties` | List, default: null | The properties to copy. If omitted, all ordinary (i.e. non-system) properties are copied. |\n| `exclude` | List, default: null | The list of properties to exclude when copying all properties. Must not be specified if properties is. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Import a Landsat 8 surface reflectance image to sample.\nvar image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_038032_20170722')\n // Select the optical bands.\n .select(['SR_B.']);\n\n// Get the image geometry to define the geographical bounds of the sample.\nvar imageBounds = image.geometry();\n\n// Sample the image at a set of random points; a feature collection is returned.\nvar pointSampleFc = image.sample(\n {region: imageBounds, scale: 30, numPixels: 5, geometries: true});\n\n// Copy image properties to the FeatureCollection; three options follow.\nprint('All non-system image properties copied to the FeatureCollection',\n pointSampleFc.copyProperties(image));\n\nprint('Selected image properties copied to the FeatureCollection',\n pointSampleFc.copyProperties({\n source: image,\n properties: ['system:time_start', 'SPACECRAFT_ID']\n }));\n\nprint('All but selected image properties copied to the FeatureCollection',\n pointSampleFc.copyProperties({\n source: image,\n exclude: ['TIRS_SSM_MODEL', 'TIRS_SSM_POSITION_STATUS']\n }));\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Import a Landsat 8 surface reflectance image to sample.\nimage = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_038032_20170722').select(\n # Select the optical bands.\n ['SR_B.'])\n\n# Get the image geometry to define the geographical bounds of the sample.\nimage_bounds = image.geometry()\n\n# Sample the image at a set of random points; a feature collection is returned.\npoint_sample_fc = image.sample(\n **{'region': image_bounds, 'scale': 30, 'numPixels': 5, 'geometries': True})\n\n# Copy image properties to the FeatureCollection; three options follow.\nprint('All non-system image properties copied to the FeatureCollection:',\n point_sample_fc.copyProperties(image).getInfo())\n\nprint('Selected image properties copied to the FeatureCollection:',\n point_sample_fc.copyProperties(**{\n 'source': image,\n 'properties': ['system:time_start', 'SPACECRAFT_ID']\n }).getInfo())\n\nprint('All but selected image properties copied to the FeatureCollection:',\n point_sample_fc.copyProperties(**{\n 'source': image,\n 'exclude': ['TIRS_SSM_MODEL', 'TIRS_SSM_POSITION_STATUS']\n }).getInfo())\n```"]]