Hay varios métodos ee.Image
que producen representaciones visuales RGB de los datos de imagen, por ejemplo: visualize()
, getThumbURL()
, getMap()
, getMapId()
(se usa en la visualización del mapa de Folium de Colab) y Map.addLayer()
(se usa en la visualización del mapa del Editor de código, no disponible para Python). De forma predeterminada, estos métodos
asignan las primeras tres bandas a rojo, verde y azul, respectivamente. El estiramiento predeterminado se basa en el tipo de datos de las bandas (p.ej., los números de punto flotante se estiran en [0, 1], los datos de 16 bits se estiran al rango completo de valores posibles), lo que puede ser adecuado o no. Para lograr los efectos de visualización deseados, puedes proporcionar los siguientes parámetros de visualización:
Parámetro | Descripción | Tipo |
---|---|---|
bandas | Lista separada por comas de tres nombres de bandas que se asignarán a RGB | list |
min | Valores que se asignarán a 0 | número o lista de tres números, uno para cada banda |
max | Valores que se asignarán a 255 | número o lista de tres números, uno para cada banda |
ganar | Valores por los que se debe multiplicar cada valor de píxel | número o lista de tres números, uno para cada banda |
sesgo | Valores que se agregarán a cada DN | número o lista de tres números, uno para cada banda |
gamma | Factores de corrección gamma | número o lista de tres números, uno para cada banda |
palette | Lista de cadenas de colores de estilo CSS (solo imágenes de una sola banda) | Lista de cadenas hexadecimales separadas por comas |
opacidad | Es la opacidad de la capa (0.0 es completamente transparente y 1.0 es completamente opaco). | número |
formato | "jpg" o "png" | string |
Compuestos RGB
A continuación, se ilustra el uso de parámetros para aplicar diseño a una imagen de Landsat 8 como un compuesto de colores falsos:
// 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
# 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)
En este ejemplo, la banda 'B5'
se asigna al rojo, 'B4'
se asigna al verde y 'B3'
se asigna al azul.

Paletas de colores
Para mostrar una sola banda de una imagen en color, configura el parámetro palette
con una rampa de colores representada por una lista de cadenas de colores de estilo CSS. (consulta esta referencia para obtener más información). En el siguiente ejemplo, se muestra cómo usar colores del cian ('00FFFF'
) al azul ('0000FF'
) para renderizar una imagen del
índice de diferencia de agua normalizada (NDWI):
// 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
# 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)
En este ejemplo, ten en cuenta que los parámetros min
y max
indican el rango de valores de píxeles a los que se debe aplicar la paleta. Los valores intermedios se estiran de forma lineal.
También ten en cuenta que el parámetro show
se establece en false
en el ejemplo del editor de código. Esto hace que la visibilidad de la capa esté desactivada cuando se agrega al mapa. Se puede volver a activar con el Layer Manager en la esquina superior derecha del mapa del editor de código.

Cómo guardar paletas de colores predeterminadas
Para guardar paletas de colores en una imagen de clasificación de modo que no sea necesario recordar aplicarlas, puedes establecer dos propiedades de imagen de cadena con nombres especiales para cada banda de clasificación.
Por ejemplo, si tu imagen tiene una banda llamada 'landcover'
con tres valores 0, 1 y 2 correspondientes a las clases "agua", "bosque" y "otro", puedes establecer las siguientes propiedades para que la visualización predeterminada muestre un color especificado para cada clase (los valores utilizados en el análisis no se verán afectados):
landcover_class_values="0,1,2"
landcover_class_palette="0000FF,00FF00,AABBCD"
Consulta la página de administración de recursos para obtener información sobre cómo configurar los metadatos de los recursos.
Enmascaramiento
Puedes usar image.updateMask()
para establecer la opacidad de píxeles individuales según la posición de los píxeles en una imagen de máscara que no sean cero. Los píxeles iguales a cero en la máscara se excluyen de los cálculos y la opacidad se establece en 0 para la visualización. En el siguiente ejemplo, se usa un umbral de NDWI (consulta la
sección Operaciones relacionales para obtener información sobre los umbrales) para actualizar la máscara en la capa de NDWI creada anteriormente:
// 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
# 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)
Imágenes de visualización
Usa el método image.visualize()
para convertir una imagen en una imagen RGB de 8 bits para mostrarla o exportarla. Por ejemplo, para convertir el compuesto de colores falsos y el NDWI en imágenes de visualización de 3 bandas, usa lo siguiente:
// 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
image_rgb = image.visualize(bands=['B5', 'B4', 'B3'], max=0.5) ndwi_rgb = ndwi_masked.visualize(min=0.5, max=1, palette=['00FFFF', '0000FF'])
Mosaicos
Puedes usar el enmascaramiento y imageCollection.mosaic()
(consulta la sección Mosaicos para obtener información sobre este tema) para lograr varios efectos cartográficos. El método mosaic()
renderiza capas en la imagen de salida según su orden en la colección de entrada. En el siguiente ejemplo, se usa mosaic()
para combinar el NDWI enmascarado y el compuesto de colores falsos y obtener una visualización nueva:
// 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
# 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)
En este ejemplo, observa que se proporciona una lista de las dos imágenes de visualización al constructor ImageCollection
. El orden de la lista determina el orden en el que se renderizan las imágenes en el mapa.

Recorte
El método image.clip()
es útil para lograr efectos cartográficos. En el siguiente ejemplo, se recorta el mosaico creado anteriormente a una zona de amortiguamiento arbitraria alrededor de la ciudad de San Francisco:
// 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
# 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)
En el ejemplo anterior, ten en cuenta que las coordenadas se proporcionan al constructor Geometry
y que la longitud del búfer se especifica como 20,000 metros. Obtén más información sobre las geometrías en la página Geometrías.

Renderización de mapas categóricos
Las paletas también son útiles para renderizar mapas con valores discretos, por ejemplo, un mapa de cobertura de suelo.
En el caso de varias clases, usa la paleta para proporcionar un color diferente para cada una.
(El método image.remap()
puede ser útil en este contexto para convertir etiquetas
arbitrarias en números enteros consecutivos). En el siguiente ejemplo, se usa una paleta para renderizar categorías de cobertura de terreno:
// 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
# 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)

Descriptores de capas con diseño
Puedes usar un descriptor de capas con diseño (SLD) para renderizar imágenes para la visualización. Proporciona a image.sldStyle()
una descripción XML de la simbolización y el color de la imagen, específicamente el elemento RasterSymbolizer
. Obtén más información sobre el elemento RasterSymbolizer
aquí.
Por ejemplo, para renderizar el mapa de cobertura de la tierra que se describe en la sección Renderización de mapas categóricos con un SLD, usa lo siguiente:
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
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)
Para crear una imagen de visualización con una rampa de colores, establece el tipo de ColorMap
como "ramp". En el siguiente ejemplo, se comparan los tipos "interval" y "ramp" para renderizar un DEM:
// 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
# 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)
Los SLD también son útiles para estirar los valores de píxeles y mejorar las visualizaciones de datos continuos. Por ejemplo, el siguiente código compara los resultados de un estiramiento lineal arbitrario con una “normalización” mínima y máxima y una ecualización de “histograma”:
// 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
# 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)
Puntos a tener en cuenta en relación con el uso de SLD en Earth Engine:
- Se admiten OGC SLD 1.0 y OGC SE 1.1.
- El documento en formato XML que se pasa puede ser completo o solo el elemento RasterSymbolizer y hacia abajo.
- Las bandas se pueden seleccionar por su nombre o índice de Earth Engine ("1", "2", …).
- Los mecanismos de estiramiento de contraste de histograma y normalización no son compatibles con las imágenes de puntos flotantes.
- La opacidad solo se tiene en cuenta cuando es 0.0 (transparente). Los valores de opacidad que no son cero se consideran completamente opacos.
- Actualmente, se ignora la definición de OverlapBehavior.
- Actualmente, no se admite el mecanismo ShadedRelief.
- Actualmente, no se admite el mecanismo ImageOutline.
- Se ignora el elemento Geometry.
- La imagen de salida tendrá metadatos histogram_bandname si se solicita la ecualización o la normalización del histograma.
Imágenes en miniatura
Usa el método ee.Image.getThumbURL()
para generar una imagen de miniatura PNG o JPEG para un objeto ee.Image
. Si imprimes el resultado de una expresión que termina con una llamada a getThumbURL()
, se imprime una URL. Si visitas la URL, se configuran los servidores de Earth Engine para que trabajen en la generación de la miniatura solicitada sobre la marcha. La imagen se muestra en un navegador cuando se completa el procesamiento. Para descargarlo, selecciona las opciones adecuadas del menú contextual de la imagen haciendo clic con el botón derecho.

El método getThumbURL()
incluye parámetros, que se describen en la tabla de parámetros de visualización anterior.
Además, toma argumentos opcionales dimensions
, region
y crs
que controlan la extensión espacial, el tamaño y la proyección de la pantalla de la miniatura.
Parámetro | Descripción | Tipo |
---|---|---|
dimensions | Dimensiones de la miniatura en unidades de píxeles. Si se proporciona un solo número entero, se define el tamaño de la dimensión de aspecto más grande de la imagen y se escala la dimensión más pequeña de forma proporcional. El valor predeterminado es de 512 píxeles para la dimensión de aspecto de la imagen más grande. | Un solo número entero o una cadena con el formato "WIDTHxHEIGHT". |
region | Es la región geoespacial de la imagen que se renderizará. Toda la imagen de forma predeterminada o los límites de una geometría proporcionada. | GeoJSON o una lista 2D de al menos tres coordenadas de punto que definen un anillo lineal |
crs | Es la proyección de destino, p.ej., "EPSG:3857". El valor predeterminado es WGS84 ("EPSG:4326"). | String |
formato | Define el formato de miniatura como PNG o JPEG. El formato PNG predeterminado se implementa como RGBA, en el que el canal alfa representa píxeles válidos y no válidos, definidos por el mask() de la imagen. Los píxeles no válidos son transparentes. El formato JPEG opcional se implementa como RGB, en el que los píxeles de imagen no válidos se completan con cero en los canales RGB.
|
Cadena: "png" o "jpg" |
Una imagen de una sola banda se mostrará en escala de grises de forma predeterminada, a menos que se proporcione un argumento palette
. Una imagen multibanda mostrará de forma predeterminada la visualización RGB de las primeras tres bandas, a menos que se proporcione un argumento bands
. Si solo se proporcionan dos bandas, la primera se asignará al rojo, la segunda al azul y el canal verde se completará con cero.
A continuación, se muestra una serie de ejemplos que demuestran varias combinaciones de argumentos de parámetros getThumbURL()
. Haz clic en las URLs impresas cuando ejecutes esta secuencia de comandos para ver las miniaturas.
// 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
# 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)