qibla/README.md

1.9 KiB

@acamarata/qibla

npm version CI License: MIT Wiki

Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.

Installation

npm install @acamarata/qibla

Quick Start

import { qiblaAngle, compassDir, distanceKm, KAABA_LAT, KAABA_LNG } from '@acamarata/qibla';

// Bearing from New York to the Ka'bah
const bearing = qiblaAngle(40.7128, -74.006);
console.log(bearing);          // ~58.48 degrees
console.log(compassDir(bearing)); // "NE"

// Distance in kilometers
const km = distanceKm(40.7128, -74.006, KAABA_LAT, KAABA_LNG);
console.log(km); // ~9,634

CommonJS:

const { qiblaAngle } = require('@acamarata/qibla');

Use qiblaGreatCircle(lat, lng, steps?) to generate waypoints along the great-circle path for map overlays.

TypeScript

import { qiblaAngle, CompassAbbr, CompassName } from '@acamarata/qibla';

Documentation

Full API reference, algorithm design, and spherical trigonometry notes: GitHub Wiki

Acknowledgments

Ka'bah coordinates verified against published GPS surveys and cross-checked with satellite imagery. Forward azimuth formula follows standard spherical trigonometry as used in aviation and geodesy.

License

MIT