Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Searching, subsetting and visualising imagery before it enters your project workflow

Open In Colab

1. Motivation

In the previous page, you defined search criteria for suitable spatial data. Here, you apply that logic to Remote Sensing data.

Remote sensing datasets can be very useful for SDS320 projects, but they come with trade-offs. Spatial Resolution determines which objects are visible. Temporal coverage determines whether you can observe the period of interest. Cloud cover affects usability. Spectral Bands determine which surface properties you can analyse.

This page focuses on search, inspection, small subset downloads and quick visual checks. Full Preprocessing comes later.

By the end of this page, you should be able to answer:

Which imagery source fits my project, and can I retrieve a useful subset without downloading too much data?

2. Core idea

Modern imagery access often follows a search-first workflow.

Instead of downloading a full scene immediately, you first search metadata, inspect candidate scenes, choose useful assets, and then retrieve only the area and bands you need.

A common workflow is:

Choose source
→ search catalog
→ inspect collection
→ search items
→ inspect assets
→ load or download a small subset
→ visualise and check
→ document the decision

This is especially useful for cloud-hosted Cloud Optimized GeoTIFFs, where Python can read only a spatial window from a large remote file.


3. STAC in one minute

SpatioTemporal Asset Catalog (STAC) is a standard way to describe and search geospatial assets.

A typical STAC structure is:

Catalog → Collection → Item → Asset
STAC levelMeaning
CatalogEntry point to a data archive or API.
CollectionDataset group, such as Sentinel-2, Landsat or NAIP.
ItemOne scene, tile or observation with footprint and date.
AssetOne file connected to an item, such as a band, preview or metadata file.

In practice, you connect to a catalog, choose a collection, search for items by area and time, inspect the assets, and then load or download the files that matter for your project.


4. Explore the Planetary Computer

The Microsoft Planetary Computer hosts many Earth observation datasets and provides a STAC API.

Useful entry points:

Start with the online catalogue before writing code. It helps you understand which collections exist, what they contain and which collection IDs you need.


5. Choose an imagery source

Common open or partly open sources include:

SourceTypical useMain limitation
Sentinel-2Multispectral land monitoring, vegetation, land cover and change detection.Clouds and 10–20 m bands may limit small-object mapping.
LandsatLong-term change analysis over decades.Coarser multispectral resolution than Sentinel-2.
NAIPHigh-resolution aerial imagery for the United States.Coverage is limited to the United States.
SWISSIMAGEVery high-resolution imagery for Switzerland.Very large data volume at 10 cm resolution.
Vantor Open DataEvent-focused high-resolution imagery for selected disasters.Coverage is limited to released events and licensing must be checked.

Choose based on your project need, not only on popularity.


6. Helper code for spatial subsets

The following helper functions demonstrate how to retrieve a spatial subset of large remote imagery files. They search STAC items, read only a spatial window of interest, write a local GeoTIFF, and display a quick visual preview.

You can configure the output dimensions to suit your needs—smaller subsets load faster and use less disk space, while larger subsets preserve more detail. These functions use spatial windowing to avoid downloading the entire scene. For final analysis, always verify the native resolution and document any resampling used.


7. Practical subset workflows

The following examples all follow the same pathway:

define a small bounding box
→ search a catalogue
→ inspect the selected item
→ choose assets
→ save or visualise a subset
→ check whether the result is useful

Use them as patterns for your own project. The exact locations are examples, but the decisions are transferable.


Sentinel-2 data

Sentinel-2 is a useful first example because it is global, multispectral and available through the Planetary Computer.

Here, the subset focuses on Rome. At 10 m resolution, a subset of approximately 1000 × 400 pixels covers several kilometres and shows the city pattern clearly.

Found 10 Sentinel-2 item(s)

Select the least-cloudy item and inspect its assets.

Selected item: S2A_MSIL2A_20250809T100041_R122_T32TQM_20250809T122414
Date: 2025-08-09 10:00:41.024000+00:00
Cloud cover: 0.0

Useful assets:
B02 - Band 2 - Blue - 10m
B03 - Band 3 - Green - 10m
B04 - Band 4 - Red - 10m
B08 - Band 8 - NIR - 10m
SCL - Scene classfication map (SCL)
visual - True color image

Download only a small RGB subset.

Saved: data/raw/sentinel2/s2_rome_rgb_subset.tif (1.39 MB)
<Figure size 700x300 with 1 Axes>

Project check: if your project targets small objects such as individual trees, cars or buildings, Sentinel-2 may be too coarse. If your project targets broader land-cover patterns, vegetation, water or change, it may be a good candidate.


Landsat

Landsat is useful when the time dimension matters. It has a long archive and global coverage, but coarser resolution than Sentinel-2.

Here, the subset focuses on the Mount Everest region in the Himalaya. The preview is useful for understanding terrain and glacier context, but 30 m pixels are not suitable for very small objects.

Found 1 Landsat item(s)
Selected item: LC08_L2SP_140041_20260811_02_T1
Date: 2026-08-11 04:41:49.902009+00:00
Cloud cover: 26.16

First asset keys:
['qa', 'ang', 'red', 'blue', 'drad', 'emis', 'emsd', 'trad', 'urad', 'atran', 'cdist', 'green', 'nir08', 'lwir11', 'swir16', 'swir22', 'coastal', 'mtl.txt', 'mtl.xml', 'mtl.json']

For Landsat Collection 2 Level-2, common visible-band asset names are red, green and blue.

The notebook example below uses swir22, nir08 and red. This is a false-colour composite, not a true-colour RGB image. It can be useful for highlighting snow, ice, rock and vegetation patterns, but the colours should be explained in captions and project notes.

Saved: data/raw/landsat/landsat_everest_rgb_subset.tif (1.16 MB)
<Figure size 700x300 with 1 Axes>

Project check: Landsat is strongest when you need temporal depth. Do not force it to answer questions that require very fine spatial detail.


NAIP

NAIP provides high-resolution aerial imagery for the United States. It is useful for fine spatial detail such as buildings, tree crowns and urban features.

Here, the subset focuses on the Statue of Liberty in New York Harbor.

Found 6 NAIP item(s)
Selected item: nj_m_4007424_ne_18_030_20230820_20231019
Date: 2023-08-20 16:00:00+00:00

Asset keys:
['image', 'thumbnail', 'tilejson', 'rendered_preview']

NAIP items on the Planetary Computer typically include a multi-band image asset. Inspect asset keys first; in many cases the image asset is named image.

Source CRS: EPSG:26918
Read shape, dtype: (3, 1144, 3086) uint8
Saved: data/raw/naip/naip_statue_of_liberty_rgb_subset.tif (6.34 MB)
<Figure size 700x300 with 1 Axes>

Project check: NAIP is useful for high-detail examples, but it is not a global source. Use it for United States study areas or for comparing what higher-resolution imagery can reveal.


Vantor Open Data

Vantor Open Data provides high-resolution imagery for selected disaster events. The root catalog is a static STAC catalog, and event collections are listed as child collections.

Here, the example uses a recent international event collection from the catalog: Bordeaux, France wildfire. Because event catalogs change, inspect available collections before using this example in class.

Found 10 Vantor event collection(s)
Nepal-Flooding-Aug-2026 - Nepal-Flooding-Aug-2026
Indonesia-Earthquakes-Aug-2026 - Indonesia-Earthquakes-Aug-2026
Colombia-Earthquake-Aug-2026 - Colombia-Earthquake-Aug-2026
Spokane-Washington-Wildfire-Aug-2026 - Spokane-Washington-Wildfire-Aug-2026
Bordeaux-France-Wildfire-July-2026 - Bordeaux-France-Wildfire-July-2026
Marianas-Typhoon-Bavi-Jul-2026 - Marianas-Typhoon-Bavi-Jul-2026
Venezuela-Earthquake-Jun-2026 - Venezuela-Earthquake-Jun-2026
Typhoon-Gezani-Feb-2026 - Typhoon-Gezani-Feb-2026
Spain-Portugal-Flooding-Feb-2026 - 
DRC-Ebola-May-2026 - 

Select a Bordeaux-related collection if it is available.

Selected collection: Bordeaux-France-Wildfire-July-2026
Title: Bordeaux-France-Wildfire-July-2026
License: CC-BY-NC-4.0
Temporal extent: [[datetime.datetime(2025, 6, 28, 11, 12, 56, 499706, tzinfo=tzutc()), datetime.datetime(2026, 8, 2, 13, 1, 20, 124598, tzinfo=tzutc())]]
Spatial extent: [[-1.2742225653789223, 43.49679588933845, -0.6395789564247755, 45.13192945640946], [-1.0866046100839646, 43.49679588933845, -0.9482780049262116, 45.01681050076998], [-1.1651334377781184, 44.483883169540796, -1.0344149566724423, 45.017163362105414], [-0.8010187896300898, 44.628686090502505, -0.6395789564247755, 45.018655307399364], [-0.987711061938628, 43.98886554667131, -0.844451682914271, 45.01945009720874], [-1.2742225653789223, 44.56098682256715, -1.0369428147466706, 45.13192945640946], [-0.9860413873554518, 44.81163846531536, -0.8334323956643905, 44.92094641108218], [-1.2528128601686286, 44.66351539148739, -1.080935076630079, 45.029486220172956], [-1.1227403179547393, 44.6791240499718, -0.9672004563884485, 45.01806304603371]]

Because static event catalogs differ, inspect the items and assets before choosing a subset.

Found 8 item(s)
Selected item: B1400011003A5A10
Date: 2026-03-20 10:23:50.499647+00:00
Item bbox: [-1.0866046100839646, 43.49679588933845, -0.9482780049262116, 45.01681050076998]

Assets:
visual - Visual COG - image/tiff; application=geotiff; profile=cloud-optimized
thumbnail - Thumbnail - image/jpeg

Choose a small subset near your area of interest.

[-1.0846, 44.8698, -1.0666, 44.8748]

Select an image asset. Asset names vary, so inspect the printed list first.

Using asset: visual
Source CRS: EPSG:4326
Read shape, dtype: (3, 1609, 4164) uint8
Saved: data/raw/vantor/vantor_bordeaux_event_rgb_subset.tif (15.31 MB)
<Figure size 700x300 with 1 Axes>

Project check: event-based imagery can be highly relevant for disaster mapping, but the coverage is limited to released events. Always check the event, date, licence and whether your intended use is allowed.


SWISSIMAGE data

For projects in Switzerland, SWISSIMAGE can be useful because it provides very high-resolution aerial imagery. At 10 cm resolution, even a small area can become a large raster.

The key classroom pattern is:

Search bbox: WGS84 coordinates
Loaded data: often Swiss projected CRS, such as EPSG:2056

The notebook code below uses the swisstopo STAC search endpoint, groups tiles by year, and mosaics the same Campus Irchel extent across available years. This keeps the example focused on a small area while avoiding visible tile boundaries.

Found imagery across 3 years: ['2019', '2022', '2025']
  2019: 2 tile(s) to mosaic
  2022: 2 tile(s) to mosaic
  2025: 2 tile(s) to mosaic

Mosaic all tiles that intersect the bbox for each year, so tile boundaries do not show, and compare the exact same extent across years.

<Figure size 2100x700 with 3 Axes>

Mosaicking to an exact extent like this keeps you in control of the area and years you need, without downloading full scenes or letting tile seams show. Without subsetting, large raster files can become impractical for quick inspection.

Project check: SWISSIMAGE is excellent for detailed visual inspection in Switzerland, but its resolution can quickly create large arrays. Keep test areas small and document the CRS transformation clearly.


VEXCEL data

The private company VEXCEL provides aerial orthoimages at up to 7.5 cm resolution, together with a Digital Surface Model (DSM) and a Digital Terrain Model (DTM). Coverage includes major cities around the world, much of Europe and the continental United States, often with several flight years per area.

Two features make VEXCEL interesting for SDS320 projects:

  • Very high resolution: at 7.5 cm, individual roof structures, cars and small trees become visible.

  • Near-infrared: recent collections include a near-infrared band, so you can compute vegetation indices such as NDVI at a level of detail that satellite imagery cannot reach.

VEXCEL data are commercial, but students can apply for free access through the VEXCEL University Access Program. With an account, you can browse the imagery in the VEXCEL Viewer and download it through the VEXCEL API.

The VEXCEL Viewer showing a high-resolution aerial orthoimage of an urban area.

The VEXCEL Viewer: check which collections and flight years cover your area before downloading imagery through the API.

For downloads, you can use these script, available in two versions with identical code:

Both require your personal access token, which is valid for 24 hours. The notebook explains how to obtain it. The workflow is:

Log in to the API and copy the token
→ set area, zoom level and target projection
→ list the collections covering the area and pick the newest
→ download true-colour (RGB) and colour-infrared (IRG) tiles
→ stack to blue, green, red, NIR
→ merge, reproject and clip to the exact area
→ save one 4-band GeoTIFF

8. Inspect your subset before using it

After creating a subset, inspect the saved file. This is the quality gate between data acquisition and preprocessing.

Path: data/raw/sentinel2/s2_rome_rgb_subset.tif
Width x height: 816 x 367
Bands: 3
CRS: EPSG:32632
Resolution: (10.0, 10.0)
Bounds: BoundingBox(left=783786.3687304799, bottom=4642108.004359249, right=791946.3687304799, top=4645778.004359249)
Data type: uint16
File size: 1.39 MB

Run the same check for the other subsets you create.

Use the output to decide whether the subset is ready for the next step.

CheckWhy it matters
Width and heightShows whether the subset is small enough to handle and large enough to inspect.
BandsConfirms whether you downloaded the expected band combination.
CRSHelps avoid spatial misalignment later.
ResolutionShows whether the data can capture your target feature.
BoundsConfirms that the subset covers the intended area.
File sizeHelps keep project storage and repository decisions realistic.

9. Python reactivation

Remote sensing search and download workflows often use familiar Python building blocks:

Python ideaWhere it appears
ListBounding boxes and lists of bands.
DictionaryQuery filters such as cloud-cover thresholds.
LoopInspecting collections, items and assets.
FunctionReusing subset and plotting code.
PathlibCreating output folders and file paths.

Example:

Requested band: B04
Requested band: B03
Requested band: B02

Keep project parameters visible near the top of your notebook:

This makes your workflow easier to adapt and document.


10. Common pitfalls

Use this table when your imagery workflow becomes confusing, fails unexpectedly or produces data that are too large.

PitfallHow to avoid it
Search returns no itemsCheck bbox order, date range, collection ID and whether the collection covers the area.
Too many items are returnedNarrow the bbox, date range or quality filter.
The saved subset is too largeReduce the bbox, number of bands or number of years.
The subset looks blurry or blockyCheck source resolution and whether the target feature is visible at that resolution.
The subset looks too dark or washed outApply or adjust the percentile stretch for display.
The image appears in the wrong placeCheck search CRS, output CRS and bbox coordinates.
Bands appear in strange coloursCheck band order before plotting an RGB Composite.
Cloud cover is low but the image looks cloudyInspect the actual image and quality layers, not only metadata.
Asset names differ from the examplePrint item.assets.keys() and choose assets manually.
The workflow only works for one locationMove bbox, date range, collection ID and output paths into project parameters.

11. Mini task

Create a subset of imagery for your own project area. Choose the source, bounding box and bands based on what makes sense for your project question.

Try to keep the subset manageable. For a first test, aim for a file below about 100 MB. If the file is larger, shrink the bounding box before continuing.

Document:

Data source:
Catalog:
Collection:
Bounding box:
Date range:
Selected item:
Selected assets:
Output file:
File size:
What the subset shows:
Main limitation:
Next project decision:

12. Key takeaways

  • Search metadata before downloading imagery.

  • The Planetary Computer catalogue helps you discover available datasets and collection IDs.

  • STAC separates catalogs, collections, items and assets.

  • Small spatial subsets are safer than full-scene downloads during project exploration.

  • Always inspect CRS, resolution, bands, bounds, file size and visual plausibility.

  • A subset is useful for project decisions, but final analysis may need native-resolution data and clearer preprocessing.