oxiproj-core 0.1.2

Foundation types for OxiProj: coordinates, errors, ellipsoids, datums, and units.
Documentation
# oxiproj-core

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

Part of the [OxiProj](https://github.com/cool-japan/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

```rust
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).