status updates api

stac_dem_bc serves British Columbia’s LidarBC digital elevation model collection — nearly 100,000 GeoTIFFs on the provincial objectstore as of July 2026 — as a SpatioTemporal Asset Catalog (STAC), searchable by location and time from the rstac R package, QGIS (v3.42+), or any STAC-compliant client. The API endpoint is https://images.a11s.one.


The catalog refreshes monthly: a scheduled GitHub Actions workflow detects new tiles on the objectstore and appends them incrementally, with each month’s changes landing as a commit to data/ — a git audit trail of what was added, removed, and validated. How the automation works, its failure modes, and where the evidence lives are documented in scripts/, alongside a plain-language guide to the concepts behind the pipeline (COG, STAC, pgstac, validation caching).



Query the collection

Use bcdata to define an area of interest, then query the stac-dem-bc collection for DEM tiles intersecting it. Below: all DEMs covering the Bulkley River watershed group between 2018 and 2020.

aoi <- bcdata::bcdc_query_geodata("freshwater-atlas-watershed-groups") |>
  bcdata::filter(WATERSHED_GROUP_NAME == "Bulkley River") |>
  bcdata::collect() |>
  sf::st_transform(crs = 4326)

date_start <- "2018-01-01T00:00:00Z"
date_end <- "2020-12-31T00:00:00Z"

# use rstac to query the collection
q <- rstac::stac("https://images.a11s.one/") |>
  rstac::stac_search(
    collections = "stac-dem-bc",
    intersects = jsonlite::fromJSON(
      geojsonsf::sf_geojson(
        aoi, atomise = TRUE, simplify = FALSE
      ),
      simplifyVector = FALSE
    ) |> (\(x) x$geometry)(),
    datetime = paste0(date_start, "/", date_end)
  ) |>
  rstac::post_request()

# get details of the items
r <- q |>
  rstac::items_fetch()

# burn the results locally so we can serve it instantly on index.html builds
saveRDS(r, "data/stac_result.rds")
r <- readRDS("data/stac_result.rds")
# build the table to display the info
tab <- tibble::tibble(
  url_download = purrr::map_chr(r$features, ~ purrr::pluck(.x, "assets", "image", "href"))
)


DEM download links. NOTE: To view all columns in the table - please click on one of the sort arrows within column headers before scrolling to the right.

QGIS Data Source Manager (v3.42+)

QGIS 3.42 added native STAC support — connect directly to the catalog and filter by the current map view. See Lutra Consulting’s STAC-in-QGIS blog post for a walk-through.

Connecting to https://images.a11s.one

Connecting to https://images.a11s.one

Using the field of view in QGIS to filter results

Using the field of view in QGIS to filter results

Sister collections on the same endpoint

The same images.a11s.one STAC API serves several complementary BC collections:

Roadmap

The big one landed in 2026: the catalog is now self-updating (#23) — the goal open since the first build — and the July catch-up grew the collection from 58k to ~98k fully-validated items. Still ahead:

Browse open issues for the full backlog.

License

MIT.