@linzjs/geojson
TypeScript icon, indicating that this package has built-in type declarations

7.1.0 • Public • Published

@linzjs/geojson

GeoJSON computation

Utility functions for working with GeoJSON multi polygons and bounding boxes. In particular for handling the anti-meridian.

Usage

Wgs84

import { Wgs84 } from '@linzjs/geojson';

assert(Wgs84.normLon(-163.12345 - 720) == -163.12345;

assert(Wgs84.crossesAM(-175, 175));

assert(Wgs84.delta(-175, 170) == -15);

assert(deepEqual(Wgs84.union([175, -42, -178, -41], [-170, -43, -160, -42]), [175, -43, -160, -41]));

MultiPolygon

import { clipMultipolygon, multiPolygonToWgs84 } from '@linzjs/geojson';
import * as Proj from 'proj4';

// polygons clipped to bounding box; no degenerate edges
const clipped = clipMultipolygon(polygons, [-2, -2, 1, 1]);

const nztmToWgs84 = Proj('epsg:2193', 'epsg:4326').forward;

// nztm polygons converted to wgs84 split at anti-meridian
const splitPolys = multiPolygonToWgs84(nztmPolygons, nztmToWgs84);

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 7.1.0
    47
    • latest

Version History

Package Sidebar

Install

npm i @linzjs/geojson

Weekly Downloads

107

Version

7.1.0

License

MIT

Unpacked Size

89.7 kB

Total Files

46

Last publish

Collaborators

  • linzds
  • blacha
  • philals