#![forbid(unsafe_code)]
pub mod coord;
pub mod crs;
pub mod datum;
pub mod ellipsoid;
mod epsg_db;
pub mod error;
mod geocentric;
pub mod grid;
mod helmert;
pub mod operation;
mod projection;
pub mod registry;
mod selector;
pub mod transform;
pub use coord::{Bounds, Coord, Coord3D, Transformable, Transformable3D};
pub use crs::{CrsDef, GeographicCrsDef, LinearUnit, ProjectedCrsDef, ProjectionMethod};
pub use datum::{Datum, DatumGridShift, DatumGridShiftEntry, DatumToWgs84, HelmertParams};
pub use ellipsoid::Ellipsoid;
pub use error::{Error, Result};
pub use grid::{
EmbeddedGridProvider, FilesystemGridProvider, GridDefinition, GridError, GridFormat,
GridHandle, GridProvider, GridSample,
};
pub use operation::{
AreaOfInterest, AreaOfInterestCrs, AreaOfUse, CoordinateOperation, CoordinateOperationId,
CoordinateOperationMetadata, GridCoverageMiss, GridId, GridInterpolation, GridShiftDirection,
OperationAccuracy, OperationMatchKind, OperationMethod, OperationSelectionDiagnostics,
OperationStep, OperationStepDirection, SelectionOptions, SelectionPolicy, SelectionReason,
SkippedOperation, SkippedOperationReason, TransformOutcome,
};
pub use registry::{
lookup_authority_code, lookup_datum_epsg, lookup_epsg, lookup_operation,
operation_candidates_between, operation_candidates_between_with_selection_options,
operations_between,
};
pub use transform::Transform;