@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);

Dependencies (3)

Dev Dependencies (0)

    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