Wkx
A WKT/WKB/EWKT/EWKB/TWKB/GeoJSON parser and serializer.
Install / Use
/learn @cschwarz/WkxREADME
wkx

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());
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
