Guía de Earth Engine Studio
Mapas y geometrías
Renderiza capas, inspecciona valores, dibuja geometrías y crea mapas adicionales.
Mapas y capas
Map controla el orden, la visibilidad y la opacidad de las capas. Los renderizadores admiten rásteres, vectores y distintos mapas base. Map.addLayer(...) añade resultados y Map.centerObject(...) ajusta la vista.
MapLibre puede renderizar capas computePixels en el navegador. Con WebGL2,
shader acepta una sola expresión GLSL que devuelve vec4(...) y puede leer
values, normalized, uv, mercator y alpha. Studio rechaza
declaraciones, directivas del preprocesador y acceso directo a gl_*; siguen
aplicándose los límites normales de Earth Engine y computePixels.
En la vista de globo, las flechas y partículas de campos vectoriales se ocultan
en el horizonte. arrowDistribution: "uniform" o "equal-area" usa anclajes
Fibonacci de área uniforme en lugar de la cuadrícula de Mercator. La densidad
se adapta al zoom y cambia a espaciado de pantalla a corta distancia;
arrowSpacing continúa controlando la densidad. La misma opción aparece como
Uniform globe en la configuración de la capa.
Renderizar símbolos de puntos en el cliente
renderer: "symbols" activa el renderizador WebGL de MapLibre para colecciones
Point y MultiPoint. La fuente puede ser una ee.FeatureCollection autenticada
o una FeatureCollection GeoJSON local; los datos locales no necesitan iniciar
sesión en Earth Engine.
Map.addLayer(peaks, {
renderer: "symbols",
symbol: {type: "mountain", size: 18, sizeProperty: "size", color: "#5b4636"},
label: {
property: "label", position: "above",
positionProperty: "label_position",
fontFamily: "serif", fontSize: 14, scale: "zoom",
color: "#2c2118",
effect: {type: "outline", color: "#f5ead3", width: 2}
},
minZoom: 4, maxZoom: 18,
featureMinZoomProperty: "min_zoom",
featureMaxZoomProperty: "max_zoom"
}, "Cumbres históricas");
Los símbolos son circle, mountain o none; las etiquetas se colocan
above, below, left, right o center. \n crea varias líneas. Los
tamaños se limitan a 1–128 píxeles y las fuentes a 8–64. "zoom" interpola
0,75×/1×/1,5× en zoom 0/12/24; "fixed" conserva el tamaño. Una propiedad no
válida usa el valor predeterminado de la capa, y la ausencia de min/max de zoom
mantiene visible el elemento.
El texto permanece recto y la base de la montaña horizontal al rotar o
inclinar. Se evitan colisiones de forma predeterminada y gana el símbolo más
cercano; allowOverlap: true dibuja todos. Se admiten halo, outline y
shadow. MapLibre genera los glifos de los alias v1 sans, serif y
monospace desde la familia CSS genérica instalada; la forma, las métricas y
la cobertura dependen por ello del cliente.
Las fuentes de Earth Engine cargan teselas XYZ visibles más un margen, paginan 1.000 elementos, limitan cada tesela de consulta a 5.000 y ejecutan cuatro peticiones simultáneas. Una caché LRU de 128 teselas, cancelación y deduplicación evitan costuras. Filtra colecciones densas. Otras geometrías se omiten con aviso. En v1 esta función es exclusiva de MapLibre; OpenLayers y Google Maps muestran un aviso del proveedor.
Aplicaciones de Earth Engine UI
Los scripts ui de Earth Engine se ejecutan directamente en Studio. Un widget
sin adjuntar enviado mediante print(...) aparece en Console. Modificar
ui.root o adjuntar un widget a ui.Map abre una pestaña App junto al mapa
principal sin sustituirlo.
Los mapas permanecen dentro de la App salvo que el script llame a map.open().
ui.SplitPanel admite diseños horizontales, verticales y wipe, además del
ángulo diagonal de Studio mediante angle o splitPanel.setAngle(...).
ui.Map.Linker(...) sincroniza mapas vinculados. ui.App.setHeader(...) y
ui.App.setCss(...) añaden encabezado y estilos aislados. Las pestañas App
pertenecen a la sesión y se recrean al ejecutar de nuevo el script.
Añadir leyendas categóricas
ui.Legend es una extensión de Studio para imágenes clasificadas. Proporciona
listas alineadas values, names y palette. La lista opcional
descriptions muestra una ayuda emergente sobre el color y el nombre de cada
clase:
Map.add(ui.Legend({
title: "Cobertura del suelo",
values: [1, 2],
names: ["Bosque", "Agua"],
palette: ["00A600", "00CCF2"],
descriptions: ["Terreno arbolado", "Agua interior permanente"]
}));
La leyenda también puede descubrir clases desde una ee.Image o una
ee.ImageCollection homogénea. description indica el prefijo; una colección
usa first() y presupone las mismas clases en todas las imágenes:
var corine = ee.ImageCollection("COPERNICUS/CORINE/V20/100m");
Map.add(ui.Legend({
collection: corine,
description: "landcover",
title: "Cobertura CORINE",
style: {position: "bottom-left", width: "390px"}
}));
Para landcover, Studio busca primero landcover_class_values,
landcover_class_names y landcover_class_palette, y después
landcover_values, landcover_names y landcover_palette. Mientras resuelve
los metadatos muestra un estado de carga; las listas ausentes o de distinta
longitud producen un error visible.
Inspeccionar y dibujar
El inspector consulta píxeles y objetos en una ubicación. Las herramientas de dibujo crean puntos, líneas y polígonos reutilizables como variables o GeoJSON. GeoJSON y GeoJSONL se pueden cargar desde rutas de archivo estáticas.
Un script puede abrir pestañas de mapa adicionales mediante MapLibre, OpenLayers o Google Maps. Estas vistas pertenecen a la ejecución y deben recrearse tras recargar.