AI-generated Key Takeaways
-
The
clipToBoundsAndScalemethod clips an image to the bounds of a Geometry and scales the clipped image. -
Providing a large or complex collection as the
geometryargument can lead to poor performance. -
The image can be scaled by specifying a
widthandheight, amaxDimension, or ascalevalue. -
The method returns an Image.
| Usage | Returns |
|---|---|
Image.
clipToBoundsAndScale
( geometry
, width
, height
, maxDimension
, scale
)
|
Image |
| Argument | Type | Details |
|---|---|---|
|
this:
input
|
Image | The image to clip and scale. |
geometry
|
Geometry, default: null | The Geometry to clip the image to. The image will be clipped to the bounding box, in the image's projection, of this geometry. |
width
|
Integer, default: null | The width to scale the image to, in pixels. Must be provided along with "height". Exclusive with "maxDimension" and "scale". |
height
|
Integer, default: null | The height to scale the image to, in pixels. Must be provided along with "width". Exclusive with "maxDimension" and "scale". |
maxDimension
|
Integer, default: null | The maximum dimension to scale the image to, in pixels. Exclusive with "width", "height" and "scale". |
scale
|
Float, default: null | If scale is specified, then the projection is scaled by dividing the specified scale value by the nominal size of a meter in the image's projection. Exclusive with "width", "height", and "maxDimension". |
Examples
Code Editor (JavaScript)
// A digital elevation model. var dem = ee . Image ( 'NASA/NASADEM_HGT/001' ); var demVis = { bands : 'elevation' , min : 0 , max : 2000 }; print ( 'DEM' , dem ); Map . setCenter ( - 121.38 , 46.51 , 8 ); Map . addLayer ( dem , demVis , 'DEM' ); // Clip DEM by a single polygon geometry, specify width and height parameters. var geom1 = ee . Geometry . BBox ( - 123.55 , 46.61 , - 122.57 , 46.98 ); var demClip1 = dem . clipToBoundsAndScale ({ geometry : geom1 , width : 20 , // pixels height : 10 // pixels }); print ( 'Clipped image retains metadata and band names' , demClip1 ); Map . addLayer ( demClip1 , demVis , 'Single geometry clip (width, height)' ); Map . addLayer ( geom1 , { color : 'red' }, 'Single geometry (width, height)' ); // Clip DEM by a single polygon geometry, specify maxDimension parameter. var geom2 = ee . Geometry . BBox ( - 120.79 , 46.58 , - 120.16 , 46.81 ); var demClip2 = dem . clipToBoundsAndScale ({ geometry : geom2 , maxDimension : 5 , // pixels }); Map . addLayer ( demClip2 , demVis , 'Single polygon clip (maxDimension)' ); Map . addLayer ( geom2 , { color : 'yellow' }, 'Single polygon (maxDimension)' ); // Clip DEM by a single polygon geometry, specify scale parameter. var geom3 = ee . Geometry . BBox ( - 120.79 , 46.18 , - 120.16 , 46.41 ); var demClip3 = dem . clipToBoundsAndScale ({ geometry : geom3 , scale : 1e4 , // meters }); Map . addLayer ( demClip3 , demVis , 'Single polygon clip (scale)' ); Map . addLayer ( geom3 , { color : 'blue' }, 'Single polygon (scale)' );
import ee import geemap.core as geemap
Colab (Python)
# A digital elevation model. dem = ee . Image ( 'NASA/NASADEM_HGT/001' ) dem_vis = { 'bands' : 'elevation' , 'min' : 0 , 'max' : 2000 } display ( 'DEM' , dem ) m = geemap . Map () m . set_center ( - 121.38 , 46.51 , 8 ) m . add_layer ( dem , dem_vis , 'DEM' ) # Clip DEM by a single polygon geometry, specify width and height parameters. geom_1 = ee . Geometry . BBox ( - 123.55 , 46.61 , - 122.57 , 46.98 ) dem_clip_1 = dem . clipToBoundsAndScale ( geometry = geom_1 , width = 20 , height = 10 ) display ( 'Clipped image retains metadata and band names' , dem_clip_1 ) m . add_layer ( dem_clip_1 , dem_vis , 'Single geometry clip (width, height)' ) m . add_layer ( geom_1 , { 'color' : 'red' }, 'Single geometry (width, height)' ) # Clip DEM by a single polygon geometry, specify maxDimension parameter. geom_2 = ee . Geometry . BBox ( - 120.79 , 46.58 , - 120.16 , 46.81 ) dem_clip_2 = dem . clipToBoundsAndScale ( geometry = geom_2 , maxDimension = 5 ) m . add_layer ( dem_clip_2 , dem_vis , 'Single polygon clip (maxDimension)' ) m . add_layer ( geom_2 , { 'color' : 'yellow' }, 'Single polygon (maxDimension)' ) # Clip DEM by a single polygon geometry, specify scale parameter. geom_3 = ee . Geometry . BBox ( - 120.79 , 46.18 , - 120.16 , 46.41 ) dem_clip_3 = dem . clipToBoundsAndScale ( geometry = geom_3 , scale = 1e4 ) m . add_layer ( dem_clip_3 , dem_vis , 'Single polygon clip (scale)' ) m . add_layer ( geom_3 , { 'color' : 'blue' }, 'Single polygon (scale)' ) m

