AI-generated Key Takeaways
-
The
select()
method returns an ImageCollection with specified bands selected from each image within the collection. -
Band selection can be achieved using band names, numeric indices, or regular expressions.
-
Selected bands can be renamed by providing a corresponding list of new names.
-
The method accepts a flexible combination of selectors, including strings, integers, and lists.
-
Regular expressions enable versatile pattern matching for selecting multiple bands simultaneously.
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());
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())