ee.ImageCollection.set

  • The set() method allows you to override metadata properties of an Element, such as an ImageCollection, using either a dictionary or key-value pairs.

  • It returns a new Element with the updated properties, leaving the original Element unchanged.

  • You can retrieve property values using methods like get(), getString(), getNumber(), and getArray(), and the toDictionary() method provides all properties as a dictionary.

  • When using get() to retrieve a property value, it's crucial to cast the result to the appropriate data type (e.g., ee.Number, ee.String) for use in further computations.

Overrides one or more metadata properties of an Element.

Returns the element with the specified properties overridden.

UsageReturns
ImageCollection.set(var_args)Element
ArgumentTypeDetails
this: elementElementThe Element instance.
var_argsVarArgs<Object>Either a dictionary of properties, or a vararg sequence of properties, e.g. key1, value1, key2, value2, ...

Examples

Code Editor (JavaScript)

// A contrived, empty image collection for simple demonstration.
var col = ee.ImageCollection([]);
print('Collection without properties', col);

// Set collection properties using a dictionary.
col = col.set({
  project_name: 'biomass_tracking',
  project_id: 3,
  plot_ids: ee.Array([7, 11, 20])
});

// Set collection properties using a series of key-value pairs.
col = col.set('project_year', 2018,
              'rgb_vis', 'false_color');

print('Collection with properties', col);

// Get a dictionary of collection property keys and values.
print('Property keys and values (ee.Dictionary)', col.toDictionary());

// Get the value of a collection property. To use the result of
// ee.ImageCollection.get in further computation, you need to cast it to the
// appropriate class, for example, ee.Number(result) or ee.String(result).
print('Project ID (ambiguous object)', col.get('project_id'));

// Get the value of a string collection property as an ee.String object.
print('Project name (ee.String)', col.getString('project_name'));

// Get the value of a numeric collection property as an ee.Number object.
print('Project year (ee.Number)', col.getNumber('project_year'));

// Get the value of an ee.Array collection property as an ee.Array object.
print('Plot IDs (ee.Array)', col.getArray('plot_ids'));

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)

# A contrived, empty image collection for simple demonstration.
col = ee.ImageCollection([])
print('Collection without properties:', col.getInfo())

# Set collection properties using a dictionary.
col = col.set({
    'project_name': 'biomass_tracking',
    'project_id': 3,
    'plot_ids': ee.Array([7, 11, 20])
})

# Set collection properties using a series of key-value pairs.
col = col.set('project_year', 2018,
              'rgb_vis', 'false_color')

print('Collection with properties:', col.getInfo())

# Get a dictionary of collection property keys and values.
print('Property keys and values (ee.Dictionary):', col.toDictionary().getInfo())

# Get the value of a collection property. To use the result of
# ee.ImageCollection.get in further computation, you need to cast it to the
# appropriate class, for example, ee.Number(result) or ee.String(result).
print('Project ID (ambiguous object):', col.get('project_id').getInfo())

# Get the value of a string collection property as an ee.String object.
print('Project name (ee.String):', col.getString('project_name').getInfo())

# Get the value of a numeric collection property as an ee.Number object.
print('Project year (ee.Number):', col.getNumber('project_year').getInfo())

# Get the value of an ee.Array collection property as an ee.Array object.
print('Plot IDs (ee.Array):', col.getArray('plot_ids').getInfo())