公告 :凡是在
2025 年 4 月 15 日前 註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格 ,才能繼續存取。如未在 2025 年 9 月 26 日前完成驗證,存取權可能會暫停。
提供意見
ee.Image.updateMask
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
更新現有遮罩不為零的所有位置的圖像遮罩。輸出圖片會保留輸入圖片的中繼資料和足跡。
用量 傳回 Image. updateMask (mask)
圖片
引數 類型 詳細資料 這個:image
圖片 輸入圖片。 mask
圖片 圖片的新遮罩,以介於 [0, 1] 範圍內的浮點值表示 (無效 = 0,有效 = 1)。如果這個圖片只有一個波段,就會用於輸入圖片中的所有波段;否則,這個圖片的波段數量必須與輸入圖片相同。
範例
程式碼編輯器 (JavaScript)
// A Sentinel-2 surface reflectance image.
var img = ee . Image ( 'COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG' );
var trueColorViz = {
bands : [ 'B4' , 'B3' , 'B2' ],
min : 0 ,
max : 2700 ,
gamma : 1.3
};
print ( 'Sentinel-2 image' , img );
Map . setCenter ( - 122.36 , 37.47 , 10 );
Map . addLayer ( img , trueColorViz , 'Sentinel-2 image' );
// Create a Boolean land mask from the SWIR1 band; water is value 0, land is 1.
var landMask = img . select ( 'B11' ). gt ( 100 );
print ( 'Land mask' , landMask );
Map . addLayer ( landMask , { palette : [ 'blue' , 'lightgreen' ]}, 'Land mask' );
// Apply the single-band land mask to all image bands; pixel values equal to 0
// in the mask become invalid in the image.
var imgMasked = img . updateMask ( landMask );
print ( 'Image, land only' , imgMasked );
Map . addLayer ( imgMasked , trueColorViz , 'Image, land only' );
// Masks are band-specific. Here, a multi-band mask image is used to update
// corresponding input image band masks.
var imgBandSubset = img . select ([ 'B4' , 'B3' , 'B2' ]);
var bandSpecificMasks = imgBandSubset . gt ( 200 );
var imgBandSubsetMasked = imgBandSubset . updateMask ( bandSpecificMasks );
print ( 'Multi-band mask image' , bandSpecificMasks );
print ( 'Image, variable band masks' , imgBandSubsetMasked );
Map . addLayer ( bandSpecificMasks , null , 'Multi-band mask image' );
Map . addLayer ( imgBandSubsetMasked , trueColorViz , 'Image, variable band masks' );
// Note that there is only a single alpha channel for visualization, so when
// the ee.Image is rendered as an RGB image or map tiles, a masked pixel in any
// band will result in transparency for all bands.
// Floating point mask values between 0 and 1 will be used to define opacity
// in visualization via Map.addLayer and ee.Image.visualize.
var landMaskFloat = landMask . add ( 0.65 );
var imgMaskedFloat = img . updateMask ( landMaskFloat );
print ( 'Image, partially transparent' , imgMaskedFloat );
Map . addLayer ( imgMaskedFloat , trueColorViz , 'Image, partially transparent' );
Python 設定
請參閱
Python 環境 頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
import ee
import geemap.core as geemap
Colab (Python)
# A Sentinel-2 surface reflectance image.
img = ee . Image ( 'COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG' )
true_color_viz = {
'bands' : [ 'B4' , 'B3' , 'B2' ],
'min' : 0 ,
'max' : 2700 ,
'gamma' : 1.3 ,
}
display ( 'Sentinel-2 image' , img )
m = geemap . Map ()
m . set_center ( - 122.36 , 37.47 , 10 )
m . add_layer ( img , true_color_viz , 'Sentinel-2 image' )
# Create a Boolean land mask from the SWIR1 band water is value 0, land is 1.
land_mask = img . select ( 'B11' ) . gt ( 100 )
display ( 'Land mask' , land_mask )
m . add_layer ( land_mask , { 'palette' : [ 'blue' , 'lightgreen' ]}, 'Land mask' )
# Apply the single-band land mask to all image bands pixel values equal to 0
# in the mask become invalid in the image.
img_masked = img . updateMask ( land_mask )
display ( 'Image, land only' , img_masked )
m . add_layer ( img_masked , true_color_viz , 'Image, land only' )
# Masks are band-specific. Here, a multi-band mask image is used to update
# corresponding input image band masks.
img_band_subset = img . select ([ 'B4' , 'B3' , 'B2' ])
band_specific_masks = img_band_subset . gt ( 200 )
img_band_subset_masked = img_band_subset . updateMask ( band_specific_masks )
display ( 'Multi-band mask image' , band_specific_masks )
display ( 'Image, variable band masks' , img_band_subset_masked )
m . add_layer ( band_specific_masks , None , 'Multi-band mask image' )
m . add_layer (
img_band_subset_masked , true_color_viz , 'Image, variable band masks'
)
# Note that there is only a single alpha channel for visualization, so when
# the ee.Image is rendered as an RGB image or map tiles, a masked pixel in any
# band will result in transparency for all bands.
# Floating point mask values between 0 and 1 will be used to define opacity
# in visualization via m.add_ee_layer and ee.Image.visualize.
land_mask_float = land_mask . add ( 0.65 )
img_masked_float = img . updateMask ( land_mask_float )
display ( 'Image, partially transparent' , img_masked_float )
m . add_layer ( img_masked_float , true_color_viz , 'Image, partially transparent' )
m
提供意見
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
想進一步說明嗎?
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-26 (世界標準時間)。"],[],["The `updateMask()` function modifies an image's existing mask. It takes a new mask as input, a floating-point image where 0 denotes invalid and 1 denotes valid pixels. When applied, the function updates all image pixels where the current mask is non-zero. The new mask can be single-band, affecting all input image bands, or multi-band, updating bands individually. Mask values between 0 and 1 indicate partial transparency. The output image keeps the input image's metadata and footprint.\n"]]