# NASA GIBS en Worldview

Meer dan duizend kaartlagen van NASA-satellieten, kant-en-klaar als afbeelding: van het dagelijkse ware-kleurenbeeld tot nachtlicht, branden en sneeuw.

- Uitgever: NASA
- Gebied: Wereld · Laagste detail: 250 – 750 meter
- Periode: 2000 – heden · Ververst: dagelijks
- Toegang: Open · Licentie: Vrij gebruik (NASA)
- Koppelsleutels: datum, coördinaten
- Status: ok (2026-10-16) · VIIRS true color
- URL: https://www.earthdata.nasa.gov/engage/open-data-services-software/earthdata-developer-portal/gibs-api

## Wat kun je ermee?
- **Het weer van gisteren vanuit de ruimte.** Haal het ware-kleurenbeeld van een dag op en zie waar de wolken lagen.
- **Nederland bij nacht.** Black Marble laat zien waar mensen wonen en werken, en hoe fel de kassen in het Westland branden.
- **Een animatie van een jaar.** Haal 365 beelden op van hetzelfde gebied en maak er een video van: sneeuw, groen en bruin wisselen elkaar af.

## Zo verwerk je het
1. **Kies een laag.** Blader in Worldview en kopieer de laagnaam, zoals VIIRS_SNPP_CorrectedReflectance_TrueColor.
2. **Vraag een uitsnede op.** WMS GetMap met een bounding box, een grootte en een datum geeft één afbeelding.
3. **Kies de projectie.** EPSG:3857 past op webkaarten; EPSG:4326 rekt Nederland in de breedte uit.

## Interessante koppelingen
- Hoeveel licht per inwoner? → [cbs-kwb](https://www.opendataindex.nl/bron/cbs-kwb.md) via coördinaten → buurt. Middel de nachtlichtwaarden per gemeente en deel door inwoners. Kassen en industrie vallen dan op.

## Vergelijkbare bronnen
- [copernicus-sentinel2](https://www.opendataindex.nl/bron/copernicus-sentinel2.md): Veel scherper (10 m), maar niet elke dag en zonder kant-en-klare plaatjes.
- [nasa-firms](https://www.opendataindex.nl/bron/nasa-firms.md): Alleen branden en hittebronnen, als punten.

## Waar je op moet letten
- **Plaatjes, geen meetwaarden.** GIBS levert kant-en-klare afbeeldingen. Voor analyse heb je de ruwe data nodig via NASA Earthdata, met een gratis account.
- **Steden wel, straten niet.** Een pixel is 250 tot 750 meter. Voor straatniveau: Sentinel-2.
- **Wolken.** Boven Nederland is het vaak bewolkt. Kies een datum en kijk eerst of het beeld bruikbaar is.

## API (OGC WMTS 1.0.0, WMS 1.3.0 en XYZ-tegels (kant-en-klare beelden, geen meetwaarden))

- Basis: https://gibs.earthdata.nasa.gov
- Toegang: Geen sleutel of Earthdata-account voor de beelden. De ruwe meetdata achter de lagen (Earthdata) vragen wel een gratis account. (getest)
- Formaten: jpeg, png, mvt, tiff, kml, svg
- Omvang: 1330 lagen in de WMTS (EPSG:3857, best); 1.221 met een tijddimensie; 1.139 PNG, 68 JPEG, 123 vectortegels (getest)
- Filteren: Geen querytaal: kies laag, datum, projectie en gebied. Welke datums er zijn, staat in de capabilities (Dimension/Value) of in DescribeDomains.; 

### Endpoints
- `GET /wmts/epsg3857/best/{Laag}/default/{Tijd}/{TileMatrixSet}/{z}/{y}/{x}.{jpg|png}`: Tegels (REST/XYZ), bv. VIIRS_SNPP_CorrectedReflectance_TrueColor/default/2025-04-12/GoogleMapsCompatible_Level9/6/20/32.jpg (7 kB). Zonder tijd: de standaarddatum.
- `GET /wms/epsg3857/best/wms.cgi?REQUEST=GetMap`: Eén afbeelding voor een bbox, grootte en datum (TIME=JJJJ-MM-DD); tot 5 lagen tegelijk over elkaar (Nederland 400 × 474 px: 27 kB, 0,7 s).
- `GET /wmts/epsg3857/best/1.0.0/{Laag}/default/{TileMatrixSet}/all/{Begin}--{Eind}.xml`: Welke datums er zijn in een periode (DescribeDomains), bv. 2026-10-01/2026-10-16/P1D.
- `GET /wmts/{projectie}/{best|std|nrt|all}/1.0.0/WMTSCapabilities.xml`: Capabilities per projectie (epsg3857, epsg4326, epsg3413 noordpool, epsg3031 zuidpool) en per soort (best, std, nrt, all).
- `GET /legends/{naam}_{H|V}.svg`: Legenda als SVG (horizontaal of verticaal); het adres staat bij elke laag als LegendURL.

### Parameters
- `LAYERS / Laag`: Laagnaam zoals in Worldview: VIIRS_SNPP_CorrectedReflectance_TrueColor, MODIS_Terra_CorrectedReflectance_TrueColor, VIIRS_Black_Marble (2012 en 2016), TROPOMI_L2_Nitrogen_Dioxide_Tropospheric_Column … (getest)
- `TIME`: JJJJ-MM-DD (of met tijd voor sub-dagelijkse lagen). Zonder TIME de standaard (Default) uit de capabilities, voor VIIRS ware kleur de dag van vandaag. (getest)
- `CRS / projectie`: EPSG:3857 voor webkaarten, EPSG:4326 (rekt Nederland uit), EPSG:3413 en 3031 voor de polen; elke projectie heeft een eigen pad. (getest)
- `BBOX`: In de gekozen projectie; WMS 1.3.0 met EPSG:4326 = lat,lon-volgorde (50.7,3.2,53.6,7.3). (platform)
- `WIDTH / HEIGHT`: Tot 20.000 × 20.000 volgens de capabilities. (uit de beschrijving)
- `FORMAT`: image/jpeg, image/png, image/tiff, application/vnd.google-earth.kmz, image/svg+xml … (uit de beschrijving)
- `TileMatrixSet`: Per laag vast, bv. GoogleMapsCompatible_Level9 (VIIRS ware kleur, ~250 m). Staat in de capabilities. (getest)

### Voorbeelden van lagen (4)
`VIIRS_SNPP_CorrectedReflectance_TrueColor` JPEG, dagelijks, `MODIS_Terra_CorrectedReflectance_TrueColor` JPEG, dagelijks, `VIIRS_Black_Marble` PNG, jaarbeeld, `TROPOMI_L2_Nitrogen_Dioxide_Tropospheric_Column` PNG, dagelijks

### Limieten en valkuilen
- Geen sleutel en geen gedocumenteerde rate limit. WMS: maximaal 5 lagen per GetMap (LayerLimit) en 20.000 × 20.000 pixels. (uit de beschrijving)
- De WMTS-capabilities zijn 5,8 MB en deden er 9 s over; haal ze één keer op en bewaar ze. (getest)
- Tijdreeksen hebben gaten: VIIRS ware kleur loopt in stukken (2015-11-24 tot 2022-07-27, 2022-08-10 tot 2024-05-31, …). Een tegel op een datum in een gat geeft HTTP 404 (2022-08-01 gemeten); kijk eerst in DescribeDomains. (getest)
- Een laag combineren met een ondergrond kan in één GetMap: LAYERS=OSM_Land_Water_Map,<laag>,Coastlines_15m. Reference_Features_15m is op landsschaal leeg. (ervaring)
- De legenda bij TROPOMI NO2 is die van OMI (0 tot ≥ 2,0e16 moleculen/cm²). Lees plaatsen terug in lon/lat voordat je ze in een tekst noemt. (ervaring)
- Geen robots.txt op gibs.earthdata.nasa.gov (404). (getest)

### Voorbeeld
```
https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/1.0.0/VIIRS_SNPP_CorrectedReflectance_TrueColor/default/GoogleMapsCompatible_Level9/all/2026-10-01--2026-10-16.xml
```

## Zo haal je het op

### curl
```bash
curl -o nl.jpg "https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi?SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=VIIRS_SNPP_CorrectedReflectance_TrueColor&CRS=EPSG:4326&BBOX=50.7,3.2,53.6,7.3&WIDTH=800&HEIGHT=600&FORMAT=image/jpeg&TIME=2025-04-12"
```

### python
```python
import requests

params = {"SERVICE": "WMS", "REQUEST": "GetMap", "VERSION": "1.3.0",
          "LAYERS": "VIIRS_Black_Marble", "CRS": "EPSG:4326",
          "BBOX": "50.7,3.2,53.6,7.3", "WIDTH": 800, "HEIGHT": 600,
          "FORMAT": "image/jpeg", "TIME": "2016-01-01"}
url = "https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi"
open("nacht.jpg", "wb").write(requests.get(url, params=params).content)
```

## Wie gebruikt het
- [NASA Worldview](https://worldview.earthdata.nasa.gov): Door alle lagen bladeren, per dag
- [Zoom Earth](https://zoom.earth): Weer en branden op een kaart, met NASA-beelden

## 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.

- **Nederland op een bijna wolkenloze 12 april 2025, gezien door de VIIRS-camera van NASA** (12 april 2025). Tabel VIIRS_SNPP_CorrectedReflectance_TrueColor. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/recept-gibs-nederland-dag)
  - `https://gibs.earthdata.nasa.gov/wms/epsg3857/best/wms.cgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=VIIRS_SNPP_CorrectedReflectance_TrueColor&STYLES=&CRS=EPSG:3857&BBOX=367354,6568398,812632,7094762&WIDTH=760&HEIGHT=900&FORMAT=image/jpeg&TIME=2025-04-12`
- **Nederland 's nachts: het felste licht ligt in de Randstad, het noorden en de Waddenkust zijn donker** (2016). Tabel VIIRS_Black_Marble. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/recept-gibs-nederland-nacht)
  - `https://gibs.earthdata.nasa.gov/wms/epsg3857/best/wms.cgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=VIIRS_Black_Marble&STYLES=&CRS=EPSG:3857&BBOX=367354,6568398,812632,7094762&WIDTH=760&HEIGHT=900&FORMAT=image/jpeg&TIME=2016-01-01`
