# Landsat

De Amerikaanse Landsat-satellieten fotograferen de aarde al sinds 1972. Daarmee is het de langste reeks satellietbeelden die er is: boven Amsterdam alleen al 6.754 opnamen, de oudste van 5 september 1972. Detail: 30 meter per pixel, in de eerste jaren 60 meter.

- Uitgever: U.S. Geological Survey, NASA
- Gebied: Wereld · Laagste detail: 30 meter
- Periode: 1972 – heden · Ververst: dagelijks
- Toegang: Account · Licentie: Geen beperkingen (Landsat-databeleid USGS)
- Koppelsleutels: pad en rij (WRS-2), opnamedatum
- Status: warn (2026-10-11) · LANDSAT_8 · 4630 opnamen boven Amsterdam
- URL: https://www.usgs.gov/landsat-missions

## Wat kun je ermee?
- **Zie een stad groeien.** Zoek wolkenvrije zomerbeelden van Almere of de Maasvlakte, steeds tien jaar uit elkaar. Zet ze naast elkaar of maak er een animatie van.
- **Nederland in 1972.** De oudste opnamen komen van Landsat 1, met pixels van 60 meter. Grof, maar genoeg om de grote lijnen van het land te volgen.
- **Hitte in de stad.** De collectie landsat-c2l2-st geeft de temperatuur van het oppervlak. Vergelijk stenige wijken met parken op een hete zomerdag.
- **Veertig jaar groen.** Bereken de NDVI uit de rode en nabij-infrarode band voor elke zomer sinds de jaren tachtig en volg een gebied door de tijd.

## Zo verwerk je het
1. **Zoek in de catalogus van USGS.** Zoeken kan zonder account. Sorteer met sortby=-properties.datetime (met 'properties.' ervoor) en laat met fields de bestanden en links weg.
   `https://landsatlook.usgs.gov/stac-server/collections/landsat-c2l2-sr/items?bbox=4.7,52.2,5.1,52.5&sortby=-properties.datetime&limit=3&fields=id,properties.datetime,properties.eo:cloud_cover,properties.platform,-assets,-links,-geometry`
2. **Filter op wolken.** Gebruik query met eo:cloud_cover. Boven Amsterdam waren er in de zomer van 2022 twaalf opnamen met minder dan 10 procent bewolking.
   `https://landsatlook.usgs.gov/stac-server/search?collections=landsat-c2l2-sr&bbox=4.7,52.2,5.1,52.5&datetime=2022-06-01T00:00:00Z/2022-08-31T23:59:59Z&query=%7B%22eo:cloud_cover%22:%7B%22lt%22:10%7D%7D&limit=5`
3. **Downloaden zonder account via Planetary Computer.** Bij USGS moet je inloggen, ook voor een miniatuur. Microsoft Planetary Computer biedt dezelfde Collection 2 Level-2 met een anoniem token, maar loopt wat achter.
   `https://planetarycomputer.microsoft.com/api/sas/v1/token/landsat-c2-l2`
4. **Lees alleen wat je nodig hebt.** De banden zijn Cloud Optimized GeoTIFF's van 30 meter. Lees met rasterio of rioxarray alleen de rode (red) en nabij-infrarode band (nir08) voor jouw uitsnede.

## Interessante koppelingen
- Hoeveel is een gemeente versteend sinds 1985? → [pdok-wijkenbuurten](https://www.opendataindex.nl/bron/pdok-wijkenbuurten.md) via geometrie. Knip per jaar de beelden uit op de gemeentegrens en tel de pixels met een lage NDVI.
- Een langere reeks met meer detail → [copernicus-sentinel2](https://www.opendataindex.nl/bron/copernicus-sentinel2.md) via coördinaten en datum. Gebruik Landsat voor de jaren voor 2015 en Sentinel-2 daarna. Let op het verschil in pixelgrootte.

## Vergelijkbare bronnen
- [copernicus-sentinel2](https://www.opendataindex.nl/bron/copernicus-sentinel2.md): Scherper (10 meter) en vaker, maar pas sinds 2015.
- [nasa-gibs](https://www.opendataindex.nl/bron/nasa-gibs.md): Kant-en-klare dagbeelden als kaartlaag, grover en zonder ruwe banden.
- [Microsoft Planetary Computer, Landsat Collection 2](https://planetarycomputer.microsoft.com/dataset/landsat-c2-l2): Dezelfde Level-2-data, zonder account te downloaden, ongeveer een week later.

## Waar je op moet letten
- **Inloggen bij USGS.** Zoeken is open, maar elke download bij USGS (ook de miniatuur) stuurt je door naar het inlogscherm. Via Amazon S3 is de bucket 'requester pays'.
- **Wolken.** Landsat 8 en 9 kwamen in de zomer van 2026 ongeveer elke vier dagen over Amsterdam, maar vaak was het bewolkt. Filter op eo:cloud_cover en kijk zelf naar de beelden.
- **Strepen in Landsat 7.** Sinds eind mei 2003 mist elke Landsat 7-opname stroken, ongeveer 22 procent van het beeld. Gebruik voor die jaren liever Landsat 5 of 8.
- **Niet elk jaar even goed.** De oudste opnamen hebben pixels van 60 meter en vier banden. Level-2 (gecorrigeerd voor de atmosfeer) begint pas in augustus 1982.

## API (STAC 1.0.0)

- Basis: https://landsatlook.usgs.gov/stac-server
- Toegang: Zoeken is anoniem. De bestanden zelf vragen een account (staat in de collectie). (uit de beschrijving)
- Formaten: GeoJSON (zoekresultaten)
- Omvang: 19670 opnamen (getest)
- Filteren: CQL2 (tekst of JSON) op de queryables; 

### Endpoints
- `GET /collections/landsat-c2l2-sr/items`: opnamen in deze collectie, met bbox, datetime, limit
- `GET/POST /search`: zoeken over collecties, met filter (CQL2), sortby en fields
- `GET /collections/landsat-c2l2-sr/queryables`: filterbare velden

### Parameters
- `bbox`: lon/lat-kader: west,zuid,oost,noord (platform)
- `datetime`: datum of periode, bv. 2026-06-01/2026-08-31 (platform)
- `limit`: aantal per pagina; volgende via de link rel=next (platform)
- `sortby`: sorteren, bv. -datetime (nieuwste eerst) (uit de beschrijving)
- `filter`: CQL2-filter op de queryables, bv. eo:cloud_cover < 10 (uit de beschrijving)
- `fields`: alleen deze velden terug (uit de beschrijving)

### Limieten en valkuilen
- sortby=-datetime geeft een 400 ('No mapping found for [datetime]'); gebruik sortby=-properties.datetime (15 okt 2026). (getest)
- fields=id,properties.datetime haalt de bestanden (assets) en links niet weg; zet er -assets,-links bij. Dat scheelt ongeveer 22 KB per opname. (getest)
- Filter op bewolking met de query-extensie: query={"eo:cloud_cover":{"lt":10}}. Een tekstfilter (filter=eo:cloud_cover<10) gaf een fout; filter verwacht hier CQL2-JSON. (getest)
- Bestanden via https://landsatlook.usgs.gov/data/ sturen door naar het inlogscherm van USGS (ERS). Microsoft Planetary Computer geeft een anoniem token voor dezelfde data. (getest)

### Voorbeeld
```
https://landsatlook.usgs.gov/stac-server/collections/landsat-c2l2-sr/items?bbox=4.7,52.2,5.1,52.5&sortby=-properties.datetime&limit=3&fields=id,properties.datetime,properties.eo:cloud_cover,properties.platform,-assets,-links,-geometry
```

## Zo haal je het op

### curl
```bash
curl "https://landsatlook.usgs.gov/stac-server/collections/landsat-c2l2-sr/items?bbox=4.7,52.2,5.1,52.5&sortby=-properties.datetime&limit=5&fields=id,properties.datetime,properties.eo:cloud_cover,-assets,-links,-geometry"
```

### python
```python
import requests

url = "https://landsatlook.usgs.gov/stac-server/search"
r = requests.get(url, params={
    "collections": "landsat-c2l1", "bbox": "4.7,52.2,5.1,52.5",
    "sortby": "properties.datetime", "limit": 5,
    "fields": "id,properties.datetime,properties.platform,-assets,-links,-geometry"}).json()
for f in r["features"]:
    print(f["properties"]["datetime"], f["properties"]["platform"], f["id"])
```

## Wie gebruikt het
- [LandsatLook](https://landsatlook.usgs.gov): Landsat-beelden zoeken en bekijken in de browser (USGS)
- [EarthExplorer](https://earthexplorer.usgs.gov): Het downloadportaal van USGS voor satellietbeelden en luchtfoto's

## Wat je ermee kunt bouwen
- [Satelliet voor en na: zie hoe je stad of polder veranderde](https://www.opendataindex.nl/bouwen/satelliet-voor-en-na.md): Kies een plek en twee jaren, en krijg twee wolkenvrije satellietbeelden naast elkaar met een schuif, plus een berekening van hoeveel water land werd.


## Voorbeelden met echte cijfers (2)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Landsat-opnamen van Amsterdam: 138 opnamen in 2025, 30% minder dan in 1985** (2025). Tabel landsat-c2l1. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/landsat-opnamen-amsterdam)
  - `https://landsatlook.usgs.gov/stac-server/aggregate?collections=landsat-c2l1&intersects=%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B4.893%2C52.373%5D%7D&aggregations=total_count,datetime_frequency,platform_frequency`
- **Landsat-opnamen van Amsterdam per satelliet: het meest Landsat 5 (2.047 opnamen), dan Landsat 8 en Landsat 7** (oktober 2026). Tabel landsat-c2l1. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/landsat-opnamen-per-satelliet)
  - `https://landsatlook.usgs.gov/stac-server/aggregate?collections=landsat-c2l1&intersects=%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B4.893%2C52.373%5D%7D&aggregations=total_count,datetime_frequency,platform_frequency`
