node-point
v1.1.4
Published
A JavaScript/TypeScript library for handling Point geometry according to OGC (Open Geospatial Consortium) standards.
Maintainers
Readme
node-point
A JavaScript/TypeScript library for handling Point geometry according to OGC (Open Geospatial Consortium) standards.
Features
- Create and manipulate Point geometries
- Support for WKT (Well-Known Text) format
- Geometric transformations including translation, scaling, and rotation
- Matrix-based transformations
- TypeScript support with full type definitions
Installation
npm install node-pointUsage
Basic Usage
import { Point, create, clone } from 'node-point';
// Create a new Point
const point = create();
point.coordinates = [-100, 40];
// Clone a point
const clonedPoint = clone(point);Working with WKT
import { Point, fromWKT } from 'node-point';
// Create point from WKT format
const point = new Point();
fromWKT(point, "POINT(116.36 39.90)");
console.log(point.coordinates); // [116.36, 39.9]Geometric Transformations
import { Point, translate, scale, rotate, transformMat3 } from 'node-point';
const point = new Point();
point.coordinates = [10, 10];
// Translation
translate(point, point, [5, 5]); // Moves point to [15, 15]
// Scaling
scale(point, point, [2, 2], [0, 0]); // Scales by factor of 2 around origin
// Rotation
rotate(point, point, Math.PI / 2, [0, 0]); // Rotates 90 degrees around origin
// Matrix transformation
const matrix = new Float32Array([1, 0, 0, 0, 1, 0, 10, 20, 1]);
transformMat3(point, point, matrix); // Applies transformation matrixAPI Reference
Point Class
The main Point class representing a point geometry with the following properties:
type: String - Always 'Point'coordinates: Array - [x, y] coordinates
Functions
create(): Point
Creates a new empty Point object.
clone(a: Point): Point
Clones a Point object.
fromWKT(out: Point, wkt: string): void
Parses a Point from WKT format string (e.g., "POINT(116.36 39.90)").
transformMat3(out: Point, a: Point, mat3: Float32Array): Point
Transforms a Point using a 3x3 matrix transformation.
translate(out: Point, a: Point, dxdy: number[]): Point
Translates a Point by dx and dy distances provided as an array.
scale(out: Point, a: Point, scale: number[], origin: number[] = [0, 0]): Point
Scales a Point by scale factors around an origin point.
rotate(out: Point, a: Point, rad: number, origin: number[] = [0, 0]): Point
Rotates a Point by radians around an origin point.
Data Format
Point Structure
{
"type": "Point",
"coordinates": [-100, 40]
}WKT Format Support
Supports parsing POINT type WKT format:
POINT(116.36 39.90)License
MIT
