oxiproj-core 0.1.0

Foundation types for OxiProj: coordinates, errors, ellipsoids, datums, and units.
Documentation
  • Coverage
  • 77.46%
    189 out of 244 items documented0 out of 0 items with examples
  • Size
  • Source code size: 185.59 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.32 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 7s Average build duration of successful builds.
  • all releases: 18s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • cool-japan

oxiproj-core

Foundation types for OxiProj: coordinates, errors, ellipsoids, datums, and units.

Part of the OxiProj workspace — a 100% Pure-Rust port of PROJ 9.8.0.

Features

  • Rich coordinate types: Coord, Xy, Xyz, Xyzt, Lp, Lpz, Lpzt, Enu, Geod, Uv, Uvw, Uvwt, Opk
  • Ellipsoid definitions and construction helpers (from_a_b, from_a_f, from_a_rf, from_a_es, sphere)
  • Built-in datum table (find_datum, DatumDef, DatumParams) and prime-meridian registry
  • Geodetic math primitives: Clenshaw series, Gauss–Krüger helpers, authalic/auxiliary-latitude conversions, and polynomial evaluation
  • ProjError / ProjResult unified error type used throughout the workspace
  • Optional serde support via the serde feature flag

Usage

use oxiproj_core::{Ellipsoid, named_ellipsoid, Coord, ProjResult};

fn main() -> ProjResult<()> {
    // Look up the WGS 84 ellipsoid by name.
    let e = named_ellipsoid("WGS84")?;
    println!("a = {}, 1/f = {}", e.a, 1.0 / e.f);

    // Build a coordinate (longitude, latitude in radians).
    let _c = Coord::new(0.2094395, 0.9599310); // ~12°E, 55°N in radians
    Ok(())
}

License

Apache-2.0. Copyright 2026 COOLJAPAN OU (Team Kitasan).