-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Summary
Formally document eopf-geozarr as the reference implementation for GeoZarr conventions, providing implementation notes, conformance claims, and guidance for other implementers.
Background
The charter (Section 4) states that "reference implementations that fully use GeoZarr should be documented at the same time the candidate Standard goes to vote."
eopf data-model (v0.8.0) implements all three conventions and can serve as the reference implementation. This needs to be formally documented.
Acceptance Criteria
- Reference implementation status declared
- Conformance claims documented per class
- Implementation notes for each convention
- Known limitations documented
- Test coverage reported
- API stability commitment
- Link from main spec to reference impl
Documentation Structure
1. Conformance Statement
## eopf data model Conformance Statement
**Version:** 0.8.0
**GeoZarr Version:** 1.0 (draft)
| Conformance Class | Status | Notes |
|-------------------|--------|-------|
| GeoZarr Core | Conformant | |
| geo-proj | Conformant | Supports EPSG, WKT2, PROJJSON |
| spatial | Conformant | Affine transforms only |
| multiscales | Conformant | Power-of-2 downsampling |2. Implementation Notes
geo-proj Implementation
- How CRS is stored and retrieved
- PROJJSON generation from pyproj
- Inheritance implementation details
spatial Implementation
- Affine transform handling via rasterio/Affine
- Dimension ordering conventions
- Grid registration handling
multiscales Implementation
- Downsampling algorithm (averaging)
- Level naming convention
- Transformation calculation
3. Known Limitations
4. For Implementers
Guidance for others implementing GeoZarr:
- Required dependencies
- Key design decisions and rationale
- Common pitfalls
- Test cases to verify conformance
Files to Create/Update
-
geozarr-spec/implementations.md- Registry of implementations
Implementation Registry
Create a registry of known implementations. Per the Zarr Conventions Framework, reaching Candidate maturity requires 3+ implementations, and Stable requires 6+.
| Implementation | Language | Maintainer | geo-proj | spatial | multiscales |
|---|---|---|---|---|---|
| eopf-geozarr | Python | ESA/Spacebel | Full | Full | Full |
| zarr-cm | Python | GeoZarr SWG | Full | Full | Full |
| geozarr-examples | Python | GeoZarr SWG | Full | Full | Full |
| rioxarray | Python | Corteva | In progress | In progress | None |
| GDAL | C++ | OSGeo | Planned | Planned | Planned |
| OpenLayers | JavaScript | OpenLayers | Read | Read | Read |
| TiTiler | Python | Development Seed | Read | Read | Read |
Current implementation count: 6 (3 full, 1 in progress, 2 read-only)
Target for Candidate: 3+ ✓
Target for Stable: 6+
Tracking
Emmanuel Mathot will track implementation status of Spatial, Proj, and Multiscales conventions and report at SWG meetings.
Dependencies
- Define conformance classes structure #108 (Conformance classes must be defined)
- Test suite for conformance verification
Notes
- Coordinate with eopf data model maintainers
- Consider creating a conformance badge/logo
- Plan for updating as implementation evolves
Metadata
Metadata
Assignees
Labels
Type
Projects
Status