Esistono diversi metodi ee.Image
che producono rappresentazioni visive RGB dei dati delle immagini, ad esempio:
visualize()
,
getThumbURL()
,
getMap()
,
getMapId()
(utilizzato nella visualizzazione della mappa di Folium di Colab) e
Map.addLayer()
(utilizzato nella visualizzazione della mappa di Code Editor, non disponibile per Python). Per impostazione predefinita, questi metodi
assegnano le prime tre bande rispettivamente a rosso, verde e blu. L'intervallo predefinito si basa sul tipo di dati nelle bande (ad es. i valori float vengono estesi in [0, 1], i dati a 16 bit vengono estesi all'intera gamma di valori possibili), che può essere o meno adatto. Per
ottenere gli effetti di visualizzazione desiderati, puoi fornire i parametri di visualizzazione:
Parametro | Descrizione | Tipo |
---|---|---|
bands | Elenco separato da virgole di tre nomi di bande da mappare a RGB | list |
min | Valori da mappare a 0 | numero o elenco di tre numeri, uno per ogni banda |
max | Valori da mappare a 255 | numero o elenco di tre numeri, uno per ogni banda |
guadagno | Valori per moltiplicare ogni valore del pixel | numero o elenco di tre numeri, uno per ogni banda |
bias | Valori da aggiungere a ogni DN | numero o elenco di tre numeri, uno per ogni banda |
gamma | Fattori di correzione gamma | numero o elenco di tre numeri, uno per ogni banda |
palette | Elenco di stringhe di colore in stile CSS (solo immagini a banda singola) | elenco di stringhe esadecimali separate da virgole |
opacity | L'opacità del livello (0,0 è completamente trasparente e 1,0 è completamente opaco) | numero |
formato | Può essere "jpg" o "png" | stringa |
Compositi RGB
Di seguito viene illustrato l'utilizzo dei parametri per applicare uno stile a un'immagine Landsat 8 come composito a falsi colori:
Editor di codice (JavaScript)
// Load an image. var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318'); // Define the visualization parameters. var vizParams = { bands: ['B5', 'B4', 'B3'], min: 0, max: 0.5, gamma: [0.95, 1.1, 1] }; // Center the map and display the image. Map.setCenter(-122.1899, 37.5010, 10); // San Francisco Bay Map.addLayer(image, vizParams, 'false color composite');
import ee import geemap.core as geemap
Colab (Python)
# Load an image. image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318') # Define the visualization parameters. image_viz_params = { 'bands': ['B5', 'B4', 'B3'], 'min': 0, 'max': 0.5, 'gamma': [0.95, 1.1, 1], } # Define a map centered on San Francisco Bay. map_l8 = geemap.Map(center=[37.5010, -122.1899], zoom=10) # Add the image layer to the map and display it. map_l8.add_layer(image, image_viz_params, 'false color composite') display(map_l8)
In questo esempio, la banda 'B5'
è assegnata al rosso, 'B4'
è assegnata al verde e 'B3'
è assegnata al blu.

Tavolozze dei colori
Per visualizzare una singola banda di un'immagine a colori, imposta il parametro palette
con una rampa di colori rappresentata da un elenco di stringhe di colore in stile CSS. (consulta
questo riferimento per maggiori
informazioni). L'esempio seguente illustra come utilizzare i colori dal verde acqua
('00FFFF'
) al blu ('0000FF'
) per visualizzare un'immagine
Normalized Difference Water Index (NDWI):
Editor di codice (JavaScript)
// Load an image. var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318'); // Create an NDWI image, define visualization parameters and display. var ndwi = image.normalizedDifference(['B3', 'B5']); var ndwiViz = {min: 0.5, max: 1, palette: ['00FFFF', '0000FF']}; Map.addLayer(ndwi, ndwiViz, 'NDWI', false);
import ee import geemap.core as geemap
Colab (Python)
# Load an image. image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318') # Create an NDWI image, define visualization parameters and display. ndwi = image.normalizedDifference(['B3', 'B5']) ndwi_viz = {'min': 0.5, 'max': 1, 'palette': ['00FFFF', '0000FF']} # Define a map centered on San Francisco Bay. map_ndwi = geemap.Map(center=[37.5010, -122.1899], zoom=10) # Add the image layer to the map and display it. map_ndwi.add_layer(ndwi, ndwi_viz, 'NDWI') display(map_ndwi)
In questo esempio, tieni presente che i parametri min
e max
indicano
l'intervallo di valori dei pixel a cui applicare la tavolozza. I valori intermedi
vengono allungati in modo lineare.
Tieni inoltre presente che il parametro show
è impostato su
false
nell'esempio di Editor di codice. Di conseguenza, la visibilità del livello viene disattivata quando viene aggiunto alla mappa. Può essere riattivato in qualsiasi momento utilizzando il Gestore dei livelli nell'angolo in alto a destra della mappa dell'editor di codice.

Salvare le tavolozze di colori predefinite
Per salvare le tavolozze di colori in un'immagine di classificazione in modo da non dover ricordare di applicarle, puoi impostare due proprietà di immagini di stringa con nomi speciali per ogni fascia di classificazione.
Ad esempio, se l'immagine ha una banda denominata 'landcover'
con tre valori 0, 1 e 2 corrispondenti alle classi "acqua", "foresta" e "altro",
puoi impostare le seguenti proprietà per fare in modo che la visualizzazione predefinita
mostri un colore specificato per ogni classe (i valori utilizzati nell'analisi non saranno interessati):
landcover_class_values="0,1,2"
landcover_class_palette="0000FF,00FF00,AABBCD"
Consulta la pagina Gestione delle risorse per scoprire come impostare i metadati delle risorse.
Mascheramento
Puoi utilizzare image.updateMask()
per impostare l'opacità dei singoli pixel
in base alla posizione dei pixel in un'immagine maschera diversi da zero. I pixel uguali a zero nella maschera sono
esclusi dai calcoli e l'opacità è impostata su 0 per la visualizzazione. L'esempio seguente
utilizza una soglia NDWI (consulta la
sezione Operazioni relazionali per informazioni sulle soglie) per aggiornare la maschera sul
livello NDWI creato in precedenza:
Editor di codice (JavaScript)
// Mask the non-watery parts of the image, where NDWI < 0.4. var ndwiMasked = ndwi.updateMask(ndwi.gte(0.4)); Map.addLayer(ndwiMasked, ndwiViz, 'NDWI masked');
import ee import geemap.core as geemap
Colab (Python)
# Mask the non-watery parts of the image, where NDWI < 0.4. ndwi_masked = ndwi.updateMask(ndwi.gte(0.4)) # Define a map centered on San Francisco Bay. map_ndwi_masked = geemap.Map(center=[37.5010, -122.1899], zoom=10) # Add the image layer to the map and display it. map_ndwi_masked.add_layer(ndwi_masked, ndwi_viz, 'NDWI masked') display(map_ndwi_masked)
Immagini di visualizzazione
Utilizza il metodo image.visualize()
per convertire un'immagine in un'immagine RGB a 8 bit per la visualizzazione o l'esportazione. Ad esempio, per convertire la composizione a falsi colori e l'Indice di vegetazione a differenza normale in
immagini di visualizzazione a tre bande, utilizza:
Editor di codice (JavaScript)
// Create visualization layers. var imageRGB = image.visualize({bands: ['B5', 'B4', 'B3'], max: 0.5}); var ndwiRGB = ndwiMasked.visualize({ min: 0.5, max: 1, palette: ['00FFFF', '0000FF'] });
import ee import geemap.core as geemap
Colab (Python)
image_rgb = image.visualize(bands=['B5', 'B4', 'B3'], max=0.5) ndwi_rgb = ndwi_masked.visualize(min=0.5, max=1, palette=['00FFFF', '0000FF'])
Mosaico
Puoi utilizzare il mascheramento e imageCollection.mosaic()
(consulta la sezione relativa al mosaico per informazioni sul mosaico) per ottenere vari effetti cartografici. Il metodo mosaic()
esegue il rendering degli strati nell'immagine di output in base al loro ordine nella raccolta di input. L'esempio seguente utilizza mosaic()
per combinare l'Indice di vegetazione normalized mascherato e la composizione a falsi colori per ottenere una nuova visualizzazione:
Editor di codice (JavaScript)
// Mosaic the visualization layers and display (or export). var mosaic = ee.ImageCollection([imageRGB, ndwiRGB]).mosaic(); Map.addLayer(mosaic, {}, 'mosaic');
import ee import geemap.core as geemap
Colab (Python)
# Mosaic the visualization layers and display (or export). mosaic = ee.ImageCollection([image_rgb, ndwi_rgb]).mosaic() # Define a map centered on San Francisco Bay. map_mosaic = geemap.Map(center=[37.5010, -122.1899], zoom=10) # Add the image layer to the map and display it. map_mosaic.add_layer(mosaic, None, 'mosaic') display(map_mosaic)
In questo esempio, tieni presente che un elenco delle due immagini di visualizzazione viene fornito al costruttore ImageCollection
. L'ordine dell'elenco determina
l'ordine in cui le immagini vengono visualizzate sulla mappa.

Clip
Il metodo image.clip()
è utile per ottenere effetti cartografici. Il
seguente esempio ritaglia il mosaico creato in precedenza in una zona cuscinetto arbitraria intorno
alla città di San Francisco:
Editor di codice (JavaScript)
// Create a circle by drawing a 20000 meter buffer around a point. var roi = ee.Geometry.Point([-122.4481, 37.7599]).buffer(20000); // Display a clipped version of the mosaic. Map.addLayer(mosaic.clip(roi), null, 'mosaic clipped');
import ee import geemap.core as geemap
Colab (Python)
# Create a circle by drawing a 20000 meter buffer around a point. roi = ee.Geometry.Point([-122.4481, 37.7599]).buffer(20000) mosaic_clipped = mosaic.clip(roi) # Define a map centered on San Francisco. map_mosaic_clipped = geemap.Map(center=[37.7599, -122.4481], zoom=10) # Add the image layer to the map and display it. map_mosaic_clipped.add_layer(mosaic_clipped, None, 'mosaic clipped') display(map_mosaic_clipped)
Nell'esempio precedente, tieni presente che le coordinate vengono fornite al costruttore Geometry
e la lunghezza del buffer è specificata come 20.000 metri. Scopri di più sulle geometrie nella pagina Geometrie.

Visualizzazione di mappe categoriche
Le tavolozze sono utili anche per il rendering di mappe con valori discreti, ad esempio una mappa della copertura del suolo.
In caso di più corsi, utilizza la tavolozza per fornire un colore diverso per ogni corso.
In questo contesto, il metodo image.remap()
può essere utile per convertire etichette arbitrarie in interi consecutivi. L'esempio seguente utilizza una tavolozza per visualizzare le categorie di copertura del suolo:
Editor di codice (JavaScript)
// Load 2012 MODIS land cover and select the IGBP classification. var cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01') .select('Land_Cover_Type_1'); // Define a palette for the 18 distinct land cover classes. var igbpPalette = [ 'aec3d4', // water '152106', '225129', '369b47', '30eb5b', '387242', // forest '6a2325', 'c3aa69', 'b76031', 'd9903d', '91af40', // shrub, grass '111149', // wetlands 'cdb33b', // croplands 'cc0013', // urban '33280d', // crop mosaic 'd7cdcc', // snow and ice 'f7e084', // barren '6f6f6f' // tundra ]; // Specify the min and max labels and the color palette matching the labels. Map.setCenter(-99.229, 40.413, 5); Map.addLayer(cover, {min: 0, max: 17, palette: igbpPalette}, 'IGBP classification');
import ee import geemap.core as geemap
Colab (Python)
# Load 2012 MODIS land cover and select the IGBP classification. cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01').select('Land_Cover_Type_1') # Define a palette for the 18 distinct land cover classes. igbp_palette = [ 'aec3d4', # water '152106', '225129', '369b47', '30eb5b', '387242', # forest '6a2325', 'c3aa69', 'b76031', 'd9903d', '91af40', # shrub, grass '111149', # wetlands 'cdb33b', # croplands 'cc0013', # urban '33280d', # crop mosaic 'd7cdcc', # snow and ice 'f7e084', # barren '6f6f6f', # tundra ] # Define a map centered on the United States. map_palette = geemap.Map(center=[40.413, -99.229], zoom=5) # Add the image layer to the map and display it. Specify the min and max labels # and the color palette matching the labels. map_palette.add_layer( cover, {'min': 0, 'max': 17, 'palette': igbp_palette}, 'IGBP classes' ) display(map_palette)

Descrittori dei livelli stilizzati
Puoi utilizzare un descrittore di livello stilizzato
(SLD) per eseguire il rendering delle immagini per la
visualizzazione. Fornisci a image.sldStyle()
una descrizione XML della simbolizzazione e della colorazione dell'immagine, in particolare dell'elemento RasterSymbolizer
. Scopri di più sull'elemento RasterSymbolizer
qui.
Ad esempio, per eseguire il rendering della mappa della copertura del suolo descritta nella sezione Rendering delle mappe categoriche
con un SLD, utilizza:
Editor di codice (JavaScript)
var cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01').select('Land_Cover_Type_1'); // Define an SLD style of discrete intervals to apply to the image. var sld_intervals = '<RasterSymbolizer>' + '<ColorMap type="intervals" extended="false">' + '<ColorMapEntry color="#aec3d4" quantity="0" label="Water"/>' + '<ColorMapEntry color="#152106" quantity="1" label="Evergreen Needleleaf Forest"/>' + '<ColorMapEntry color="#225129" quantity="2" label="Evergreen Broadleaf Forest"/>' + '<ColorMapEntry color="#369b47" quantity="3" label="Deciduous Needleleaf Forest"/>' + '<ColorMapEntry color="#30eb5b" quantity="4" label="Deciduous Broadleaf Forest"/>' + '<ColorMapEntry color="#387242" quantity="5" label="Mixed Deciduous Forest"/>' + '<ColorMapEntry color="#6a2325" quantity="6" label="Closed Shrubland"/>' + '<ColorMapEntry color="#c3aa69" quantity="7" label="Open Shrubland"/>' + '<ColorMapEntry color="#b76031" quantity="8" label="Woody Savanna"/>' + '<ColorMapEntry color="#d9903d" quantity="9" label="Savanna"/>' + '<ColorMapEntry color="#91af40" quantity="10" label="Grassland"/>' + '<ColorMapEntry color="#111149" quantity="11" label="Permanent Wetland"/>' + '<ColorMapEntry color="#cdb33b" quantity="12" label="Cropland"/>' + '<ColorMapEntry color="#cc0013" quantity="13" label="Urban"/>' + '<ColorMapEntry color="#33280d" quantity="14" label="Crop, Natural Veg. Mosaic"/>' + '<ColorMapEntry color="#d7cdcc" quantity="15" label="Permanent Snow, Ice"/>' + '<ColorMapEntry color="#f7e084" quantity="16" label="Barren, Desert"/>' + '<ColorMapEntry color="#6f6f6f" quantity="17" label="Tundra"/>' + '</ColorMap>' + '</RasterSymbolizer>'; Map.addLayer(cover.sldStyle(sld_intervals), {}, 'IGBP classification styled');
import ee import geemap.core as geemap
Colab (Python)
cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01').select('Land_Cover_Type_1') # Define an SLD style of discrete intervals to apply to the image. sld_intervals = """ <RasterSymbolizer> <ColorMap type="intervals" extended="false" > <ColorMapEntry color="#aec3d4" quantity="0" label="Water"/> <ColorMapEntry color="#152106" quantity="1" label="Evergreen Needleleaf Forest"/> <ColorMapEntry color="#225129" quantity="2" label="Evergreen Broadleaf Forest"/> <ColorMapEntry color="#369b47" quantity="3" label="Deciduous Needleleaf Forest"/> <ColorMapEntry color="#30eb5b" quantity="4" label="Deciduous Broadleaf Forest"/> <ColorMapEntry color="#387242" quantity="5" label="Mixed Deciduous Forest"/> <ColorMapEntry color="#6a2325" quantity="6" label="Closed Shrubland"/> <ColorMapEntry color="#c3aa69" quantity="7" label="Open Shrubland"/> <ColorMapEntry color="#b76031" quantity="8" label="Woody Savanna"/> <ColorMapEntry color="#d9903d" quantity="9" label="Savanna"/> <ColorMapEntry color="#91af40" quantity="10" label="Grassland"/> <ColorMapEntry color="#111149" quantity="11" label="Permanent Wetland"/> <ColorMapEntry color="#cdb33b" quantity="12" label="Cropland"/> <ColorMapEntry color="#cc0013" quantity="13" label="Urban"/> <ColorMapEntry color="#33280d" quantity="14" label="Crop, Natural Veg. Mosaic"/> <ColorMapEntry color="#d7cdcc" quantity="15" label="Permanent Snow, Ice"/> <ColorMapEntry color="#f7e084" quantity="16" label="Barren, Desert"/> <ColorMapEntry color="#6f6f6f" quantity="17" label="Tundra"/> </ColorMap> </RasterSymbolizer>""" # Apply the SLD style to the image. cover_sld = cover.sldStyle(sld_intervals) # Define a map centered on the United States. map_sld_categorical = geemap.Map(center=[40.413, -99.229], zoom=5) # Add the image layer to the map and display it. map_sld_categorical.add_layer(cover_sld, None, 'IGBP classes styled') display(map_sld_categorical)
Per creare un'immagine di visualizzazione con una rampa di colori, imposta il tipo di
ColorMap
su "rampa". L'esempio seguente confronta i tipi "intervallo" e "rampa" per il rendering di un DEM:
Editor di codice (JavaScript)
// Load SRTM Digital Elevation Model data. var image = ee.Image('CGIAR/SRTM90_V4'); // Define an SLD style of discrete intervals to apply to the image. Use the // opacity keyword to set pixels less than 0 as completely transparent. Pixels // with values greater than or equal to the final entry quantity are set to // fully transparent by default. var sld_intervals = '<RasterSymbolizer>' + '<ColorMap type="intervals" extended="false" >' + '<ColorMapEntry color="#0000ff" quantity="0" label="0 ﹤ x" opacity="0" />' + '<ColorMapEntry color="#00ff00" quantity="100" label="0 ≤ x ﹤ 100" />' + '<ColorMapEntry color="#007f30" quantity="200" label="100 ≤ x ﹤ 200" />' + '<ColorMapEntry color="#30b855" quantity="300" label="200 ≤ x ﹤ 300" />' + '<ColorMapEntry color="#ff0000" quantity="400" label="300 ≤ x ﹤ 400" />' + '<ColorMapEntry color="#ffff00" quantity="900" label="400 ≤ x ﹤ 900" />' + '</ColorMap>' + '</RasterSymbolizer>'; // Define an sld style color ramp to apply to the image. var sld_ramp = '<RasterSymbolizer>' + '<ColorMap type="ramp" extended="false" >' + '<ColorMapEntry color="#0000ff" quantity="0" label="0"/>' + '<ColorMapEntry color="#00ff00" quantity="100" label="100" />' + '<ColorMapEntry color="#007f30" quantity="200" label="200" />' + '<ColorMapEntry color="#30b855" quantity="300" label="300" />' + '<ColorMapEntry color="#ff0000" quantity="400" label="400" />' + '<ColorMapEntry color="#ffff00" quantity="500" label="500" />' + '</ColorMap>' + '</RasterSymbolizer>'; // Add the image to the map using both the color ramp and interval schemes. Map.setCenter(-76.8054, 42.0289, 8); Map.addLayer(image.sldStyle(sld_intervals), {}, 'SLD intervals'); Map.addLayer(image.sldStyle(sld_ramp), {}, 'SLD ramp');
import ee import geemap.core as geemap
Colab (Python)
# Load SRTM Digital Elevation Model data. image = ee.Image('CGIAR/SRTM90_V4') # Define an SLD style of discrete intervals to apply to the image. sld_intervals = """ <RasterSymbolizer> <ColorMap type="intervals" extended="false" > <ColorMapEntry color="#0000ff" quantity="0" label="0"/> <ColorMapEntry color="#00ff00" quantity="100" label="1-100" /> <ColorMapEntry color="#007f30" quantity="200" label="110-200" /> <ColorMapEntry color="#30b855" quantity="300" label="210-300" /> <ColorMapEntry color="#ff0000" quantity="400" label="310-400" /> <ColorMapEntry color="#ffff00" quantity="1000" label="410-1000" /> </ColorMap> </RasterSymbolizer>""" # Define an sld style color ramp to apply to the image. sld_ramp = """ <RasterSymbolizer> <ColorMap type="ramp" extended="false" > <ColorMapEntry color="#0000ff" quantity="0" label="0"/> <ColorMapEntry color="#00ff00" quantity="100" label="100" /> <ColorMapEntry color="#007f30" quantity="200" label="200" /> <ColorMapEntry color="#30b855" quantity="300" label="300" /> <ColorMapEntry color="#ff0000" quantity="400" label="400" /> <ColorMapEntry color="#ffff00" quantity="500" label="500" /> </ColorMap> </RasterSymbolizer>""" # Define a map centered on the United States. map_sld_interval = geemap.Map(center=[40.413, -99.229], zoom=5) # Add the image layers to the map and display it. map_sld_interval.add_layer( image.sldStyle(sld_intervals), None, 'SLD intervals' ) map_sld_interval.add_layer(image.sldStyle(sld_ramp), None, 'SLD ramp') display(map_sld_interval)
Gli SLD sono utili anche per estendere i valori dei pixel al fine di migliorare le visualizzazioni dei dati continui. Ad esempio, il seguente codice confronta i risultati di uno stretching lineare arbitrario con una "Normalizzazione" minima e massima e un'equalizzazione "Istogramma":
Editor di codice (JavaScript)
// Load a Landsat 8 raw image. var image = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318'); // Define a RasterSymbolizer element with '_enhance_' for a placeholder. var template_sld = '<RasterSymbolizer>' + '<ContrastEnhancement><_enhance_/></ContrastEnhancement>' + '<ChannelSelection>' + '<RedChannel>' + '<SourceChannelName>B5</SourceChannelName>' + '</RedChannel>' + '<GreenChannel>' + '<SourceChannelName>B4</SourceChannelName>' + '</GreenChannel>' + '<BlueChannel>' + '<SourceChannelName>B3</SourceChannelName>' + '</BlueChannel>' + '</ChannelSelection>' + '</RasterSymbolizer>'; // Get SLDs with different enhancements. var equalize_sld = template_sld.replace('_enhance_', 'Histogram'); var normalize_sld = template_sld.replace('_enhance_', 'Normalize'); // Display the results. Map.centerObject(image, 10); Map.addLayer(image, {bands: ['B5', 'B4', 'B3'], min: 0, max: 15000}, 'Linear'); Map.addLayer(image.sldStyle(equalize_sld), {}, 'Equalized'); Map.addLayer(image.sldStyle(normalize_sld), {}, 'Normalized');
import ee import geemap.core as geemap
Colab (Python)
# Load a Landsat 8 raw image. image = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318') # Define a RasterSymbolizer element with '_enhance_' for a placeholder. template_sld = """ <RasterSymbolizer> <ContrastEnhancement><_enhance_/></ContrastEnhancement> <ChannelSelection> <RedChannel> <SourceChannelName>B5</SourceChannelName> </RedChannel> <GreenChannel> <SourceChannelName>B4</SourceChannelName> </GreenChannel> <BlueChannel> <SourceChannelName>B3</SourceChannelName> </BlueChannel> </ChannelSelection> </RasterSymbolizer>""" # Get SLDs with different enhancements. equalize_sld = template_sld.replace('_enhance_', 'Histogram') normalize_sld = template_sld.replace('_enhance_', 'Normalize') # Define a map centered on San Francisco Bay. map_sld_continuous = geemap.Map(center=[37.5010, -122.1899], zoom=10) # Add the image layers to the map and display it. map_sld_continuous.add_layer( image, {'bands': ['B5', 'B4', 'B3'], 'min': 0, 'max': 15000}, 'Linear' ) map_sld_continuous.add_layer(image.sldStyle(equalize_sld), None, 'Equalized') map_sld_continuous.add_layer( image.sldStyle(normalize_sld), None, 'Normalized' ) display(map_sld_continuous)
Aspetti da tenere presenti in merito all'utilizzo degli SLD in Earth Engine:
- Sono supportati OGC SLD 1.0 e OGC SE 1.1.
- Il documento XML passato può essere completo o solo l'elemento RasterSymbolizer e gli elementi successivi.
- I canali possono essere selezionati in base ai relativi nomi o all'indice di Earth Engine ("1", "2" e così via).
- I meccanismi di stretching dell'istogramma e della normalizzazione del contrasto non sono supportati per le immagini con punti fluttuanti.
- L'opacità viene presa in considerazione solo se è pari a 0,0 (trasparente). I valori di opacità diversi da zero vengono considerati completamente opachi.
- Al momento la definizione OverlapBehavior viene ignorata.
- Il meccanismo ShadedRelief non è attualmente supportato.
- Il meccanismo ImageOutline non è attualmente supportato.
- L'elemento Geometry viene ignorato.
- L'immagine di output avrà i metadati histogram_bandname se viene richiesta l'equalizzazione o la normalizzazione dell'istogramma.
Miniature
Utilizza il metodo ee.Image.getThumbURL()
per generare un'immagine di miniatura PNG o JPEG per un oggetto ee.Image
. La stampa del risultato di un'espressione che termina con una chiamata a getThumbURL()
comporta la stampa di un URL. La visita all'URL imposta i server Earth Engine per lavorare alla generazione della miniatura richiesta al volo. L'immagine viene visualizzata in un browser al termine dell'elaborazione. Può essere scaricato selezionando le opzioni appropriate dal menu contestuale del tasto destro del mouse dell'immagine.

Il metodo getThumbURL()
include i parametri descritti nella
tabella dei parametri di visualizzazione
sopra.
Inoltre, accetta gli argomenti facoltativi dimensions
, region
e
crs
che controllano l'estensione spaziale, le dimensioni e la proiezione della visualizzazione della miniatura.
Parametro | Descrizione | Tipo |
---|---|---|
dimensions | Dimensioni delle miniature in pixel. Se viene fornito un singolo numero intero, vengono definite le dimensioni della dimensione dell'aspetto più grande dell'immagine e la dimensione più piccola viene ridimensionata proporzionalmente. Il valore predefinito è 512 pixel per la dimensione dell'aspetto dell'immagine più grande. | Un singolo numero intero o una stringa nel formato: 'LARGHEZZAxALTEZZA' |
region | La regione geospaziale dell'immagine da eseguire in rendering. Per impostazione predefinita, l'intera immagine o i limiti di una geometria fornita. | GeoJSON o un elenco 2D di almeno tre coordinate di punti che definiscono un anello lineare |
crs | La proiezione di destinazione, ad esempio "EPSG:3857". Il valore predefinito è WGS84 ("EPSG:4326"). | Stringa |
format | Definisce il formato della miniatura come PNG o JPEG. Il formato PNG predefinito è implementato come
RGBA, dove il canale alfa rappresenta i pixel validi e non validi, definiti dal mask() dell'immagine. I pixel non validi sono trasparenti. Il formato JPEG facoltativo
è implementato come RGB, dove i pixel dell'immagine non validi vengono riempiti con zero nei canali RGB.
|
Stringa; "png" o "jpg" |
Per impostazione predefinita, un'immagine a banda singola sarà in scala di grigi, a meno che non venga fornito un argomento palette
. Per un'immagine multibanda, per impostazione predefinita viene visualizzata la visualizzazione RGB delle prime tre bande, a meno che non venga fornito un argomento bands
. Se vengono fornite solo due bande, la prima verrà mappata al rosso, la seconda al blu e il canale verde verrà completato con zero.
Di seguito è riportata una serie di esempi che mostrano varie combinazioni di parametri
getThumbURL()
. Fai clic sugli URL stampati quando
esegui questo script per visualizzare le miniature.
Editor di codice (JavaScript)
// Fetch a digital elevation model. var image = ee.Image('CGIAR/SRTM90_V4'); // Request a default thumbnail of the DEM with defined linear stretch. // Set masked pixels (ocean) to 1000 so they map as gray. var thumbnail1 = image.unmask(1000).getThumbURL({ 'min': 0, 'max': 3000, 'dimensions': 500, }); print('Default extent:', thumbnail1); // Specify region by rectangle, define palette, set larger aspect dimension size. var thumbnail2 = image.getThumbURL({ 'min': 0, 'max': 3000, 'palette': ['00A600','63C600','E6E600','E9BD3A','ECB176','EFC2B3','F2F2F2'], 'dimensions': 500, 'region': ee.Geometry.Rectangle([-84.6, -55.9, -32.9, 15.7]), }); print('Rectangle region and palette:', thumbnail2); // Specify region by a linear ring and set display CRS as Web Mercator. var thumbnail3 = image.getThumbURL({ 'min': 0, 'max': 3000, 'palette': ['00A600','63C600','E6E600','E9BD3A','ECB176','EFC2B3','F2F2F2'], 'region': ee.Geometry.LinearRing([[-84.6, 15.7], [-84.6, -55.9], [-32.9, -55.9]]), 'dimensions': 500, 'crs': 'EPSG:3857' }); print('Linear ring region and specified crs', thumbnail3);
import ee import geemap.core as geemap
Colab (Python)
# Fetch a digital elevation model. image = ee.Image('CGIAR/SRTM90_V4') # Request a default thumbnail of the DEM with defined linear stretch. # Set masked pixels (ocean) to 1000 so they map as gray. thumbnail_1 = image.unmask(1000).getThumbURL({ 'min': 0, 'max': 3000, 'dimensions': 500, }) print('Default extent:', thumbnail_1) # Specify region by rectangle, define palette, set larger aspect dimension size. thumbnail_2 = image.getThumbURL({ 'min': 0, 'max': 3000, 'palette': [ '00A600', '63C600', 'E6E600', 'E9BD3A', 'ECB176', 'EFC2B3', 'F2F2F2', ], 'dimensions': 500, 'region': ee.Geometry.Rectangle([-84.6, -55.9, -32.9, 15.7]), }) print('Rectangle region and palette:', thumbnail_2) # Specify region by a linear ring and set display CRS as Web Mercator. thumbnail_3 = image.getThumbURL({ 'min': 0, 'max': 3000, 'palette': [ '00A600', '63C600', 'E6E600', 'E9BD3A', 'ECB176', 'EFC2B3', 'F2F2F2', ], 'region': ee.Geometry.LinearRing( [[-84.6, 15.7], [-84.6, -55.9], [-32.9, -55.9]] ), 'dimensions': 500, 'crs': 'EPSG:3857', }) print('Linear ring region and specified crs:', thumbnail_3)