Expression insights let you build your own spectral indices or RGB composites by combining bands through a mini-math language. If you can write the equation, the platform will execute it—no extra coding required.
How it works #
Band tokens. #
Each selected band is exposed as an uppercase token (e.g., G, R, S1). Use these tokens directly in the expression editor.
Identifier | Friendly name | λ (μm) ≈ |
---|---|---|
A | Aerosol (Band 1) | 0.443 |
B | Blue (Band 2) | 0.490 |
G | Green (Band 3) | 0.560 |
R | Red (Band 4) | 0.665 |
RE1 | Red Edge 1 (Band 5) | 0.705 |
RE2 | Red Edge 2 (Band 6) | 0.740 |
RE3 | Red Edge 3 (Band 7) | 0.783 |
N | Near-Infrared (Band 8) | 0.842 |
N2 | Near-Infrared 2 (Band 8A) | 0.865 |
WV | Water Vapour (Band 9) | 0.945 |
S1 | Short-wave IR 1 (Band 11) | 1.610 |
S15 | Short-wave IR 1.5 ¹ | 2.145 |
S2 | Short-wave IR 2 (Band 12) | 2.190 |
S3 | Short-wave IR 3 ² | 2.250 |
S4 | Short-wave IR 4 ² | 2.330 |
S5 | Short-wave IR 5 ² | 2.400 |
T / T1 | Thermal Infrared 1 | 10.6 – 11.3 (≈ 11 µm) |
T2 | Thermal Infrared 2 | 11.5 – 12.5 (≈ 12 µm) |
T3 | Thermal Infrared 3 ³ | 8.6 |
T4 | Thermal Infrared 4 ³ | 9.1 |
T5 | Thermal Infrared 5 ³ | 9.6 |
VV | VV polarisation (SAR) | ~0.056 m (C-band) |
VH | VH polarisation (SAR) | ~0.056 m (C-band) |
HV | HV polarisation (SAR) | ~0.056 m (C-band) |
HH | HH polarisation (SAR) | ~0.056 m (C-band) |
¹ S15 is a project-specific convention to keep Sentinel-2 SWIR bands named as S1 and S2
² S3–S5 follow the common hyperspectral/SWIR naming used for sensors with multiple bands beyond Sentinel-2.
³ Thermal sub-bands follow ASTER-style numbering; exact centres depend on instrument.
How to use the table #
- Identifier is what you type in the Expression editor (e.g. RE2 / N).
- Friendly name helps users recognise the spectral region.
- λ provides approximate centre wavelengths for reference when designing physics-based indices or ensuring band compatibility across instruments.
Polarisation channels VV, VH, HV, HH are C-band for Sentinel-1 but are equally valid for X- or L-band SAR instruments; only the carrier frequency changes
Band class | Nominal λ (cm) | Nominal f (GHz) | Example missions |
---|---|---|---|
X-band | 2.5 – 3.2 cm | 9.4 – 12 GHz | TerraSAR-X, COSMO-SkyMed |
C-band | 3.8 – 7.5 cm | 4 – 8 GHz | Sentinel-1, RADARSAT-2 |
L-band | 15 – 30 cm | 1 – 2 GHz | ALOS-PALSAR-2, SAOCOM |
Supported operators & functions #
Syntax | Description | Example |
---|---|---|
+ – * / | Add, subtract, multiply, divide | (N – R) / (N + R) |
^ | Exponentiation | S1 ^ 2 |
SQRT(x) | Square root | SQRT(B * G) |
() | Parentheses for precedence | (A + WV) / 2 |
Note: Square roots must be wrapped in the SQRT() function; x^0.5 is not supported.
Evaluation pipeline #
User Expression ──► Parser & Validator
│
▼
Pixel-wise Execution
│
▼
New Band(s) Added to Image
Single-band vs RGB expressions #
Mode | What you provide | Resulting insight |
---|---|---|
Single Band | One expression (e.g., NDVI) | A gray-scale layer; palette & min/max are required for display |
RGB Composite | Three expressions—one each for R, G, B | A colour composite; no palette needed—values are linearly mapped to RGB |
Normalisation hint #
Most indices naturally fall between 0 and 1 or −1 and 1. Set Absolute Min/Max to the theoretical limits (e.g., 0 / 1 for BDA, -1 / 1 for NDVI). The viewer will apply relative stretching so the map pops without manual tweaking.
Example snippets #
Goal | Expression |
---|---|
NDVI | (N – R) / (N + R) |
Soil-adjusted NDVI | 1.5 * (N – R) / (N + R + 0.5) |
Brightness (PCA-style) | 0.3 * R + 0.3 * G + 0.4 * N |
Vegetation vigour composite | R = (N – R) / (N + R) G = (G – R) / (G + R) B = SQRT(S1 / S2) |
Best-practice checklist #
- Avoid divide-by-zero: add a small constant if the denominator can hit zero, e.g. /(denom + 1e-6).
- Keep it concise: long formulas are harder to debug; break them into several insights if necessary.
- Test on a sample pixel: the preview panel shows real-time values—handy for catching syntax errors.
- Document units: in the insight description, note whether output is ratio, percentage, etc.
With Expression-Based Insights you can prototype new indices in seconds and visualise them immediately—no backend changes, no redeploy, just math.