ee.Image.clipToBoundsAndScale

Cắt một hình ảnh theo ranh giới của một Geometry và điều chỉnh tỷ lệ hình ảnh đã cắt theo một kích thước hoặc tỷ lệ cụ thể.

Cách sử dụngGiá trị trả về
Image.clipToBoundsAndScale(geometry, width, height, maxDimension, scale)Hình ảnh
Đối sốLoạiThông tin chi tiết
this: inputHình ảnhHình ảnh cần cắt và điều chỉnh tỷ lệ.
geometryHình học, mặc định: nullHình học để cắt hình ảnh. Hình ảnh sẽ được cắt theo hộp giới hạn, trong phép chiếu của hình ảnh, của hình học này.
widthSố nguyên, mặc định: nullChiều rộng để điều chỉnh tỷ lệ hình ảnh, tính bằng pixel. Bạn phải cung cấp cùng với "height". Loại trừ "maxDimension" và "scale".
heightSố nguyên, mặc định: nullChiều cao để điều chỉnh tỷ lệ hình ảnh, tính bằng pixel. Bạn phải cung cấp cùng với "width". Loại trừ "maxDimension" và "scale".
maxDimensionSố nguyên, mặc định: nullKích thước tối đa để điều chỉnh tỷ lệ hình ảnh, tính bằng pixel. Loại trừ "width", "height" và "scale".
scaleFloat, mặc định: nullNếu bạn chỉ định tỷ lệ, thì phép chiếu sẽ được điều chỉnh tỷ lệ bằng cách chia giá trị tỷ lệ đã chỉ định cho kích thước danh nghĩa của một mét trong phép chiếu của hình ảnh. Chỉ dùng với "width", "height" và "maxDimension".

Ví dụ

Trình soạn thảo mã (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)');

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap cho quá trình phát triển tương tác.

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