Socket
Socket
Sign inDemoInstall

wkx

Package Overview
Dependencies
2
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wkx

A WKT/WKB/EWKT/EWKB/TWKB/GeoJSON parser and serializer


Version published
Maintainers
1
Install size
1.10 MB
Created

Package description

What is wkx?

The wkx npm package provides tools to parse and serialize Well-Known Text (WKT) and Well-Known Binary (WKB) formats, commonly used for representing geometric objects in Geographic Information Systems (GIS). It supports conversion between these formats and GeoJSON, making it useful for applications involving geospatial data manipulations.

What are wkx's main functionalities?

Parsing WKT to Geometry

This feature allows the parsing of Well-Known Text (WKT) into a Geometry object, which can then be converted to other formats like GeoJSON.

const wkx = require('wkx');
const wkt = 'POINT (30 10)';
const geometry = wkx.Geometry.parse(wkt);
console.log(geometry.toGeoJSON());

Serializing Geometry to WKT

This feature enables the serialization of Geometry objects (e.g., Point) into the Well-Known Text (WKT) format.

const wkx = require('wkx');
const point = new wkx.Point(30, 10);
const wkt = point.toWkt();
console.log(wkt);

Parsing WKB to Geometry

This feature allows the parsing of Well-Known Binary (WKB) into a Geometry object, which can then be converted to formats like GeoJSON.

const wkx = require('wkx');
const wkbBuffer = Buffer.from('0101000000000000000000F03F000000000000F03F', 'hex');
const geometry = wkx.Geometry.parse(wkbBuffer);
console.log(geometry.toGeoJSON());

Serializing Geometry to WKB

This feature enables the serialization of Geometry objects into the Well-Known Binary (WKB) format.

const wkx = require('wkx');
const point = new wkx.Point(30, 10);
const wkb = point.toWkb();
console.log(wkb.toString('hex'));

Other packages similar to wkx

Readme

Source

wkx Build Status Coverage Status

A WKT/WKB/EWKT/EWKB/TWKB/GeoJSON parser and serializer with support for

  • Point
  • LineString
  • Polygon
  • MultiPoint
  • MultiLineString
  • MultiPolygon
  • GeometryCollection

Examples

The following examples show you how to work with wkx.

var wkx = require('wkx');

//Parsing a WKT string
var geometry = wkx.Geometry.parse('POINT(1 2)');

//Parsing an EWKT string
var geometry = wkx.Geometry.parse('SRID=4326;POINT(1 2)');

//Parsing a node Buffer containing a WKB object
var geometry = wkx.Geometry.parse(wkbBuffer);

//Parsing a node Buffer containing an EWKB object
var geometry = wkx.Geometry.parse(ewkbBuffer);

//Parsing a node Buffer containing a TWKB object
var geometry = wkx.Geometry.parseTwkb(twkbBuffer);

//Parsing a GeoJSON object
var geometry = wkx.Geometry.parseGeoJSON({ type: 'Point', coordinates: [1, 2] });

//Serializing a Point geometry to WKT
var wktString = new wkx.Point(1, 2).toWkt();

//Serializing a Point geometry to WKB
var wkbBuffer = new wkx.Point(1, 2).toWkb();

//Serializing a Point geometry to EWKT
var ewktString = new wkx.Point(1, 2, undefined, undefined, 4326).toEwkt();

//Serializing a Point geometry to EWKB
var ewkbBuffer = new wkx.Point(1, 2, undefined, undefined, 4326).toEwkb();

//Serializing a Point geometry to TWKB
var twkbBuffer = new wkx.Point(1, 2).toTwkb();

//Serializing a Point geometry to GeoJSON
var geoJSONObject = new wkx.Point(1, 2).toGeoJSON();

Browser

To use wkx in a webpage, simply copy a built browser version from dist/ into your project, and use a script tag to include it:

<script src="wkx.js"></script>

If you use browserify for your project, you can simply npm install wkx --save, and just require wkx as usual in your code.


Regardless of which of the preceeding options you choose, using wkx in the browser will look the same:

var wkx = require('wkx');

var geometry = wkx.Geometry.parse('POINT(1 2)');

console.log(geometry.toGeoJSON());

In addition to the wkx module, the browser versions also export buffer, which is useful for parsing WKB:

var Buffer = require('buffer').Buffer;
var wkx = require('wkx');

var wkbBuffer = new Buffer('0101000000000000000000f03f0000000000000040', 'hex');
var geometry = wkx.Geometry.parse(wkbBuffer);

console.log(geometry.toGeoJSON());

Keywords

FAQs

Last updated on 27 Feb 2018

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc