Map connection

A saved provider-neutral data selection attached to one map.

Raw Markdown

Meaning

A Map Connection answers which data from one Provider is attached to a Map. It is distinct from the Layer, which answers how that selected data is presented.

One Add data action creates one immutable connection identity. A connection may produce one Layer or a contiguous group of Layers, depending on Channel composition. All those Layers share the same connection query.

Owns

export_key.

predicates that change which data belongs to the map.

(multiple or exclusive) and its remembered active Layer.

raster replacement group, including portable contribution identity, numerical semantics and selection priority.

The current viewer cursor is device-local and does not rewrite the connection. Colors, opacity, labels, and visualization mode remain Layer presentation.

An exclusive connection keeps its Layers independently styled but permits at most one to be visible. Selecting another Layer, hiding the group, or changing the policy is atomic. A hidden group remembers its last selection. A reader of the Map receives only viewer-enabled Layer alternatives and their exact Channel bindings for a published visible exclusive group. Unmarked Layers, ordinary hidden Layers, and a fully hidden exclusive group remain private. In the viewer the group is one dropdown without a hide action; its selection is device-local and does not rewrite the author's saved active Layer.

Execution

The renderer or acquisition planner translates normalized connection query terms into provider requests only when a Channel declares that capability. Unsupported terms remain residual GeoLama filtering; provider-specific parameter names are never persisted in the connection query.

The query builder is capability-neutral: each supported query family normalizes only its own Channel clause. Annual raster periods are the first implementation; spatial bounds, categories, and other temporal windows must use the same versioned clause boundary rather than adding Provider fields to a Layer or to the root connection object.

For raster periods the semantic period_id is pushed directly into the tile request and authorized against both Channel capability and the saved Map Connection range/mode. This avoids fetching an unrestricted raster and then pretending it was filtered in presentation.

Portability and access

Map Connections are RLS-protected through their Map. Copy and versioned map recipes preserve the normalized query. Recipe identities use Channel export_key, not environment-local UUIDs.

Recipes also preserve an exclusive group's visibility policy and remembered member by portable group/member order; environment-local Layer UUIDs are not serialized as identity.

Layer settings save Layer presentation and the shared Map Connection query in one database transaction. A validation or authorization failure rolls back both objects, so the UI cannot display a saved style with stale data selection.