This is the continuation of the Google Earth Client Paclet posting.
Working with satellite imagery is the core use case of Google Earth Engine. This chapter covers the major satellite data sources available through GEE, how to load and filter them using GEE expression builders, and how to transform raw sensor data into scientifically meaningful images using both server-side GEE operations and client-side Wolfram Language processing.
Prerequisite:
Use of this paclet is subject to the Google Earth Engine Terms of Service.
Authenticate per Section 1.3 and load the paclet with
Needs["DiegoZviovich`GEE`"]
.
2.1 Understanding Satellite Data in GEE

IMAGE vs IMAGE_COLLECTION

Google Earth Engine organizes raster data into two fundamental types:
◼
  • IMAGE -- A single raster layer. Examples include the SRTM digital elevation model (
    "USGS/SRTMGL1_003"
    ) or a single derived product like global forest cover (
    "UMD/hansen/global_forest_change_2023_v1_11"
    ). These are static datasets that do not change over time.
  • ◼
  • IMAGE_COLLECTION -- A time series of images. Examples include Landsat scenes, Sentinel-2 tiles, and MODIS daily composites. Each image in the collection has a timestamp, spatial footprint, and metadata properties like cloud cover percentage.
  • The distinction determines which loading function you use:
    (*Singleimage--useGEELoadImage*)​​srtm=GEELoadImage["USGS/SRTMGL1_003"]​​​​(*Imagecollection--useGEECollection*)​​sentinel=GEECollection["COPERNICUS/S2_SR_HARMONIZED"]
    When you pass a plain asset ID string to
    GEEComputePixels
    or
    GEEImage
    , the package auto-detects the type and handles it appropriately. But when you build explicit pipelines with expression builders, you must choose the correct loader. Using
    GEECollection
    on an IMAGE asset or
    GEELoadImage
    on an IMAGE_COLLECTION asset will produce an error from the GEE server.

    Inspecting Assets with GEEGetAssetInfo

    Before writing a pipeline, inspect the asset to understand its structure:
    info=GEEGetAssetInfo["COPERNICUS/S2_SR_HARMONIZED"]
    This returns an Association with keys including
    "Type"
    ,
    "Bands"
    ,
    "StartTime"
    ,
    "EndTime"
    , and
    "Properties"
    . Key things to check:
    ◼
  • Type -- Confirms whether this is
    "IMAGE"
    or
    "IMAGE_COLLECTION"
    .
  • ◼
  • Bands -- Lists every band name, data type, and resolution. This tells you which band names to use in
    GEESelectBands
    and what scale factors apply.
  • ◼
  • StartTime / EndTime -- The temporal range of the collection. Use these to set sensible date filters.
  • (*CheckthebandsavailableinLandsat9*)​​landsatInfo=GEEGetAssetInfo["LANDSAT/LC09/C02/T1_L2"]​​landsatInfo["Bands"]//Dataset

    Band Naming Conventions

    Different sensors use different naming schemes. The table below summarizes the most common ones you will encounter in this chapter:
    Sensor
    Blue
    Green
    Red
    NIR
    SWIR1
    SWIR2
    Thermal
    Landsat 8/9
    SR_B2
    SR_B3
    SR_B4
    SR_B5
    SR_B6
    SR_B7
    ST_B10
    Sentinel-2
    B2
    B3
    B4
    B8
    B11
    B12
    --
    MODIS (MOD09)
    sur_refl_b03
    sur_refl_b04
    sur_refl_b01
    sur_refl_b02
    sur_refl_b06
    sur_refl_b07
    --
    NAIP
    B
    G
    R
    N
    --
    --
    --
    Knowing these mappings is essential for constructing correct band composites. A "true-color" composite always maps Red, Green, Blue sensor bands to the display's R, G, B channels -- but the band names differ across sensors.
    2.2 Landsat Imagery
    The Landsat program, jointly managed by NASA and the USGS, provides the longest continuous record of satellite Earth observation, stretching back to 1972. Landsat 8 (launched 2013) carries the Operational Land Imager (OLI )and Thermal Infrared Sensors (TIRS) sensors; Landsat 9 (launched 2021) carries OLI-2 and TIRS-2. Both deliver 30-meter multispectral imagery with a 16-day revisit cycle. Together they provide 8-day effective coverage.

    Collection 2 Level-2 Surface Reflectance

    The recommended datasets for scientific analysis are the Collection 2, Tier 1, Level-2 products:
    ◼
  • "LANDSAT/LC08/C02/T1_L2"
    -- Landsat 8
  • ◼
  • "LANDSAT/LC09/C02/T1_L2"
    -- Landsat 9
  • These contain atmospherically corrected surface reflectance (SR) and surface temperature (ST) bands. The "T1" designation means Tier 1, the highest geometric quality.

    Scale Factors

    Raw pixel values in Landsat Collection 2 are stored as scaled integers, not physical reflectance values. You must apply scale factors for quantitative work:
    ◼
  • Surface reflectance bands (SR_B1 through SR_B7): multiply by
    0.0000275
    , then add
    -0.2
    . Valid reflectance range after scaling is approximately 0 to 1.
  • ◼
  • Surface temperature (ST_B10): multiply by
    0.00341802
    , then add
    149.0
    . Result is in Kelvin.
  • For visualization-only workflows (using
    "VisParams"
    ), you can skip the scaling and work directly with the raw DN values. For quantitative analysis (computing indices, thresholds, statistics), always apply the scale factors.

    Example: True-Color Composite over San Francisco

    A true-color composite maps the red, green, and blue spectral bands to the corresponding display channels, producing an image that approximates what the human eye would see.
    In[]:=
    (*Definetheareaofinterest:SanFranciscoBayArea*)​​sfBbox=GeoCircle
    San Francisco
    CITY
    ,Quantity[10,"Miles"];​​​​(*Buildacloud-filteredLandsat9true-colorcomposite*)​​sfTrueColor=GEECollection["LANDSAT/LC09/C02/T1_L2"]//​​GEEFilterDate["2024-04-01","2024-10-01"]//​​GEEFilterBounds[sfBbox]//​​GEEFilterProperty["CLOUD_COVER","LessThan",10]//​​GEESelectBands[{"SR_B4","SR_B3","SR_B2"}]//​​GEEMedian;​​​​(*RenderwithVisParamstunedforLandsatCollection2rawDNrange*)​​img=GEEComputePixels[sfBbox,sfTrueColor,​​"ImageSize"->{384,384},​​"VisParams"-><|"min"->7000,"max"->12000|>]
    Out[]=
    The
    "min"
    and
    "max"
    values in
    "VisParams"
    correspond to the raw DN range for Landsat Collection 2 surface reflectance. Values around 7000 to 12000 typically produce a well-balanced true-color image. Adjust these based on your scene -- bright desert scenes may need a higher max, while dark forested regions may need a lower min.

    Example: False-Color (NIR-Red-Green) for Vegetation

    False-color composites assign non-visible bands to display channels, revealing features invisible in natural color. The classic NIR-Red-Green composite makes vegetation appear bright red because healthy plants strongly reflect near-infrared radiation.
    In[]:=
    (*NIR-Red-GreenfalsecoloroveragriculturallandinIowa*)​​iowaBbox={-93.8,41.9,-93.4,42.2};​​​​iowaFalseColor=GEECollection["LANDSAT/LC09/C02/T1_L2"]//​​GEEFilterDate["2024-06-01","2024-09-01"]//​​GEEFilterBounds[iowaBbox]//​​GEEFilterProperty["CLOUD_COVER","LessThan",30]//​​GEESelectBands[{"SR_B5","SR_B4","SR_B3"}]//​​GEEMedian;​​​​img=GEEComputePixels[iowaBbox,iowaFalseColor,​​"ImageSize"->{384,384},​​"VisParams"-><|"min"->7000,"max"->20000|>]
    Out[]=
    In the resulting image, bright red areas indicate dense, healthy vegetation. Urban areas appear gray-blue. Water appears dark. This composite is a standard tool for agricultural monitoring and land cover classification.

    Example: Thermal Band for Urban Heat Islands

    Landsat's thermal infrared band (ST_B10) measures land surface temperature, making it ideal for studying urban heat island effects -- the phenomenon where cities are significantly warmer than surrounding rural areas.
    After scaling, pixel values are in Kelvin. The range 300-325 K corresponds to approximately 27-52 degrees Celsius, typical for a Phoenix summer. Urban core areas (asphalt, concrete, rooftops) will appear red, while parks and irrigated areas appear cooler.

    Post-Processing Landsat with Wolfram Language

    Once you have retrieved an image, Wolfram Language's image processing functions let you enhance and analyze it further:
    2.3 Sentinel-2 Imagery
    The European Space Agency's Sentinel-2 mission provides the highest-resolution freely available multispectral imagery, with 10-meter spatial resolution in the visible and NIR bands and a 5-day revisit cycle (using both Sentinel-2A and Sentinel-2B). This makes it the go-to sensor for detailed land surface analysis.

    Dataset and Band Structure

    Use the harmonized surface reflectance collection:
    Sentinel-2 has 13 spectral bands at three spatial resolutions:
    The collection also includes a Scene Classification Layer (SCL) at 20 m, which classifies each pixel into categories like cloud, cloud shadow, water, vegetation, and bare soil. This band is the key to building cloud masks.

    Cloud Masking with SCL

    Clouds and their shadows are the primary obstacle to optical satellite imagery. The SCL band provides per-pixel classification that you can use to mask unwanted pixels before compositing. A compact reusable version of this cloud-masking pattern appears in Appendix C, Pattern 4.
    The SCL values to exclude are:
    ◼
  • 3 -- Cloud shadow
  • ◼
  • 8 -- Medium-probability cloud
  • ◼
  • 9 -- High-probability cloud
  • ◼
  • 10 -- Thin cirrus (optional, depending on your tolerance)
  • Example: High-Resolution RGB of a Landmark

    Sentinel-2's 10-meter resolution is sufficient to resolve individual city blocks, bridges, and large buildings.

    Example: Vegetation-Focused False Color (B8-B4-B3)

    Mapping NIR (B8) to red, Red (B4) to green, and Green (B3) to blue produces the classic infrared false color composite used extensively in agriculture and forestry.
    In this composite, dense tropical forest appears as deep red. Cleared or burned areas appear cyan or blue-green. River water appears dark. This is the standard way to visually distinguish between intact forest, degraded areas, and deforested land.

    Example: SWIR Composite for Geology and Burn Scars

    Short-wave infrared (SWIR) bands penetrate haze and are sensitive to soil moisture, mineral content, and burned vegetation. The B12-B8A-B4 composite is widely used in geological mapping and wildfire assessment.
    In this composite, different rock types and mineral deposits appear as distinct colors. Vegetation appears green. Dry, exposed rock appears in shades of red and brown. This is particularly useful in arid regions where vegetation does not obscure the geology.
    2.4 MODIS Imagery
    The Moderate Resolution Imaging Spectroradiometer (MODIS) flies on NASA's Terra (operating since 1999) and Aqua (since 2002) satellites, providing daily global coverage at 250 m to 1 km resolution. While coarser than Landsat or Sentinel-2, MODIS is unmatched for large-scale, high-frequency monitoring.

    Key Datasets

    Example: Global NDVI Map with MODIS

    The MOD13A2 product provides pre-computed NDVI (Normalized Difference Vegetation Index) values at 1 km resolution every 16 days. This is the standard dataset for monitoring global vegetation health.
    The resulting map shows vegetation density across the continental US. The Great Plains agricultural belt and eastern forests appear dark green, while the western deserts appear brown. This type of continental-scale overview is where MODIS excels.

    Example: Compare MODIS and Sentinel-2 for the Same Region

    Understanding the trade-off between spatial resolution and temporal coverage is fundamental. This example retrieves the same area at both MODIS (500 m) and Sentinel-2 (10 m) resolution.
    MODIS provides a smooth, generalized view ideal for regional trends. Sentinel-2 reveals individual field boundaries and irrigation patterns. Choose based on whether your analysis requires spatial detail or temporal frequency.
    2.5 High-Resolution and Commercial Imagery

    NAIP: 1-Meter Aerial Imagery of the US

    The National Agriculture Imagery Program (NAIP) provides 1-meter resolution aerial photography covering the contiguous United States. The imagery includes 4 bands: Red, Green, Blue, and Near-Infrared.
    At 1-meter resolution, you can distinguish individual trees, building footprints, roads, and even parked vehicles. NAIP is updated on a roughly 2-3 year cycle, so check the available date range for your state.

    Example: NAIP 4-Band False Color

    Adding the NIR band to NAIP data turns aerial photography into a powerful vegetation analysis tool:
    In this NIR-Red-Green false color, irrigated crop fields appear as vivid red, fallow fields appear gray-brown, and greenhouses or plastic-covered areas appear white or light blue.

    Sentinel-1 SAR: Radar Imagery Through Clouds

    Synthetic Aperture Radar (SAR) operates at microwave wavelengths that penetrate clouds, smoke, and darkness. Sentinel-1 provides C-band SAR data globally, making it invaluable for monitoring tropical regions where persistent cloud cover renders optical sensors useless for much of the year.
    SAR backscatter values are in decibels (dB). Smooth water surfaces produce very low backscatter (appearing dark), while rough urban surfaces produce high backscatter (appearing bright). Flooded rice paddies alternate between low and high backscatter as they are flooded and then grow vegetation -- this temporal signature is the basis for SAR-based crop mapping.

    Example: Dual-Polarization SAR Composite

    Using both VV and VH polarizations reveals different surface properties. A common visualization maps VV to red, VH to green, and VV/VH to blue:
    In this composite, urban areas appear white (high in both polarizations), water appears dark, and vegetated areas appear green (higher VH cross-polarization due to volume scattering from leaves and branches).
    2.6 Visualization Techniques
    GEE provides multiple ways to visualize satellite data, from server-side rendering with custom palettes to client-side enhancement using Wolfram Language's rich image processing toolkit.

    Server-Side Visualization with GEEVisualize

    Using VisParams in GEEComputePixels

    Wolfram Post-Processing

    Once an image is on the client side, the full power of Wolfram Language image processing is available:

    Overlay Geo Primitives with GEEGeoGraphics

    Using Wolfram ColorData Palettes

    Example: Side-by-Side True Color vs False Color

    A common analysis pattern is to compare the same scene in different band combinations to highlight features not visible in natural color:
    This pattern of sharing a base pipeline and branching into different band selections is efficient -- GEE only evaluates the shared filters once on the server side.
    2.7 Temporal Compositing
    Temporal compositing combines multiple satellite images from a time window into a single cloud-free, gap-free image. This is one of the most important techniques in remote sensing, because no single satellite pass provides a perfect view of the ground.

    Why Compositing Matters

    ◼
  • Clouds -- Any single optical image likely has partial cloud cover. By combining many images, cloudy pixels in one image are replaced by clear pixels from another date.
  • ◼
  • Gaps -- Landsat has a 16-day revisit cycle, so any given location is only imaged every 16 days. Compositing fills spatial gaps from the swath pattern.
  • ◼
  • Noise -- Atmospheric haze, sensor artifacts, and bidirectional reflectance effects introduce noise in single images. Aggregating reduces these effects.
  • ◼
  • Seasonal variation -- A 3-month composite captures the average conditions during that season, which is more representative than a single snapshot.
  • Choosing an Aggregation Method

    GEE provides several aggregation functions, each suited to different analytical goals:
    GEEMean produces smoother results but is sensitive to outliers. A single unmasked cloud pixel pulls the mean toward white. Use only when you have confidence in your cloud masking or when you actually want a smoothed average.
    GEEMosaic simply stacks images and takes the last value. It does not reduce noise or remove clouds. Its primary use is for datasets that are already pre-composited (like NAIP tiles) or when you want the most recent image on top.

    Example: Seasonal Composites

    Creating composites for each season reveals how the landscape changes through the year. This is fundamental for agricultural monitoring, phenology studies, and land cover classification.
    The seasonal progression is dramatic in temperate latitudes. Winter composites show bare brown fields and possibly snow. Spring shows early green-up. Summer shows peak vegetation. Autumn shows senescence and harvest.

    Example: Annual Median for Change Detection Baseline

    Change detection requires a stable baseline. An annual median composite suppresses transient features (clouds, shadows, temporary construction) and represents the "typical" state of the landscape for that year.
    Differences between the two baselines reveal construction, deforestation, agricultural changes, and other landscape transformations. Chapter 5 will cover quantitative change detection methods that build on these baselines.

    GEEQualityMosaic: Best-Pixel Compositing

    Max, Min, and Sum Composites

    These specialized aggregations serve specific analytical needs:
    Summary
    This chapter covered the core satellite imagery workflows you will use in nearly every Google Earth Engine analysis:
    Next: Chapter 3: Climate and Weather Analysis

    CITE THIS NOTEBOOK

    Google Earth Engine (GEE) paclet: satellite imagery fundamentals​
    by Diego Zviovich​
    Wolfram Community, STAFF PICKS, May 13, 2026
    https://community.wolfram.com/groups/-/m/t/3715214