Skip to main content

Crate hfx_core

Crate hfx_core 

Source
Expand description

Shared types and validation primitives for HFX artifacts.

This crate defines the canonical in-memory representation of HFX domain concepts. All types enforce their invariants at construction time (“parse, don’t validate”). No I/O — deserialization from Parquet/Arrow/JSON/GeoTIFF is the responsibility of downstream crates.

Re-exports§

pub use area::AreaKm2;
pub use area::MeasureError;
pub use area::Weight;
pub use catchment::CatchmentAtom;
pub use geo::BoundingBox;
pub use geo::GeoError;
pub use geo::Latitude;
pub use geo::Longitude;
pub use geo::WkbGeometry;
pub use graph::AdjacencyRow;
pub use graph::DrainageGraph;
pub use graph::GraphError;
pub use id::AtomId;
pub use id::IdError;
pub use id::SnapId;
pub use manifest::AtomCount;
pub use manifest::Crs;
pub use manifest::FormatVersion;
pub use manifest::Manifest;
pub use manifest::ManifestBuilder;
pub use manifest::ManifestError;
pub use manifest::RasterAvailability;
pub use manifest::SnapAvailability;
pub use manifest::Topology;
pub use manifest::UpAreaAvailability;
pub use raster::FlowDirEncoding;
pub use raster::FlowDirEncodingError;
pub use snap::MainstemStatus;
pub use snap::SnapTarget;

Modules§

area
Area and weight measurement types.
catchment
Catchment atom domain type.
geo
Spatial primitives for WGS84 coordinates, bounding boxes, and WKB geometry.
graph
Upstream adjacency graph types.
id
Catchment and snap target identity types.
manifest
HFX dataset manifest types.
raster
Raster-related domain types.
snap
Snap target domain types.

Traits§

HasAtomId
Trait for types identified by an AtomId.
HasBbox
Trait for types that carry a spatial bounding box.