Expand description
§wxy-domain
One data model for gridded, mesh and feature data, with no I/O and no CRS dependency. This is stage S1 of the wxylib roadmap; the design is in wxylib/design, documents 02 and 03.
The model separates three things that gridded-data software usually blurs (after Regular in what?, hypertidy/regular-in-what):
- index mapping: how a position follows from an index
(
Positions, one variant per rung of theRungladder); - frame: what the positions mean (
Frame, opaque to this crate); - storage: what a producer wrote down. Readers record the stored
form as given, and
normaliseturns it into a cheaper, equivalent mapping when the evidence allows, with anormalise::Report.
A Domain is index space (Dims) plus any number of Mappings,
each covering some of the dims and naming its frame. A Field is
values on a domain. A Collection groups fields and domains, and
covers a classic raster dataset, a multidimensional group, a mesh with
its datasets, or a feature layer.
§Index space convention
Continuous index coordinates follow GDAL’s pixel convention: 0.0 is
the outer edge of the first element along a dim and i + 0.5 is the
centre of element i. Every mapping evaluates in this space, whatever
its CellConvention says about where stored coordinates sit.
§What is implemented in S1
Rungs R0 to R3 (index only, regular, rectilinear, curvilinear) are implemented and evaluate positions. R3’ (fitted models), R4 (implicit meshes such as DGGS) and R5/R6 (explicit meshes, features) are present as trait-object variants so the types will not change when they arrive.
Re-exports§
pub use affine::Affine;pub use collection::Collection;pub use collection::Relation;pub use collection::RelationKind;pub use dim::Dim;pub use domain::Domain;pub use field::DataType;pub use field::Field;pub use field::Location;pub use field::ValueSemantics;pub use frame::Frame;pub use mapping::CellConvention;pub use mapping::Mapping;pub use positions::CoordArray;pub use positions::Positions;pub use positions::Rung;
Modules§
- affine
- Affine transforms in GDAL geotransform order.
- collection
- Collections: fields and domains together, with attributes.
- dim
- Dimensions: named axes of index space.
- domain
- Domains: index space plus the mappings that place it.
- field
- Fields: values on a domain.
- frame
- Frames: what the numbers a mapping produces mean.
- mapping
- Mappings: positions for some of a domain’s dims, in a named frame.
- normalise
- Normalisation: find a cheaper, equivalent mapping for what was stored.
- positions
- Positions: how a position follows from an index. One variant per rung.