Working with Planet Tanager Hyperspectral Data in QGIS with HyperCoast
Planet’s Tanager sensor collects 30 m hyperspectral imagery with 426 spectral bands and a roughly weekly revisit, and Planet has released a subset of those scenes as open data through a public STAC catalog. In this tutorial, I show you how to browse, stream, and download Tanager imagery directly inside QGIS using the HyperCoast plugin, then how to load a 1 GB HDF5 surface reflectance cube, build custom band composites on the fly, and inspect spectral signatures pixel by pixel.
Video tutorial: Working with Planet Tanager Hyperspectral Data in QGIS with HyperCoast
What You Will Need¶
QGIS desktop (any standard installation works)
An internet connection (Tanager visual imagery is streamed as Cloud Optimized GeoTIFFs)
Roughly 1.3 GB of free disk space per scene if you want to download the full surface reflectance HDF5 cube
No Planet account or API key is required. Every scene shown in this tutorial is part of the freely released open data set.
About Planet Tanager and the Open Data STAC Catalog¶
Each Tanager item in Planet’s open data STAC catalog ships with several assets. The two that matter for this tutorial are:
A cloud-optimized visual GeoTIFF that contains the RGB bands. This is what you stream when you want a quick look at the scene.
A surface reflectance HDF5 file with all 426 spectral bands. This is the file you download when you want to inspect spectral signatures or run downstream analysis. Each file is roughly 1 to 1.5 GB.
You can browse the catalog page by page, but to make the data easier to search and visualize, I maintain a companion repository, opengeos
Install the HyperCoast Plugin¶
HyperCoast began as a Python package for visualizing hyperspectral data from sensors such as Tanager, PACE, EMIT, and AVIRIS. The QGIS plugin packages the same capabilities for users who prefer a GUI workflow.
To install it:
In QGIS, open Plugins > Manage and Install Plugins.
Switch to the All tab and search for
HyperCoast.Select HyperCoast in the list and click Install Plugin.
Restart QGIS if prompted, then accept the dependency install on first launch.
Once installed, the plugin adds a HyperCoast menu under Plugins and a toolbar with five buttons covering the main entry points.
Search Tanager Footprints¶
Click Search Tanager Data on the HyperCoast toolbar (the first button) to load the daily-updated footprints layer. After a moment, a layer named tanager-sample-footprints appears in the Layers panel and the available scenes are drawn on the map as blue polygons. A Tanager Data panel opens on the right with the matching item table.
To pick a scene, use the selection tool in the panel, then click any footprint on the map. The selected polygon is highlighted, and its entry is highlighted in the table on the right. Each row shows the scene title, acquisition date and time, collection name, and asset count. Scrolling through the full list gives a quick sense of where Planet has been pointing the constellation.
Stream the Visual RGB Image¶
With a scene selected, click Open Visual at the bottom of the panel. HyperCoast loads the visual cloud-optimized GeoTIFF directly from the catalog URL, so there is no full file download. The scene appears as an RGB layer that you can zoom into immediately.
A quick warning: if you run the QGIS Identify Features tool on the streamed visual layer, you will only see three RGB values plus an alpha band. The visual asset is not the hyperspectral cube. To look at spectral signatures across all 426 bands, you need the surface reflectance HDF5, which is the next section.
The Open STAC button on the same panel opens the scene’s entry in the Planet STAC browser in your web browser, which is the fastest way to read the full metadata and acquisition details for the selected item.
Search by Bounding Box, Date, or Collection¶
The panel also exposes search filters. You can:
Enter a bounding box as four numbers (a future release will add Use Map Extent and Draw Bounding Box helpers to match what you may have seen in the NASA Earthdata plugin).
Set a start and end date to restrict the result list to a time window.
Pick a collection. Collections in the STAC catalog mirror Planet’s product categorization, so filtering by collection is a quick way to narrow the list.
Type a free-text keyword. With only about 270 scenes available today, free-text search is less critical than it will be as the catalog grows.
If you just want a sense of how many scenes exist, leave the filters empty and scroll through the table after loading the footprints layer.
Download the HDF5 Surface Reflectance¶
To work with all 426 bands, select a scene and look at the asset dropdown above the Download HDF5 button. Planet provides four hyperspectral variants:
Surface reflectance (atmospherically corrected, ortho-rectified)
Surface reflectance (not ortho-rectified)
Top-of-atmosphere radiance (ortho-rectified)
Top-of-atmosphere radiance (not ortho-rectified)
For most users the ortho-rectified surface reflectance product is the right default, which is what I select in the video. Pick the asset, choose an output folder, and click Download HDF5. Each file is about 1.3 GB, so the download can take a few minutes depending on your connection. The result is a standard .h5 file in the folder you selected.
Load Hyperspectral Data in QGIS¶
Click the second toolbar button, Load Hyperspectral Data, to open the loader panel.
Click Browse and select the
.h5file you just downloaded.Click Preview Dataset. HyperCoast inspects the file and reports the dataset type (
Tanagerin this case), the available variables (surface reflectance and top-of-atmosphere radiance), the band count (426), the coordinate reference system (WGS 84), and the wavelength range.Leave the dataset type dropdown set to auto-detect, or pick
Planet Tanagermanually if you prefer.The default maximum stretch value is set for radiance and is too bright for reflectance, which ranges from
0to1. Lower the maximum to roughly0.3so the initial composite is not washed out to black.Click Load Data.
HyperCoast computes the requested band composite on the fly through a virtual layer rather than loading the full 1 GB cube into QGIS, which keeps the application responsive. The new layer should align exactly with the streamed visual footprint from earlier.
Customize Band Combinations¶
Open the Customize Band Combination section of the loader panel and you can either:
Drag the band sliders to pick any combination of three bands for an arbitrary composite.
Apply a preset such as RGB, Color Infrared (CIR), False Color, or Vegetation.
Click Apply and HyperCoast re-renders the composite without re-downloading or fully loading the cube. A color infrared composite, for example, makes vegetation pop in bright red and is a useful first look at a scene with mixed land cover.
Inspect Spectral Signatures¶
Click the fourth toolbar button, Spectral Inspector, to open the spectral plot panel. Click anywhere on the loaded hyperspectral layer and HyperCoast queries the underlying HDF5 cube at that pixel and plots the full 426-band signature in the upper right. The clicked location is highlighted with a small red marker, and the panel also shows the latitude and longitude of the click.
Click additional pixels and the signatures stack in the same plot, which makes it easy to compare features:
Dense vegetation shows the classic chlorophyll absorption in the visible range and a strong jump in the near infrared.
Water absorbs most incoming light, so its signature stays low across the spectrum.
Bright bare ground and burn scars produce high reflectance across a wide range of bands, but with a different shape from vegetation.
Center-pivot irrigation fields are easy to spot and useful for picking out healthy crops against drier surroundings.
These spectra are exactly the kind of input you would feed into a land cover classifier, a water quality model, or a target detection workflow. With 426 bands you have far more spectral detail to separate classes than you would with a six-band Landsat or thirteen-band Sentinel-2 scene.
Resources¶
HyperCoast Python package: github
.com /opengeos /HyperCoast HyperCoast QGIS plugin page: plugins
.qgis .org /plugins /hypercoast Planet open data STAC repository: github
.com /opengeos /planet -open -data Planet Tanager STAC browser: planet
.com /data /stac /browser /tanager -core -imagery Companion post: Working with HLS Data in QGIS
Companion post: Access 120 Petabytes of NASA Data Directly in QGIS
Video tutorial: youtu
.be /I1LumODB5PU
Try the workflow on a region you care about. The combination of a streaming visual layer for triage and an on-demand 426-band cube for spectral analysis turns hyperspectral data from something that needs a dedicated processing pipeline into something you can explore in a few clicks. If you run into bugs or want to suggest new sensors and presets, please open an issue on the HyperCoast repository, and subscribe on YouTube or follow the RSS feed to catch the next post when it lands.