ee.Image.reduceRegion

Áp dụng một hàm giảm cho tất cả các pixel trong một khu vực cụ thể.

Bộ giảm phải có cùng số lượng đầu vào như hình ảnh đầu vào có các dải tần, hoặc bộ giảm phải có một đầu vào duy nhất và sẽ được lặp lại cho từng dải tần.

Trả về một từ điển về đầu ra của hàm giảm.

Cách sử dụngGiá trị trả về
Image.reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale)Từ điển
Đối sốLoạiThông tin chi tiết
this: imageHình ảnhHình ảnh cần giảm kích thước.
reducerBộ giảm tốcHàm rút gọn cần áp dụng.
geometryHình học, mặc định: nullKhu vực cần giảm dữ liệu. Mặc định là dấu vết của dải tần đầu tiên của hình ảnh.
scaleFloat, mặc định: nullMột tỷ lệ danh nghĩa theo mét của phép chiếu để hoạt động.
crsPhép chiếu, mặc định: nullPhép chiếu để làm việc. Nếu không được chỉ định, thì phép chiếu của dải tần đầu tiên của hình ảnh sẽ được dùng. Nếu được chỉ định ngoài tỷ lệ, hãy điều chỉnh tỷ lệ theo tỷ lệ đã chỉ định.
crsTransformDanh sách, mặc định: nullDanh sách các giá trị biến đổi CRS. Đây là thứ tự chính theo hàng của ma trận biến đổi 3x2. Lựa chọn này loại trừ lẫn nhau với "scale" (tỷ lệ) và thay thế mọi phép biến đổi đã được đặt trên phép chiếu.
bestEffortBoolean, mặc định: falseNếu đa giác chứa quá nhiều pixel ở tỷ lệ đã cho, hãy tính toán và sử dụng tỷ lệ lớn hơn để cho phép thao tác thành công.
maxPixelsDài, mặc định: 10000000Số lượng pixel tối đa cần giảm.
tileScaleSố thực, mặc định: 1Hệ số tỷ lệ từ 0,1 đến 16 dùng để điều chỉnh kích thước ô tổng hợp; việc đặt tileScale lớn hơn (ví dụ: 2 hoặc 4) sử dụng các ô nhỏ hơn và có thể cho phép các phép tính hết bộ nhớ với giá trị mặc định.

Ví dụ

Trình soạn thảo mã (JavaScript)

// A Landsat 8 surface reflectance image with SWIR1, NIR, and green bands.
var img = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508')
              .select(['SR_B6', 'SR_B5', 'SR_B3']);

// Santa Cruz Mountains ecoregion geometry.
var geom = ee.FeatureCollection('EPA/Ecoregions/2013/L4')
               .filter('us_l4name == "Santa Cruz Mountains"').geometry();

// Display layers on the map.
Map.setCenter(-122.08, 37.22, 9);
Map.addLayer(img, {min: 10000, max: 20000}, 'Landsat image');
Map.addLayer(geom, {color: 'white'}, 'Santa Cruz Mountains ecoregion');

// Calculate median band values within Santa Cruz Mountains ecoregion. It is
// good practice to explicitly define "scale" (or "crsTransform") and "crs"
// parameters of the analysis to avoid unexpected results from undesired
// defaults when e.g. reducing a composite image.
var stats = img.reduceRegion({
  reducer: ee.Reducer.median(),
  geometry: geom,
  scale: 30,  // meters
  crs: 'EPSG:3310',  // California Albers projection
});

// A dictionary is returned; keys are band names, values are the statistic.
print('Median band values, Santa Cruz Mountains ecoregion', stats);

// You can combine reducers to calculate e.g. mean and standard deviation
// simultaneously. The output dictionary keys are the concatenation of the band
// names and statistic names, separated by an underscore.
var reducer = ee.Reducer.mean().combine({
  reducer2: ee.Reducer.stdDev(),
  sharedInputs: true
});
var multiStats = img.reduceRegion({
  reducer: reducer,
  geometry: geom,
  scale: 30,
  crs: 'EPSG:3310',
});
print('Mean & SD band values, Santa Cruz Mountains ecoregion', multiStats);

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 Landsat 8 surface reflectance image with SWIR1, NIR, and green bands.
img = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508').select(
    ['SR_B6', 'SR_B5', 'SR_B3']
)

# Santa Cruz Mountains ecoregion geometry.
geom = (
    ee.FeatureCollection('EPA/Ecoregions/2013/L4')
    .filter('us_l4name == "Santa Cruz Mountains"')
    .geometry()
)

# Display layers on the map.
m = geemap.Map()
m.set_center(-122.08, 37.22, 9)
m.add_layer(img, {'min': 10000, 'max': 20000}, 'Landsat image')
m.add_layer(geom, {'color': 'white'}, 'Santa Cruz Mountains ecoregion')
display(m)

# Calculate median band values within Santa Cruz Mountains ecoregion. It is
# good practice to explicitly define "scale" (or "crsTransform") and "crs"
# parameters of the analysis to avoid unexpected results from undesired
# defaults when e.g. reducing a composite image.
stats = img.reduceRegion(
    reducer=ee.Reducer.median(),
    geometry=geom,
    scale=30,  # meters
    crs='EPSG:3310',  # California Albers projection
)

# A dictionary is returned keys are band names, values are the statistic.
display('Median band values, Santa Cruz Mountains ecoregion', stats)

# You can combine reducers to calculate e.g. mean and standard deviation
# simultaneously. The output dictionary keys are the concatenation of the band
# names and statistic names, separated by an underscore.
reducer = ee.Reducer.mean().combine(
    reducer2=ee.Reducer.stdDev(), sharedInputs=True
)
multi_stats = img.reduceRegion(
    reducer=reducer,
    geometry=geom,
    scale=30,
    crs='EPSG:3310',
)
display('Mean & SD band values, Santa Cruz Mountains ecoregion', multi_stats)