byBands#

geetools.ee_image.ImageAccessor.byBands(regions, reducer='mean', bands=[], regionId='system:index', labels=[], scale=10000, crs=None, crsTransform=None, tileScale=1)#

Compute a reducer for each band of the image in each region.

This method is returning a dictionary with all the bands as keys and their reduced value in each region as values.

{
    "band1": {"feature1": value1, "feature2": value2, ...},
    "band2": {"feature1": value1, "feature2": value2, ...},
    ...
}
Parameters:
  • regions (ee.featurecollection) – The regions to compute the reducer in.

  • reducer (str | ee.Reducer) – The name of the reducer or a reducer object to use. Default is “mean”.

  • regionId (str) – The property used to label region. Defaults to “system:index”.

  • labels (list) – The labels to use for the output dictionary. Default to the band names.

  • bands (list) – The bands to compute the reducer on. Default to all bands.

  • scale (int) – The scale to use for the computation. Default is 10000m.

  • crs (str | None) – The projection to work in. If unspecified, the projection of the image’s first band is used. If specified in addition to scale, rescaled to the specified scale.

  • crsTransform (list | None) – The list of CRS transform values. This is a row-major ordering of the 3x2 transform matrix. This option is mutually exclusive with ‘scale’, and replaces any transform already set on the projection.

  • tileScale (float) – A scaling factor between 0.1 and 16 used to adjust aggregation tile size; setting a larger tileScale (e.g., 2 or 4) uses smaller tiles and may enable computations that run out of memory with the default.

Returns:

A dictionary with all the bands as keys and their values in each region as a list.

Return type:

ee.Dictionary

See also

  • byRegions: Compute a reducer in each region of the image for eah band.

  • plot_by_bands: Plot the reduced values for each bands.

Examples

import ee, geetools

ee.Initialize()

ecoregions = ee.FeatureCollection("projects/google/charts_feature_example").select(["label", "value","warm"])
normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm91m').toBands()
d = normClim.byBands(ecoregions, ee.Reducer.mean(), scale=10000)
print(d.getInfo())