Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.
ee.ImageCollection.select
Stay organized with collections
Save and categorize content based on your preferences.
Select bands from each image in a collection.
Returns the image collection with selected bands.
Usage | Returns | ImageCollection.select(selectors, names) | ImageCollection |
Argument | Type | Details | this: imagecollection | ImageCollection | The ImageCollection instance. |
selectors | List<Object> | A list of names, regexes or numeric indices specifying the bands to select. |
names | List<String>, optional | A list of new names for the output bands. Must match the number of bands selected. |
Examples
Code Editor (JavaScript)
// A Sentinel-2 surface reflectance image collection.
var col = ee.ImageCollection('COPERNICUS/S2_SR')
.filterBounds(ee.Geometry.Point(-122.152, 37.336))
.filterDate('2021-01-01', '2021-02-01');
print('All band names', col.first().bandNames());
print('Select a band by name',
col.select('B11').first().bandNames());
print('Select a band by index',
col.select(10).first().bandNames());
print('Select bands using a list',
col.select(['B11', 'B8', 'B3']).first().bandNames());
print('Select bands by an argument series',
col.select('B11', 'B8', 'B3').first().bandNames());
print('Mixing string and integer selectors is valid',
col.select(10, 'B8', 2).first().bandNames());
print('Rename selected bands using two corresponding lists',
col.select(['B11', 'B8', 'B3'], ['SWIR1', 'NIR', 'Green'])
.first().bandNames());
// Use regular expressions to select bands.
print('Match "QA" followed by any two characters',
col.select('QA..').first().bandNames());
print('Match "B" followed by any character, any number of times',
col.select('B.*').first().bandNames());
print('Match "B" followed by any character, and any optional third character',
col.select('B..?').first().bandNames());
print('Match "B" followed by a character in the range 6-8',
col.select('B[6-8]').first().bandNames());
print('Match "B" followed by a character in the range 1-9 and then 1-2',
col.select('B[1-9][1-2]').first().bandNames());
print('Match "B" or "QA" each followed by any character, any number of times.',
col.select('B.*|QA.*').first().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 collection.
col = ee.ImageCollection('COPERNICUS/S2_SR').filterBounds(
ee.Geometry.Point(-122.152, 37.336)
).filterDate('2021-01-01', '2021-02-01')
print('All band names', col.first().bandNames().getInfo())
print('Select a band by name:',
col.select('B11').first().bandNames().getInfo())
print('Select a band by index:',
col.select(10).first().bandNames().getInfo())
print('Select bands using a list:',
col.select(['B11', 'B8', 'B3']).first().bandNames().getInfo())
print('Select bands by an argument series:',
col.select('B11', 'B8', 'B3').first().bandNames().getInfo())
print('Mixing string and integer selectors is valid:',
col.select(10, 'B8', 2).first().bandNames().getInfo())
print('Rename selected bands using two corresponding lists:',
col.select(['B11', 'B8', 'B3'], ['SWIR1', 'NIR', 'Green'])
.first().bandNames().getInfo())
# Use regular expressions to select bands.
print('Match "QA" followed by any two characters:',
col.select('QA..').first().bandNames().getInfo())
print('Match "B" followed by any character, any number of times:',
col.select('B.*').first().bandNames().getInfo())
print('Match "B" followed by any character, and any optional third character:',
col.select('B..?').first().bandNames().getInfo())
print('Match "B" followed by a character in the range 6-8:',
col.select('B[6-8]').first().bandNames().getInfo())
print('Match "B" followed by a character in the range 1-9 and then 1-2:',
col.select('B[1-9][1-2]').first().bandNames().getInfo())
print('Match "B" or "QA" each followed by any character, any number of times:',
col.select('B.*|QA.*').first().bandNames().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 2025-07-08 UTC.
[null,null,["Last updated 2025-07-08 UTC."],[],["The `select` method extracts specific bands from an ImageCollection, returning a new ImageCollection with those bands. Band selection can be done by name, index, or a list of these. New band names can be assigned using an optional list, which must match the number of selected bands. Regular expressions can also be used to select bands based on pattern matching. The code examples demonstrate these selection techniques for both JavaScript and Python.\n"],null,[]]