Lab 3: Matching Sensor to Purpose

Navigating the GEE Data Catalog and choosing the right imagery

Author

Dr. Francisco Laso, ESCI 442/542 — Introduction to Remote Sensing

Lab 3 Module 2 — The Cloud Shift
Readings due before lab: Campbell Ch. 6 — Image Interpretation (pp. 145–173)  |  Ch. 7 — Land Observation Satellites (pp. 175–202)  |  Cardille Ch. F3 — Survey of Raster Datasets (pp. 41–65)  |  Ch. F4 — The Remote Sensing Vocabulary (pp. 67–95)

Background

Every remote sensing project begins with a question, not a dataset. Before you open GEE, before you type a collection ID, before you write a single line of code — you need to know what you are trying to learn and what the feature of interest looks like on the ground. The sensor comes second. This sounds obvious, but it is a discipline that experienced practitioners have to consciously maintain. The temptation is to reach for familiar imagery — a Landsat scene, a Sentinel-2 tile — and then figure out what it can tell you. That approach produces analyses shaped by the data you had rather than the question you asked.

In Lab 2 you worked with a single, pre-specified Landsat 8 scene. The scene ID was given to you, the composites were defined, and the fire was already visible when you loaded the image. What was hidden was the decision that went into selecting that scene in the first place: Why Landsat 8 and not Sentinel-2? Why that particular date? Why that spatial extent? Those decisions are the subject of this lab.

Cardille et al. (Ch. F3) surveyed the breadth of imagery available in the GEE Data Catalog — Landsat collections spanning five decades, Sentinel-2 at 10 m, MODIS global daily composites, digital elevation models, land cover products, and climate datasets. Cardille et al. (Ch. F4) gave you the vocabulary to compare them: spatial resolution, temporal resolution, spectral resolution, and radiometric resolution. Campbell Chapter 7 placed that catalog in historical context, tracing how the Landsat program, Landsat-like systems such as Sentinel-2, and broad-scale platforms such as MODIS and VIIRS came to exist and what each was designed to do. These are not independent topics. They are the conceptual infrastructure for a decision you will make every time you start a new analysis.

Today you will work through three independent monitoring scenarios. Each scenario describes a real environmental problem, a specific geographic location, and a deadline. Your task for each is to navigate the GEE Data Catalog, identify the sensor best suited to the job, filter an image collection to a usable scene, and justify your choice in writing. The scenarios are designed so that no single sensor is the right answer for all three. Understanding why each answer differs — and why the wrong answers are wrong — is the core skill this lab builds. It is also the skill your project proposal will require you to demonstrate independently.


Note

Lab Objectives

By the end of this lab you will be able to:

  1. Navigate the GEE Data Catalog to find a sensor’s collection ID, band structure, native scale, and data type
  2. Filter an ee.ImageCollection by location and date to isolate a single usable image
  3. Identify the appropriate sensor for a monitoring purpose by evaluating spatial, temporal, spectral, and radiometric resolution trade-offs
  4. Justify a sensor selection decision in writing, naming the specific resolution dimension that governs the choice
  5. Identify a sensor that would be inappropriate for a given purpose and articulate why
  6. Locate a study area using the GEE Code Editor search bar and define a geometry from coordinates
  7. Apply Campbell’s elements of image interpretation — tone, texture, shadow, pattern, association, shape, size, and site — to describe a real satellite image

Warning

Before You Begin


Part 1 — The Catalog as a Decision Tool

In Lab 2 you used the GEE Data Catalog once: to confirm the collection path for Landsat 8 C2 L2. Today the catalog is your primary working tool. Before opening any script, spend a few minutes with the catalog itself.

Exploring the catalog

Open the GEE Data Catalog home page. Look at the navigation bar at the top. Most entries are organizational — All Datasets, All Tags, Categories — but three sensor families appear as dedicated navigation items by name: Landsat, MODIS, and Sentinel. Before going further, open the full catalog and scroll through it. You do not need to record anything — the point is to develop a sense of how many datasets exist and how varied they are.

Now return to the three families. Click into each one in turn. What you will find is not three datasets — it is three programs, each containing dozens of products at different processing levels, spatial and temporal resolutions, and stages of derivation. Within Landsat alone you will find missions spanning five decades, multiple processing tiers, and both raw and atmospherically corrected products. Within MODIS you will find everything from daily raw surface reflectance to derived fire detection, vegetation indices, and land cover classifications. Within Sentinel you will find both optical and synthetic aperture radar products from multiple satellites.

Script L3.1 loads one image from each of the three families to establish baseline comparisons for spatial resolution, temporal cadence, and data type. These are starting points for comparison, not a complete description of what you will use in this lab.

Each family is a program containing far more than one product. Within Landsat, missions span Landsat 1 through Landsat 9 — five decades of consistent archive, with different sensors operating across different eras. Within MODIS, you will find not only raw daily surface reflectance but derived products for fire detection, vegetation indices, land cover classification, and more — some from the Terra satellite, some from Aqua. Within Sentinel, you will find optical and synthetic aperture radar products from multiple satellites at different spatial and temporal resolutions.

The scenarios in Part 2 ask you to decide not just which family is appropriate for a monitoring purpose, but which product within that family best matches the specific requirement. The GEE Data Catalog is how you make that determination. A sensor choice is not “Landsat” — it is “Landsat 5 TM C2 L2” or “Landsat 8 OLI C2 L2,” and the distinction matters when the archive depth, spatial resolution, or temporal coverage requirements change.

Reading sensor metadata from the Console

The first section of the script loads a single image from three different sensors — Landsat 8, Sentinel-2, and MODIS — over the same geographic point and print()s each to the Console. Nothing is displayed on the map yet. Your task is to read the Console output carefully and complete a comparison table in your SOP Data Sources section.

For each sensor, you are looking for four things in the Console output:

  • Band names — how many optical bands, and what are they called?
  • Data type — is it uint16, uint8, float32? What does this tell you about radiometric resolution?
  • Native scale — what does nominalScale() return, in meters?
  • Collection ID — the full path string, e.g. LANDSAT/LC08/C02/T1_L2

These are the four resolution dimensions Cardille Ch. F4 defines. You are not looking them up from a table — you are reading them from actual image metadata. This is how practitioners verify what they have before they analyze it.

The script also prints a second set of Console entries: the number of images each sensor collected at the same location over a fixed 90-day summer window. Compare those counts to the nominal revisit times listed in the GEE Data Catalog page for each sensor. The image count is a direct, empirical measure of temporal cadence — and the differences between sensors are stark. Note also that the count includes all acquisitions regardless of cloud cover; the probability of a usable cloud-free image is always lower than the raw count.

The script also displays each sensor’s imagery over the same location as a color-infrared composite. Toggle the layers on and off and zoom between them. The visual difference in pixel size between MODIS, Landsat 8, and Sentinel-2 is immediately apparent at medium zoom levels, and vanishes when you zoom out far enough that all three look equivalent. That zoom-dependent equivalence is itself worth noting: spatial resolution is only meaningful relative to the scale of the feature you are trying to detect.

The figures below show what the map panel should look like after running L3.1. All three layers are displayed at the same zoom level. Toggle between them in the Layers panel and compare what you see to the nominalScale() values in the Console.

Figure 1: Color-infrared composites from Sentinel-2 (left), Landsat 8 (center), and MODIS (right) over the same location in the San Francisco Bay Area, displayed at the same zoom level after running Script L3.1. Vegetation appears bright red; impervious surfaces appear grey-white; water appears very dark.
Note

Script L3.1 covers: Loading images from three collections; print() to Console for metadata inspection; nominalScale() for spatial resolution; color-infrared composite display. Confirm Checkpoint L3-CP1 before proceeding.


Part 2 — Three Scenarios, Three Decisions

This is the core of the lab. Open script L3.2_Scenario_A, L3.3_Scenario_B, and L3.4_Scenario_C in sequence. Each script presents a single environmental monitoring scenario with a defined purpose, location, and time constraint. You will work through each one using the same decision framework.

The decision framework

For each scenario, work through these four steps before writing any code:

  1. Identify the governing constraint. What resolution dimension matters most — spatial detail, archive depth, revisit frequency, or spectral coverage? Not all four constraints matter equally for every problem.
  2. Search the catalog. Use the GEE Data Catalog search bar (at the top of the Code Editor) to find a collection that fits. Read its documentation page: pixel size, revisit time, band definitions, and temporal coverage.
  3. Filter to a usable image. Write the filterBounds and filterDate calls to isolate a single scene over the study area.
  4. Justify in writing. Name the sensor, explain what resolution dimension drove your decision, and state what you sacrificed by not choosing an alternative.

Steps 1 and 4 happen in your SOP. Steps 2 and 3 happen in GEE.

Scenario A — A lake that has been shrinking for decades

A hydrology research team is documenting long-term surface water loss at a large inland lake in Central Asia. They need imagery from multiple decades — ideally from the 1970s or 1980s through the present — with enough spatial resolution to track the retreating shoreline accurately. Consistent radiometric calibration across decades is essential for comparison.

Study location: Aral Sea, Kazakhstan/Uzbekistan. The coordinates are pre-loaded in Script L3.2. The Aral Sea was once the fourth-largest lake on Earth. Diverted river flow for Soviet-era irrigation reduced it to a fraction of its original extent — one of the most dramatic and well-documented environmental changes in the satellite record. Pekel et al. (2016, Nature) used exactly this kind of archive to build the Global Surface Water dataset. As you look at your imagery, you are seeing what those authors saw.

The script centers the map over the Aral Sea and sets the date window to 1987 — well before the Aral Sea’s most dramatic collapse, and before most sensors in the catalog existed. The CONFIGURATION block has a placeholder for your collection ID. Before filling it in, the script will ask you to test Sentinel-2 and MODIS over this date window and observe what the Console returns. Use the catalog to identify which Landsat mission was operating in the late 1980s, find its Collection 2 Level 2 product, and enter the full collection path. Note that the answer is not Landsat 8 — that mission launched in 2013. The catalog search is the task.

Script L3.2 loads two images: a 1987 Landsat 5 TM scene and a 2022 Landsat 8 scene over the same location. Toggle between the layers in the Layers panel to see the change in water extent across decades. The figure below shows the true color view from each date. The script also generates NIR and SWIR false color composites for both years — evaporite salt deposits that form on exposed former lakebeds have distinctive spectral properties that differ from surrounding desert and water. Use those composites to investigate how the lakebed’s spectral character compares between the two dates and what that might tell you about how the surface has changed.

Figure 2: True color composites from Landsat 5 TM (1987, left) and Landsat 8 OLI (2022, right) over the southern Aral Sea basin, late summer. The change in water body extent between the two dates is the primary visual demonstration of the archive depth argument for this scenario.

Scenario B — A wildfire burning right now

A fire science team needs to map the approximate perimeter of a large wildfire that ignited 36 hours ago in a remote, roadless boreal forest in northern Alberta, Canada. A perimeter estimate is needed by tomorrow morning to support evacuation planning. Ground access is impossible.

Study location: Northern Alberta boreal forest, Canada. The coordinates are pre-loaded in Script L3.3. This scenario is governed by a constraint that is easy to underestimate: the sensor must have acquired an image in the past 36 hours. The boreal forest covers millions of hectares with no road access. Only satellite data can provide timely spatial coverage at this scale — but not every sensor can deliver it fast enough to be useful.

As Cardille Ch. F3 demonstrated, some collections in the GEE catalog are near-real-time; others have a 16-day revisit and would have no cloud-free image available. Think carefully about which trade-off matters here. The script asks you to search the catalog and load the collection that best fits the deadline. You will also encounter the concept of thermal anomaly detection — some collections are derived fire products, not raw reflectance, which raises a different question: is a derived product acceptable for this use, or do you need raw imagery?

When you search the catalog, you will find that the MODIS fire detection family includes two separate products — one from the Terra satellite and one from Aqua — both using the same thermal anomaly algorithm. Before choosing one, look up the differences between the Terra and Aqua MODIS platforms. Consider whether those differences matter for this specific use case.

The figures below show the two MODIS layers Script L3.3 produces for the Chuckegg Creek Fire, Alberta, May 2019.

Figure 3: MODIS imagery over northern Alberta boreal forest, May 2019 (Chuckegg Creek Fire). Left: Color-infrared composite from MOD09GA (500 m) — intact boreal forest appears bright red (high NIR reflectance); smoke plumes appear as pale grey-white streaks cutting through the canopy. Right: Active fire detections from MOD14A1 (1 km) — high-confidence fire pixels appear red against the non-fire background. The spatial distribution of fire clusters is visible at zoom level 9. Note that the CIR and fire detection images have different spatial resolutions (500 m vs. 1 km) and cover different swath extents.

Scenario C — A reef that needs spatial detail

A marine conservation agency needs to distinguish living coral from bleached coral and sandy substrate in a shallow-water reef lagoon. Reef features of interest are 10–30 m across. Imagery from the past 6 months is acceptable.

Study location: Great Barrier Reef, Queensland, Australia. For this scenario, you will locate the study area yourself rather than using pre-loaded coordinates. In the GEE Code Editor search bar (at the top of the interface, not the Data Catalog), type “Cairns Queensland” and press Enter. The map will center on the Queensland coast. Zoom out to approximately zoom level 9 and pan east over the Coral Sea. The inner reef near the coast is often cloud-covered; your goal is to find a section of the outer barrier reef where reef structure is visible in the satellite basemap. Pan north or south along the reef until you can see the pale turquoise reef platform clearly. Click once with the Inspector tool over a clear section of the reef lagoon to read coordinates, then enter those values in the CONFIGURATION block of Script L3.4. If your loaded image is heavily obscured by cloud, adjust your point and re-run — finding a workable location is part of the task.

A brief note on the physics: Sentinel-2 and Landsat 8 are not imaging underwater. In clear, shallow tropical water — typically less than 15–20 m depth — sunlight penetrates the water column and reflects off the bottom. That bottom-reflected light travels back up through the water to the sensor. The sensor records a composite signal shaped by the water column, the depth, and the bottom type (live coral, bleached coral, sand). This is why spatial resolution matters here: the reef features you need to distinguish are only 10–30 m across. A pixel coarser than that averages together multiple bottom types into a single spectral value, making them impossible to separate. Hedley et al. (2018, Remote Sensing of Environment) demonstrated that Sentinel-2’s 10 m resolution is a critical threshold for this application — below which coral structures become resolvable as distinct spatial features.

The figure below shows the blue-green bathymetric composite from Script L3.4 over a section of the GBR outer reef. The color gradient encodes depth: bright yellow indicates very shallow water where all three wavelengths reflect strongly off the bottom; green and teal indicate intermediate depths where longer wavelengths are progressively absorbed; the pale fibrous band at the reef edge is the breaker zone, where wave action and foam produce a distinctive surface texture rather than a depth signal. The dark mottled patches within the shallow flat are coral heads and rubble — bottom types with different reflectance properties from the surrounding sand.

Figure 4: Blue-green bathymetric composite (B2/B3/B4) from Sentinel-2 SR Harmonized over the GBR outer reef platform. Bright yellow = very shallow sandy substrate; green-teal gradient = increasing depth; dark patches = coral heads and rubble; pale fibrous band (right) = wave-broken reef crest. Scale bar: 200 m.
Note

Scripts L3.2, L3.3, L3.4 cover: ee.ImageCollection filtering by location and date; filterBounds; filterDate; .first(); CONFIGURATION block for user-defined variables. Confirm Checkpoint L3-CP2, L3-CP3, and L3-CP4 before proceeding to Part 3.


Part 3 — Reading an Image with Campbell’s Eyes

You have now loaded imagery for three very different locations and environmental conditions. For this section you will work with your Scenario C image — the Great Barrier Reef Sentinel-2 scene. The reef image is used here because it contains features at multiple spatial scales, multiple bottom types with distinct spectral properties, and a clear bathymetric gradient — all of which reward systematic visual interpretation.

Before annotating, examine the image at several zoom levels and toggle between the three band composites Script L3.4 produces. The features you will label become more or less visible depending on the band combination and zoom level. Hedley et al. (2018) describes the spectral properties of different reef bottom types; connecting that physical understanding to what you observe on screen is the interpretation task.

Producing the annotation

Take a screenshot of your Scenario C image as displayed in GEE — choose whichever band composite (true color, NIR false color, or blue-green bathymetric) shows the most features clearly. Open the image in PowerPoint or any image annotation tool you have available. Add arrows or callout boxes identifying at least five of the eight elements of image interpretation Campbell defines in Section 6.4: tone, texture, shadow, pattern, association, shape, size, and site. For each labeled element, write one sentence explaining what it reveals about the reef — not just what it looks like, but what physical or ecological reality it implies.

Your annotation must also include at least one element that is absent or not distinguishable at Sentinel-2’s 10 m resolution. Name the element, identify the reef feature you would expect to see it in at finer resolution, and explain why the current pixel size prevents it from appearing.


Interpretation Questions

Your answers to these questions belong in the Results section of your SOP.

Q1 (Script L3.1) The Console output includes a nominalScale() value and a 90-day image count for each of the three sensors. Compare those image counts to the nominal revisit times listed in the GEE Data Catalog for each sensor. Using both the spatial scale and the image count together, describe the fundamental trade-off each sensor makes between spatial and temporal resolution. What does MODIS gain by operating at 500 m, and what does Sentinel-2 gain by operating at 10 m? Which sensor would you reach for if you needed daily coverage of a large region, and which if you needed to resolve features smaller than 50 m? Connect your answer to the monitoring purposes Campbell Ch. 7 describes for each sensor family.

Q2 (Scripts L3.2–L3.4) For each of the three scenarios, state which sensor you selected and identify the single most important resolution dimension that governed your choice (spatial, temporal, archive depth, or spectral). Use the vocabulary Cardille Ch. F4 defines.

Q3 (Scripts L3.2–L3.4) For each scenario, name one sensor that would be a wrong choice and explain specifically why it fails for that purpose. Your explanation should identify which resolution constraint the wrong sensor cannot meet.

Q4 (Script L3.2 — Scenario A) Pekel et al. (2016) mapped global surface water using the complete Landsat archive. Looking at your Scenario A imagery, describe what the spectral difference between open water and exposed lakebed looks like in the composites you examined. What bands or band combinations make that boundary most visible, and why? Connect your answer to the electromagnetic properties Campbell describes in Ch. 2.

Q5 (Script L3.3 — Scenario B) You encountered at least two different types of collections in the catalog for fire monitoring: raw reflectance imagery and derived fire detection products. What is the difference between these two types of data for the emergency response use case? Is one more appropriate than the other for the scenario described? Explain the trade-off.

Q6 (Script L3.4 — Scenario C) Zoom in over the reef lagoon in your Scenario C image to the point where individual reef features become visible (or where the imagery becomes pixelated). What zoom level does this occur at, and what does this tell you about the relationship between sensor spatial resolution and the scale of features you are trying to detect? Connect your answer to the concept of mixed pixels from Campbell Ch. 5.

Q7 (Part 3 — Annotation) Identify the five elements of image interpretation you labeled in your Scenario C annotation. For each one, explain what it reveals about the reef — not just what it looks like, but what physical or ecological reality it implies about depth, substrate type, or biological cover. Then describe the one element that was absent or indistinguishable at Sentinel-2’s 10 m resolution, and explain why the pixel size prevents it from appearing.

Q8 (All scenarios) Campbell Ch. 7 describes Landsat’s role in maintaining “data continuity” — the ability to compare images across decades using consistent spectral definitions. Look at your three scenarios. Which one requires data continuity, which one requires temporal immediacy, and which one requires neither? How does this distinction shape the catalog search for each?


Standard Operating Procedure

Complete this section in your own words as you work through the lab. Your SOP documents your workflow so that a technically competent colleague could replicate your exact analysis.

Study Area

For this lab your study area spans three separate locations. For each one, provide the geographic name, coordinates (latitude and longitude), and a brief description of the environmental system being monitored (one sentence per location is sufficient). Note which location you found using the GEE search bar rather than pre-loaded coordinates.

Data Sources

Provide one row per dataset loaded across all three scenarios. Fill in values from your Console output and GEE Data Catalog pages — do not copy values from memory or from this document. The date acquired should reflect the actual image acquisition date as reported in the Console metadata, not the filter date range.

Dataset Collection ID Sensor Spatial Res. (m) Temporal Res. Date Acquired

Add rows as needed. If you loaded more than one image per scenario, document each.

Methods

Describe the workflow you followed for each scenario. Your Methods section should explain:

  • How you identified the governing resolution constraint for each purpose
  • How you searched the GEE Data Catalog and what search terms or navigation path you used
  • The filters you applied (filterBounds, filterDate, any additional metadata filters) and why those parameters were chosen
  • For Scenario C: how you located the study area using the search bar and how you defined your geometry

In Module 2 labs, aim for a Methods section detailed enough that a GEE user could reproduce your exact filter parameters without seeing your code.

Results

Include the following in this section:

  • Script L3.1 Console output — a screenshot showing the print() output for all three sensors (band names, data type, nominal scale) and the 90-day image counts
  • Scenario C annotated interpretation map — your labeled screenshot from Part 3, with a descriptive caption identifying the sensor, date, and location
  • Answers to Interpretation Questions Q1–Q8

Limitations

Identify at least three limitations of the analysis you performed. These should be methodological or data-related limitations — not personal difficulties with the software.

Consider: the temporal window you filtered to and what it may have excluded; cloud cover and its effect on image availability; what the .first() function returns and whether it is always the best image; the distinction between detecting a feature and measuring it accurately.


Submission Checklist

Note

Grading Note

This lab is graded as a Weekly Methods Log (SOP). The sensor justification writing (Q2 and Q3) carries the most weight — answers that name the correct sensor without explaining the governing resolution constraint will receive partial credit. The image interpretation annotation (Q7) is evaluated on whether your element labels point to actual observable features and whether your explanations connect appearance to physical reality, not on artistic quality. The Limitations section is evaluated on specificity: a limitation that names a general category (“cloud cover is a problem”) without explaining its effect in this specific context will receive less credit than one that describes the mechanism and consequence.


ESCI 442/542 — Introduction to Remote Sensing | Western Washington University