AI-generated Key Takeaways
-
Image.addBands()
returns a new image with bands copied from a source image added to a destination image. -
You can select specific bands to copy using the
names
parameter, or copy all bands by default. -
The
overwrite
parameter controls whether bands with the same name in the destination image are replaced or renamed. -
The new image retains the metadata and footprint of the destination image.
Usage | Returns |
---|---|
Image.addBands(srcImg, names, overwrite) | Image |
Argument | Type | Details |
---|---|---|
this: dstImg | Image | An image into which to copy bands. |
srcImg | Image | An image containing bands to copy. |
names | List, default: null | Optional list of band names to copy. If names is omitted, all bands from srcImg will be copied over. |
overwrite | Boolean, default: false | If true, bands from `srcImg` will override bands with the same names in `dstImg`. Otherwise the new band will be renamed with a numerical suffix (`foo` to `foo_1` unless `foo_1` exists, then `foo_2` unless it exists, etc). |
Examples
Code Editor (JavaScript)
// A Sentinel-2 surface reflectance image. var img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG'); print('Original image', img); // Scale reflectance bands and overwrite the original bands. var reflBands = img.select('B.*').divide(10000); img = img.addBands({ srcImg: reflBands, overwrite: true }); // Compute and add a single band (NDVI). var ndvi = img.normalizedDifference(['B8', 'B4']).rename('NDVI'); img = img.addBands(ndvi); // Compute and add multiple bands (NDWI and NBR). var ndwi = img.normalizedDifference(['B3', 'B8']).rename('NDWI'); var nbr = img.normalizedDifference(['B8', 'B12']).rename('NBR'); var newBands = ee.Image([ndwi, nbr]); img = img.addBands(newBands); print('Image with added/modified bands', img);
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('Original image:', img.getInfo()) # Scale reflectance bands and overwrite the original bands. refl_bands = img.select('B.*').divide(10000) img = img.addBands(srcImg=refl_bands, overwrite=True) # Compute and add a single band (NDVI). ndvi = img.normalizedDifference(['B8', 'B4']).rename('NDVI') img = img.addBands(ndvi) # Compute and add multiple bands (NDWI and NBR). ndwi = img.normalizedDifference(['B3', 'B8']).rename('NDWI') nbr = img.normalizedDifference(['B8', 'B12']).rename('NBR') new_bands = ee.Image([ndwi, nbr]) img = img.addBands(new_bands) print('Image with added/modified bands:', img.getInfo())