Sign In

@squawk/geo

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
This package has malicious versions linked to the ongoing "Mini Shai-Hulud" supply chain attack.

Affected versions:

0.4.40.4.50.4.6
+2 more
View campaign page

@squawk/geo

Geospatial utilities: great-circle distance, bearing, midpoint, destination point, and polygon containment

Source
npmnpm
Version
0.4.3
Version published
Weekly downloads
24
-4%
Maintainers
1
Weekly downloads
 
Created
Source

squawk logo  @squawk/geo

MIT License npm TypeScript

Geospatial utilities for aviation applications: great-circle distance, initial bearing, midpoint, destination point, and polygon containment.

Documentation

Part of the @squawk aviation library suite. See all packages on npm.

Installation

npm install @squawk/geo

Usage

Exports are grouped by domain namespace to keep call sites self-documenting:

import { greatCircle, polygon } from '@squawk/geo';

// Great-circle calculations (WGS84 lat/lon in decimal degrees)
const distNm = greatCircle.distanceNm(40.6413, -73.7781, 33.9425, -118.4081);
const brgDeg = greatCircle.bearing(40.6413, -73.7781, 33.9425, -118.4081);
const both = greatCircle.bearingAndDistance(40.6413, -73.7781, 33.9425, -118.4081);
const mid = greatCircle.midpoint(40.6413, -73.7781, 33.9425, -118.4081);
const dest = greatCircle.destination(40.6413, -73.7781, 270, 100);

// Polygon containment with bounding-box pre-filter
const ring: number[][] = [
  [-118.42, 33.93],
  [-118.42, 33.96],
  [-118.38, 33.96],
  [-118.38, 33.93],
  [-118.42, 33.93],
];
const box = polygon.boundingBox(ring);
if (polygon.pointInBoundingBox(-118.4, 33.945, box)) {
  if (polygon.pointInPolygon(-118.4, 33.945, ring)) {
    // point is inside the polygon
  }
}

Key Features

  • Great-circle distance in nautical miles using the Haversine formula
  • Initial bearing between two positions, degrees true
  • Midpoint and destination point along a great-circle path
  • Point-in-polygon ray casting for arbitrary closed rings
  • Axis-aligned bounding box computation and containment test, useful as a fast rejection filter before the full polygon test

Conventions

  • Latitude and longitude inputs are WGS84 decimal degrees (positive north and east)
  • Distances are nautical miles; bearings are degrees true in the range [0, 360)
  • Polygons use the GeoJSON [lon, lat] coordinate-pair convention for each ring point

Keywords

aviation

FAQs

Package last updated on 06 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts