opengeospatial / opengeospatial/CoverageJSON

Add support for an additional explicit dimension in the CoverageJSON schema

Open
#216 9 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

V1.1
Dominant language
HTML
Stars
15
Forks
8
PR merge metrics
No merged PRs in 30d

Description

There is currently a limitation in the CoverageJSON schema whereby certain logically independent axes cannot be modelled as first‑class dimensions within a single coverage. Instead, these cases are typically forced into the use of coverage collections.
This issue proposes adding support for an additional explicit dimension in the CoverageJSON schema, to allow such axes to be represented directly and consistently alongside existing dimensions (e.g. x, y, z, t).

A common and concrete example is ensemble data. Ensembles represent a dimension that users frequently need to subset across (e.g. selecting specific ensemble members, computing statistics across members, or visualising individual members).
From a user and client perspective, ensemble behaves like a true dimension:

  • Users expect to subset, slice, or aggregate across ensemble members in the same way as they would across time or vertical levels.
  • Clients often want to request a single ensemble member or a small subset of members efficiently.
  • Downstream processing frequently treats ensemble as an axis over which operations are performed.

Modelling ensemble as a coverage collection rather than a dimension is inefficient and semantically awkward in this case:

  • It requires clients to iterate over multiple coverages to perform what is conceptually a single subsetting operation.
  • It complicates request syntax and client logic, especially for APIs that already support dimension‑based subsetting.
  • It prevents clear expression of the full multidimensional structure of the data within a single coverage object.

An example of a proposed update to the CoverageJSON schema is attached to this issue. This example illustrates how an additional dimension 'e' (extra) could be declared explicitly within a single coverage, including its coordinates and size, while remaining consistent with the existing schema structure and conventions.

This change would improve expressiveness for multidimensional datasets, reduce client‑side complexity, and better align the schema with common usage patterns for ensemble and other similar data types.

extended_covjson_schema_example.json

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current CoverageJSON schema alongside the attached extended_covjson_schema_example.json. Determine how an explicit extra dimension such as ensemble or “e” should be declared, including its coordinates and size, while remaining consistent with x, y, z, and t; done means the schema can represent these dimensions directly within one coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.