Skip to content

Concepts

A single glossary page. Read it once to internalise the OGC data model; everything else in the Developers section builds on the terms defined here.

The OGC API model

ADAM exposes data as collections of items — the canonical OGC API — Features model. Three terms carry all the weight:

  • Collection


    A named, queryable dataset (e.g. earthquakes, cyclone tracks).

    Discoverable via GET /collections; metadata at GET /collections/{id}.

  • Item / Feature


    One record inside a collection, rendered as a GeoJSON Feature.

    Has a geometry, a properties object, and a stable id.

  • Queryable


    A property of a collection on which you can filter.

    Authoritative list at GET /collections/{id}/queryables (JSON Schema).

The endpoints are entirely regular. Once you know those three terms you can predict every URL:

/collections                       → list collections
/collections/{id}                  → one collection's metadata
/collections/{id}/queryables       → what you can filter on
/collections/{id}/items            → features, filterable
/collections/{id}/items/{itemId}   → one feature

Features vs Tiles

The same collection is exposed in two forms:

  • Features (GeoJSON) — authoritative, individually addressable, filterable. Use when you want the data: analysis, downloads, joins, per-record logic.
  • Tiles (MVT) — pre-pyramided vector tiles. Use when you want the picture: interactive maps, zoom/pan performance, dense rendering.

Tiles are organised into a TileMatrixSet (a named pyramid scheme). ADAM ships 13 matrix sets — the one you almost always want is WebMercatorQuad, the web standard used by MapLibre, Mapbox, Leaflet, Google Maps, OSM.

Rule of thumb:

  • Rendering a web map → Tiles (use style.json for a one-line integration)
  • Querying, filtering, scripting → Features (GeoJSON)

ADAM collections and hazard modules

The 13 ADAM collections map to the three hazard modules:

  • Earthquakes — one collection of events
  • Floods — four collections (events, active alerts, seasonal forecasts, GLOFAS gauge forecasts)
  • Tropical Storms — eight collections covering events, tracks, buffers, nodes, plus "disturbance" variants for developing systems

Full catalogue with descriptions: Collections Reference.

A single event (e.g. one earthquake) is a feature in an events collection. Related geometries (the track of a cyclone, a flood polygon) live in sibling collections that share an event identifier.

Dynamic fields

Some features — typically earthquake and cyclone events — carry dynamic fields: extra URLs in properties that point to derived products produced by the hazard module:

  • Population impact tables (JSON)
  • Shapefile bundles
  • Hazard rasters (ShakeMaps, rainfall, flood extent)

The URLs are absolute; you just follow them. See Fetch Event Outputs for the pattern.

Coordinate reference systems

  • Features — WGS84 (EPSG:4326), longitude/latitude order, per GeoJSON RFC 7946
  • Tiles — whatever the tileMatrixSetId declares; WebMercatorQuad is Web Mercator (EPSG:3857)

Filtering — CQL2

/collections/{id}/items supports three orthogonal filters:

  • bbox=minLon,minLat,maxLon,maxLat — spatial
  • datetime=<iso>|<iso>/<iso> — temporal (instant or interval)
  • filter=<cql2-expr> — attribute, with the OGC CQL2 grammar

Example:

?bbox=26,36,45,42
&datetime=2026-01-01T00:00:00Z/..
&filter=mag >= 6.0

You can combine all three. The list of attribute names you can use in filter is whatever /queryables returns for that collection.

Conformance

GET /conformance declares which OGC conformance classes ADAM implements. Generic OGC clients read this to decide which features to enable. You probably don't need it for hand-written code, but it is what makes tools like QGIS and third-party OGC clients just work.

Formats and content negotiation

Most endpoints support multiple formats via the f query parameter:

  • ?f=json — machine-readable JSON (the default for most item endpoints)
  • ?f=geojson — explicit GeoJSON
  • ?f=html — human-readable HTML page (the "live browser" — see Overview)

Tiles have their own dedicated content types (application/vnd.mapbox-vector-tile for MVT).