GRASS logo

NAME

i.hyper.metadata - View and manage hyperspectral metadata for 3D raster maps.

KEYWORDS

imagery, hyperspectral, metadata

SYNOPSIS

i.hyper.metadata
i.hyper.metadata --help
i.hyper.metadata map=name [operation=string] [format=string] [wavelength_range=string] [resolve_names=string] [extended_select=string[,string,...]] [--help] [--verbose] [--quiet] [--ui]

Flags:

--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog

Parameters:

map=name [required]
Input 3D raster map
operation=string
Operation to perform
Options: summary, full, extended, bands, history, validate
Default: summary
summary: Print concise metadata summary
full: Print full metadata for current map
extended: Print selected parts of extended_metadata
bands: List source bands
history: Show full recursive ordered history
validate: Check metadata and lineage consistency
format=string
Output format
Options: json, text, csv
Default: json
wavelength_range=string
Filter bands by wavelength range (e.g., 400-700)
resolve_names=string
Resolve map names by dataset_id for display (full and history)
Options: yes, no
Default: no
extended_select=string[,string,...]
Selector for operation=extended: all, branch, or dot path (e.g., acquisition,geometry.sun_zenith_deg)
Default: all

Table of contents

DESCRIPTION

i.hyper.metadata reads and manages metadata for hyperspectral 3D raster maps created by the i.hyper toolchain. Metadata is loaded from hyper.json.

NOTES

Supported operations: Output format (format) is global for all operations: For full and history, resolve_names=yes resolves inputs/outputs map names from current maps by dataset_id (display only; stored command is unchanged).

For operation=extended, option extended_select= supports:

Selectors are evaluated on resolved extended_metadata (current dataset overrides plus inherited values from lineage).

Dataset provenance is stored in top-level key derived:

API (CLI)

Main options:

API examples:

# Full metadata as JSON
i.hyper.metadata map=my_cube operation=full format=json

# Bands as CSV in 700-900 nm
i.hyper.metadata map=my_cube operation=bands wavelength_range=700-900 format=csv

# One extended branch
i.hyper.metadata map=my_cube operation=extended extended_select=geometry

# Multiple extended selectors
i.hyper.metadata map=my_cube operation=extended \
  extended_select=acquisition,geometry.sun_zenith_deg,atmosphere.aod_550

JSON metadata structure

Imported datasets store full dataset description at top level. Derived datasets store mandatory provenance keys and only local overrides.

{
  "schema_version": "1.0",
  "dataset_id": "5bc6cb5c55b44993afeb78f2da5c8ccf",
  "derived": true,
  "processing_history": [
    {
      "command": "i.hyper.preproc input=enmap output=enmap_sg steps=sav_gol window_length=7 polyorder=3",
      "timestamp": "2026-03-25T12:41:05.281173",
      "inputs": [{"id": "7da4f3e02b8f4ef2bc2a06fb0fe4bb8d", "map_name": "enmap@PERMANENT"}],
      "outputs": [{"id": "5bc6cb5c55b44993afeb78f2da5c8ccf", "map_name": "enmap_sg@PERMANENT"}]
    }
  ],
  "input_datasets_metadata": {
    "7da4f3e02b8f4ef2bc2a06fb0fe4bb8d": { "...": "full parent metadata snapshot" }
  }
}

Derived dataset required top-level keys:

Optional local override keys in derived datasets:

Inheritance rule:

Extended Metadata Branches

For key mapping and provenance rules, see extended_metadata_unification.md.

EXAMPLES

View metadata summary:
i.hyper.metadata map=my_hyper_cube operation=summary format=text
Show bands in visible range:
i.hyper.metadata map=my_hyper_cube operation=bands wavelength_range=400-700
Show full recursive history with current map names:
i.hyper.metadata map=my_hyper_cube operation=history resolve_names=yes
Show all extended metadata:
i.hyper.metadata map=my_hyper_cube operation=extended extended_select=all
Show one specific extended metadata key:
i.hyper.metadata map=my_hyper_cube operation=extended \
  extended_select=geometry.sun_zenith_deg
Show selected branches and key paths at the same time:
i.hyper.metadata map=my_hyper_cube operation=extended \
  extended_select=acquisition,geometry.sun_zenith_deg,processing
Show ATCORR-ready metadata subset (geometry + atmosphere + timing):
i.hyper.metadata map=my_hyper_cube operation=extended \
  extended_select=acquisition.start_time_utc,acquisition.day_of_year,geometry.sun_zenith_deg,geometry.sun_azimuth_deg,geometry.view_zenith_deg,geometry.view_azimuth_deg,geometry.relative_azimuth_deg,atmosphere.aod_550,atmosphere.h2o_g_cm2,atmosphere.ozone_du \
  format=json

SEE ALSO

i.hyper, i.hyper.import, i.hyper.preproc, i.hyper.explore

AUTHOR

Alen Mangafić and Tomaž Žagar, Geodetic Institute of Slovenia
Anna Petrášová, NCSU GeoForAll Lab

SOURCE CODE

Available at: i.hyper.metadata source code (history)

Latest change: Wednesday Jun 17 14:05:16 2026 in commit: 2b69c1e5403d2a3377c287af027fcbad020a088c


Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.5.1dev Reference Manual