ee.Image.unmask

Zastępuje maskę i wartość obrazu wejściowego maską i wartością innego obrazu we wszystkich pozycjach, w których maska wejściowa ma wartość zero. Obraz wyjściowy zachowuje metadane obrazu wejściowego. Domyślnie obraz wyjściowy zachowuje też obszar obrazu wejściowego, ale ustawienie sameFootprint na false umożliwia jego rozszerzenie.

WykorzystanieZwroty
Image.unmask(value, sameFootprint)Obraz
ArgumentTypSzczegóły
to: inputObrazObraz wejściowy.
valueObraz, domyślny: nullNowa wartość i maska dla zamaskowanych pikseli obrazu wejściowego. Jeśli nie podasz tu żadnej wartości, zostanie użyty domyślny obraz o stałej wartości 0, który jest prawidłowy wszędzie.
sameFootprintWartość logiczna, domyślnie: trueJeśli ma wartość Prawda (lub nie jest określona), dane wyjściowe zachowują obszar obrazu wejściowego. Jeśli wartość jest fałszywa, obszar wyjściowy jest sumą obszaru wejściowego i obszaru obrazu wartości.

Przykłady

Edytor kodu (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');

// Set invalid masked pixels to a new value, e.g. a constant nodata value
// when exporting an image as GeoTIFF.
var imgUnmasked = imgMasked.unmask(32767);
print('Image, unmasked', imgMasked);
Map.addLayer(imgUnmasked, trueColorViz, 'Image, unmasked');

// Reset masked pixels to valid, fill with default value 0, input footprint.
var maskResetFootprint = imgMasked.unmask();
print('Image mask reset, footprint', maskResetFootprint);
Map.addLayer(maskResetFootprint, trueColorViz, 'Image mask reset, footprint');

// Reset masked pixels to valid, fill with default value 0, everywhere.
var maskResetEverywhere = imgMasked.unmask({sameFootprint: false});
print('Image mask reset, everywhere', maskResetEverywhere);
Map.addLayer(maskResetEverywhere, trueColorViz, 'Image mask reset, everywhere');

// Fill masked pixels with pixels from a different image.
var fill = ee.Image('COPERNICUS/S2_SR/20200618T184919_20200618T190341_T10SEG');
var imgFilled = imgMasked.unmask(fill);
print('Image, filled', imgFilled);
Map.addLayer(imgFilled, trueColorViz, 'Image, filled');

Konfiguracja Pythona

Informacje o interfejsie Python API i używaniu geemap do interaktywnego programowania znajdziesz na stronie Środowisko Python.

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')

# Set invalid masked pixels to a new value, e.g. a constant nodata value
# when exporting an image as GeoTIFF.
img_unmasked = img_masked.unmask(32767)
display('Image, unmasked', img_masked)
m.add_layer(img_unmasked, true_color_viz, 'Image, unmasked')

# Reset masked pixels to valid, fill with default value 0, input footprint.
mask_reset_footprint = img_masked.unmask()
display('Image mask reset, footprint', mask_reset_footprint)
m.add_layer(mask_reset_footprint, true_color_viz, 'Image mask reset, footprint')

# Reset masked pixels to valid, fill with default value 0, everywhere.
mask_reset_everywhere = img_masked.unmask(sameFootprint=False)
display('Image mask reset, everywhere', mask_reset_everywhere)
m.add_layer(
    mask_reset_everywhere, true_color_viz, 'Image mask reset, everywhere'
)

# Fill masked pixels with pixels from a different image.
fill = ee.Image('COPERNICUS/S2_SR/20200618T184919_20200618T190341_T10SEG')
img_filled = img_masked.unmask(fill)
display('Image, filled', img_filled)
m.add_layer(img_filled, true_color_viz, 'Image, filled')
m