Allowlist STAC collections shown in Browse¶
Context and Problem Statement¶
Browse only showed the openaerialmap collection because both the frontend
and tile generator assumed it. Imagery in other pgSTAC collections therefore
did not appear, including in the low-zoom density grid.
Not every collection belongs in an imagery browser. For example,
cop-dem-glo-30 contains elevation data. Deployments need an explicit way to
choose which collections Browse includes.
Considered Options¶
- Include every pgSTAC collection. Simple, but includes non-imagery data.
- Hardcode collections in the frontend. Requires a frontend release for each catalogue change and can drift from generated tiles.
- Configure an allowlist for the tile generator. Chosen.
Decision Outcome¶
The tile generator reads a comma-separated FOOTPRINT_COLLECTIONS allowlist.
It defaults to COLLECTION, preserving existing deployments.
Each footprint carries its collection, and each density cell carries
count_col_<collection> alongside the total count. This lets the frontend
list and filter collections at both footprint and density zoom levels.
Consequences¶
- Collection membership is controlled by deployment configuration rather than frontend code.
- The default remains single-collection and backward compatible.
- Widening the allowlist changes
countto include every selected collection.global-tmsreads the same value, so it must usecount_col_openaerialmapbefore a deployment widens the allowlist. - Item IDs are unique only within a collection. The frontend must namespace IDs before enabling collections that may contain duplicate item IDs.
- Combined density filters remain approximate because they intersect bucket
counts with
min(); see issue #282.