A JavaScript library of spatial predicates and functions for processing geometry

JSTS Topology Suite

The JSTS Topology Suite is a JavaScript library of spatial predicates and functions for processing geometry conforming to the Simple Features Specification for SQL published by the Open Geospatial Consortium. JSTS Topology Suite is also a JavaScript port of the well established Java library JTS Topology Suite with a built in parser for OpenLayers geometries.

SWECO Position AB (my current employer) has gratiously provided sponsoring for this project.

The primary goal of the project is to provide OpenLayers applications with a complete library for processing and analysing simple geometries, but as of version 0.11.0 hard dependencies to OpenLayers was removed which makes it possible to use JSTS Topology Suite as a free standing geometry library.

A Google group is available for developer discussions.

Unit tests are made using the Jasmine testing framework. A port of JTS Validation Suite provides additional tests.

A "recent" trunk snapshot of API docs is available. Also available are simple example use of buffer, overlay and triangulation operations. The examples uses a build of attache-array-js to meet JavaScript ES5 requirements in some browsers. There are also some examples of using JSTS with Node.js.

  • Eclipse 4.3.1 (Kepler)
  • Assumes OpenLayers 2.13.1 distribution in project root from http://www.openlayers.org/
  • Assumes OS Ubuntu/Linux

These are effective/potential changes from the original JTS Topology Suite:

  • Skip abstracted CoordinateSequence interface/implementation
  • Viper - a game that uses quadtree index and the robust line intersection algorithm.