Files
skills/plugins/document-navigator/docs/geospatial/geo/geo/README.md
admin 9bf56a806b Move docs/ package mirror into document-navigator plugin
Relocate the ~6k-file docs tree from the repo root into
plugins/document-navigator/docs/ so the plugin is self-contained and
portable. docs/superpowers/ (specs and plans) stays at the repo root.

Moved via cp+rm rather than git mv because directory rename() fails with
EPERM on this WSL /mnt DrvFs mount; git rename-detection pairs the
identical-content files at commit time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 01:10:00 +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