Es gibt eine Reihe von ee.Image
-Methoden, mit denen RGB-visuelle Darstellungen von Bilddaten erstellt werden, z. B.: visualize()
, getThumbURL()
, getMap()
, getMapId()
(wird in der Folium-Kartenanzeige von Colab verwendet) und Map.addLayer()
(wird in der Kartenanzeige des Code-Editors verwendet, nicht für Python verfügbar). Standardmäßig werden mit diesen Methoden die ersten drei Bänder den Farben Rot, Grün und Blau zugewiesen. Die Standardstreckung basiert auf dem Datentyp in den Bändern (z. B. werden Gleitkommazahlen auf [0, 1] gestreckt, 16‑Bit-Daten auf den gesamten Bereich möglicher Werte). Das ist möglicherweise nicht geeignet. Um die gewünschten Visualisierungseffekte zu erzielen, können Sie Visualisierungsparameter angeben:
Parameter | Beschreibung | Typ |
---|---|---|
bands | Durch Kommas getrennte Liste mit drei Bandnamen, die RGB zugeordnet werden sollen | list |
Min. | Werte, die dem Wert „0“ zugeordnet werden sollen | Eine Zahl oder eine Liste mit drei Zahlen, eine für jede Band |
Max | Wert(e), die 255 zugeordnet werden sollen | Eine Zahl oder eine Liste mit drei Zahlen, eine für jede Band |
gewinnen | Wert(e), mit dem bzw. denen jeder Pixelwert multipliziert wird | Eine Zahl oder eine Liste mit drei Zahlen, eine für jede Band |
Voreingenommenheit | Werte, die jeder DN hinzugefügt werden sollen | Eine Zahl oder eine Liste mit drei Zahlen, eine für jede Band |
Gamma | Gammakorrekturfaktor(en) | Eine Zahl oder eine Liste mit drei Zahlen, eine für jede Band |
palette | Liste der CSS-Farbstrings (nur einfarbige Bilder) | durch Kommas getrennte Liste von Hexadezimalstrings |
opacity | Die Deckkraft der Ebene (0,0 = vollständig transparent, 1,0 = vollständig undurchsichtig) | Zahl |
format | Entweder „jpg“ oder „png“ | String |
RGB-Komposite
Im Folgenden wird gezeigt, wie Sie mithilfe von Parametern ein Landsat 8-Bild als Falschfarbenbild gestalten:
Code-Editor (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 diesem Beispiel ist Band 'B5'
rot, 'B4'
grün und 'B3'
blau zugewiesen.

Farbpaletten
Wenn Sie einen einzelnen Farbstreifen eines Bildes anzeigen möchten, legen Sie den Parameter palette
mit einer Farbrampe fest, die durch eine Liste von Farbstrings im CSS-Format dargestellt wird. Weitere Informationen finden Sie in diesem Artikel. Im folgenden Beispiel wird gezeigt, wie mit Farben von Cyan ('00FFFF'
) bis Blau ('0000FF'
) ein
Normalisierter Differenzwasserindex (NDWI) gerendert wird:
Code-Editor (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 diesem Beispiel geben die Parameter min
und max
den Bereich der Pixelwerte an, auf die die Palette angewendet werden soll. Zwischenwerte werden linear gedehnt.
Beachten Sie auch, dass der Parameter show
im Code-Editor-Beispiel auf false
festgelegt ist. Dadurch ist die Sichtbarkeit der Ebene deaktiviert, wenn sie der Karte hinzugefügt wird. Sie können sie jederzeit über den Ebenenmanager rechts oben in der Code-Editor-Ansicht wieder aktivieren.

Standardfarbpaletten speichern
Wenn Sie Farbpaletten in einem Klassifizierungsbild speichern möchten, damit Sie sich nicht daran erinnern müssen, sie anzuwenden, können Sie für jeden Klassifizierungsbereich zwei speziell benannte String-Bildeigenschaften festlegen.
Wenn Ihr Bild beispielsweise einen Streifen namens 'landcover'
mit den drei Werten 0, 1 und 2 hat, die den Klassen „Wasser“, „Wald“ und „Sonstiges“ entsprechen, können Sie die folgenden Eigenschaften festlegen, damit in der Standardvisualisierung für jede Klasse eine bestimmte Farbe angezeigt wird. Die in der Analyse verwendeten Werte bleiben davon unberührt:
landcover_class_values="0,1,2"
landcover_class_palette="0000FF,00FF00,AABBCD"
Auf der Seite Assets verwalten erfährst du, wie du Asset-Metadaten festlegst.
Maskieren
Mit image.updateMask()
können Sie die Deckkraft einzelner Pixel festlegen, je nachdem, wo Pixel in einem Maskenbild einen Wert ungleich 0 haben. Pixel mit dem Wert „0“ in der Maske werden von den Berechnungen ausgeschlossen und die Deckkraft wird für die Anzeige auf „0“ gesetzt. Im folgenden Beispiel wird ein NDWI-Grenzwert verwendet (Informationen zu Grenzwerten finden Sie im Abschnitt
Relationale Vorgänge), um die Maske in der zuvor erstellten NDWI-Ebene zu aktualisieren:
Code-Editor (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)
Visualisierungsbilder
Mit der image.visualize()
-Methode können Sie ein Bild in ein 8‑Bit-RGB-Bild für die Anzeige oder den Export konvertieren. Wenn Sie beispielsweise das Falschfarbenbild und den NDWI in dreifarbige Anzeigebilder umwandeln möchten, verwenden Sie Folgendes:
Code-Editor (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'])
Mosaik
Mithilfe von Maskierungen und imageCollection.mosaic()
(Informationen zum Mosaikieren finden Sie im Abschnitt zum Mosaikieren) lassen sich verschiedene kartografische Effekte erzielen. Mit der Methode mosaic()
werden Ebenen im Ausgabebild gemäß ihrer Reihenfolge in der Eingabesammlung gerendert. Im folgenden Beispiel wird mit mosaic()
der maskierte NDWI mit dem Falschfarben-Composite kombiniert, um eine neue Visualisierung zu erhalten:
Code-Editor (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 diesem Beispiel wird dem ImageCollection
-Konstruktor eine Liste der beiden Visualisierungsbilder übergeben. Die Reihenfolge der Liste bestimmt die Reihenfolge, in der die Bilder auf der Karte gerendert werden.

Clipping
Die image.clip()
-Methode eignet sich gut für kartografische Effekte. Im folgenden Beispiel wird das zuvor erstellte Mosaik auf eine beliebige Pufferzone um die Stadt San Francisco zugeschnitten:
Code-Editor (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)
Beachten Sie im vorherigen Beispiel, dass die Koordinaten dem Konstruktor von Geometry
übergeben und die Pufferlänge mit 20.000 Metern angegeben wird. Weitere Informationen zu Geometrien finden Sie auf der Seite „Geometrien“.

Kategorische Karten rendern
Paletten sind auch zum Rendern von Karten mit diskreten Werten nützlich, z. B. einer Bodenbedeckungskarte.
Wenn Sie mehrere Kurse haben, verwenden Sie die Palette, um für jeden Kurs eine andere Farbe festzulegen.
Die Methode image.remap()
kann in diesem Zusammenhang nützlich sein, um beliebige Labels in aufeinanderfolgende Ganzzahlen umzuwandeln. Im folgenden Beispiel werden Kategorien der Bodenbedeckung mithilfe einer Palette gerendert:
Code-Editor (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)

Deskriptoren für gestylte Ebenen
Sie können einen Styled Layer Descriptor (SLD) verwenden, um Bilder für die Anzeige zu rendern. Geben Sie in image.sldStyle()
eine XML-Beschreibung der Symbolisierung und Farbgebung des Bildes an, insbesondere des RasterSymbolizer
-Elements. Weitere Informationen zum Element „RasterSymbolizer
“
Wenn Sie beispielsweise die im Abschnitt „Kategorische Karten rendern“ beschriebene Landbedeckungskarte mit einer SLD rendern möchten, verwenden Sie Folgendes:
Code-Editor (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)
Wenn Sie ein Visualisierungsbild mit einer Farbrampe erstellen möchten, legen Sie den Typ von ColorMap
auf „ramp“ fest. Im folgenden Beispiel werden die Typen „interval“ und „ramp“ für das Rendern einer DEM verglichen:
Code-Editor (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)
SLDs eignen sich auch zum Strecken von Pixelwerten, um die Visualisierung kontinuierlicher Daten zu verbessern. Im folgenden Code werden beispielsweise die Ergebnisse einer beliebigen linearen Streckung mit einer Min-Max-Normalisierung und einer Histogramm-Ausgleichung verglichen:
Code-Editor (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)
Hinweise zur Verwendung von SLDs in Earth Engine:
- OGC SLD 1.0 und OGC SE 1.1 werden unterstützt.
- Das übergebene XML-Dokument kann vollständig sein oder nur das RasterSymbolizer-Element und die nachfolgenden Elemente enthalten.
- Bänder können anhand ihrer Earth Engine-Namen oder ihres Index (z. B. „1“, „2“) ausgewählt werden.
- Die Histogramm- und Normalisierungsmechanismen für den Kontrast werden für Bilder mit schwimmenden Punkten nicht unterstützt.
- Die Deckkraft wird nur berücksichtigt, wenn sie 0,0 (transparent) ist. Werte ungleich Null werden als vollständig undurchsichtig behandelt.
- Die Definition von „OverlapBehavior“ wird derzeit ignoriert.
- Der ShadedRelief-Mechanismus wird derzeit nicht unterstützt.
- Der Mechanismus „ImageOutline“ wird derzeit nicht unterstützt.
- Das Element „Geometry“ wird ignoriert.
- Das Ausgabebild enthält die Metadaten „histogram_bandname“, wenn eine Histogramm-Ausgleichung oder ‑Normalisierung angefordert wird.
Miniaturansichten
Mit der Methode ee.Image.getThumbURL()
können Sie ein PNG- oder JPEG-Miniaturbild für ein ee.Image
-Objekt generieren. Wenn Sie das Ergebnis eines Ausdrucks drucken, der mit einem Aufruf von getThumbURL()
endet, wird eine URL ausgegeben. Wenn Sie die URL aufrufen, werden die Earth Engine-Server angewiesen, die angeforderte Miniaturansicht direkt zu generieren. Das Bild wird in einem Browser angezeigt, sobald die Verarbeitung abgeschlossen ist. Sie können es herunterladen, indem Sie im Kontextmenü des Bildes die entsprechenden Optionen auswählen.

Die getThumbURL()
-Methode enthält Parameter, die in der Tabelle mit den Visualisierungsparametern oben beschrieben sind.
Außerdem werden die optionalen Argumente dimensions
, region
und crs
unterstützt, mit denen die räumliche Ausdehnung, Größe und Projektion des Thumbnails gesteuert werden.
Parameter | Beschreibung | Typ |
---|---|---|
Abmessungen | Größe des Thumbnails in Pixeln. Wenn eine einzelne Ganzzahl angegeben wird, wird damit die Größe der größeren Seitenverhältnisdimension des Bildes definiert und die kleinere Dimension wird proportional skaliert. Standardmäßig ist für die größere Bildabmessung ein Wert von 512 Pixeln festgelegt. | Eine einzelne Ganzzahl oder ein String im Format: 'BREITExHÖHE' |
region | Die geografische Region des zu rendernden Bildes. Standardmäßig das gesamte Bild oder die Grenzen einer bereitgestellten Geometrie. | GeoJSON oder eine 2D-Liste mit mindestens drei Punktkoordinaten, die einen linearen Ring definieren |
crs | Die Zielprojektion, z.B. „EPSG:3857“. Standardmäßig ist WGS84 (EPSG:4326) festgelegt. | String |
format | Das Miniaturansichtsformat wird als PNG oder JPEG definiert. Das Standard-PNG-Format ist als RGBA implementiert, wobei der Alphakanal gültige und ungültige Pixel darstellt, die durch die mask() des Bildes definiert sind. Ungültige Pixel sind transparent. Das optionale JPEG-Format wird als RGB implementiert, wobei ungültige Bildpixel in den RGB-Kanälen mit Nullen aufgefüllt werden.
|
String; entweder „png“ oder „jpg“ |
Bei einem einbändigen Bild wird standardmäßig Graustufen verwendet, sofern kein palette
-Argument angegeben wird. Bei einem Multibandbild wird standardmäßig die RGB-Visualisierung der ersten drei Bänder verwendet, sofern kein bands
-Argument angegeben wird. Wenn nur zwei Bänder angegeben sind, wird das erste Band Rot, das zweite Blau zugeordnet und der grüne Kanal mit Nullen aufgefüllt.
Im Folgenden finden Sie eine Reihe von Beispielen für verschiedene Kombinationen von getThumbURL()
-Parameterargumenten. Klicken Sie auf die URLs, die beim Ausführen dieses Scripts ausgegeben werden, um die Miniaturansichten aufzurufen.
Code-Editor (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)