Files
skills/docs/geospatial/geo/geo/README.md
2026-05-29 08:20:56 +01:00

11 KiB

@suaveplan/geo - Abstract spherical and ellipsoidal geometry — pure math with no planet-specific constants.

Summary

Abstract spherical and ellipsoidal geometry — pure math with no planet-specific constants. Every operation that needs a body's shape takes an explicit Ellipsoid parameter.

Documentation tree

- [angular](./src/angular/angular.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exports Zod schemas that validate every public geometric type defined in `@suaveplan/geo`. The sch…

Install

bun add @suaveplan/geo

Quick start

import { defineEllipsoid, greatCircleDistance, bearing, destination } from "@suaveplan/geo";

const wgs84 = defineEllipsoid(6_378_137, 6_356_752.314245);
const london = { latitude: 51.5074, longitude: -0.1278 };
const paris = { latitude: 48.8566, longitude: 2.3522 };

console.log(greatCircleDistance(london, paris, wgs84, "kilometre")); // ~344
console.log(bearing(london, paris)); // ~154°

Modules