ee.Image.select

Selects bands from an image.

Returns an image with the selected bands.

UsageReturns
Image.select(var_args)Image
ArgumentTypeDetails
this: imageImageThe Image instance.
var_argsVarArgsOne of two possibilities:
  • Any number of non-list arguments. All of these will be interpreted as band selectors. These can be band names, regexes, or numeric indices. E.g. selected = image.select('a', 'b', 3, 'd');
  • Two lists. The first will be used as band selectors and the second as new names for the selected bands. The number of new names must match the number of selected bands. E.g. selected = image.select(['a', 4], ['newA', 'newB']);

Examples

Code Editor (JavaScript)

// A Sentinel-2 surface reflectance image.
var img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG');
print('All band names', img.bandNames());

print('Select a band by name',
      img.select('B11').bandNames());

print('Select a band by index',
      img.select(10).bandNames());

print('Select bands using a list',
      img.select(['B11', 'B8', 'B3']).bandNames());

print('Select bands by an argument series',
      img.select('B11', 'B8', 'B3').bandNames());

print('Mixing string and integer selectors is valid',
      img.select(10, 'B8', 2).bandNames());

print('Rename selected bands using two corresponding lists',
      img.select(['B11', 'B8', 'B3'], ['SWIR1', 'NIR', 'Green']).bandNames());

// Use regular expressions to select bands.
print('Match "QA" followed by any two characters',
      img.select('QA..').bandNames());

print('Match "B" followed by any character, any number of times',
      img.select('B.*').bandNames());

print('Match "B" followed by any character, and any optional third character',
      img.select('B..?').bandNames());

print('Match "B" followed by a character in the range 6-8',
      img.select('B[6-8]').bandNames());

print('Match "B" followed by a character in the range 1-9 and then 1-2',
      img.select('B[1-9][1-2]').bandNames());

print('Match "B" or "QA" each followed by any character, any number of times.',
      img.select('B.*|QA.*').bandNames());

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 Sentinel-2 surface reflectance image.
img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG')
print('All band names:', img.bandNames().getInfo())

print('Select a band by name:', img.select('B11').bandNames().getInfo())

print('Select a band by index:', img.select(10).bandNames().getInfo())

print('Select bands using a list:',
      img.select(['B11', 'B8', 'B3']).bandNames().getInfo())

print('Select bands by an argument series:',
      img.select('B11', 'B8', 'B3').bandNames().getInfo())

print('Mixing string and integer selectors is valid:',
      img.select(10, 'B8', 2).bandNames().getInfo())

print('Rename selected bands using two corresponding lists:',
      img.select(['B11', 'B8', 'B3'], ['SWIR1', 'NIR', 'Green'])
      .bandNames().getInfo())

# Use regular expressions to select bands.
print('Match "QA" followed by any two characters:',
      img.select('QA..').bandNames().getInfo())

print('Match "B" followed by any character, any number of times:',
      img.select('B.*').bandNames().getInfo())

print('Match "B" followed by any character, and any optional third character',
      img.select('B..?').bandNames().getInfo())

print('Match "B" followed by a character in the range 6-8',
      img.select('B[6-8]').bandNames().getInfo())

print('Match "B" followed by a character in the range 1-9 and then 1-2',
      img.select('B[1-9][1-2]').bandNames().getInfo())

print('Match "B" or "QA" each followed by any character, any number of times.',
      img.select('B.*|QA.*').bandNames().getInfo())