Security News
Cloudflare Adds Security.txt Setup Wizard
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
The jsts (JavaScript Topology Suite) npm package is a JavaScript library for performing various geometric operations. It is a port of the well-known JTS Topology Suite, which is widely used in the GIS (Geographic Information Systems) community. The library provides a range of functionalities for creating, manipulating, and analyzing planar geometric objects.
Geometry Creation
This feature allows you to create geometric objects from Well-Known Text (WKT) representations. In this example, a point geometry is created from a WKT string.
const jsts = require('jsts');
const reader = new jsts.io.WKTReader();
const point = reader.read('POINT (10 20)');
console.log(point);
Geometric Operations
This feature allows you to perform geometric operations such as union, intersection, and difference. In this example, the union operation is performed on two polygon geometries.
const jsts = require('jsts');
const reader = new jsts.io.WKTReader();
const geom1 = reader.read('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))');
const geom2 = reader.read('POLYGON ((20 30, 35 35, 30 20, 20 30))');
const union = geom1.union(geom2);
console.log(union);
Spatial Analysis
This feature allows you to perform spatial analysis operations such as calculating distances between geometries. In this example, the distance between two point geometries is calculated.
const jsts = require('jsts');
const reader = new jsts.io.WKTReader();
const geom1 = reader.read('POINT (10 20)');
const geom2 = reader.read('POINT (30 40)');
const distance = geom1.distance(geom2);
console.log(distance);
Turf is a JavaScript library for advanced geospatial analysis. It provides a wide range of spatial operations and is highly optimized for performance. Compared to jsts, Turf offers more functionalities for working with GeoJSON data and is often used in web mapping applications.
Geolib is a lightweight library for geospatial operations in JavaScript. It focuses on basic geospatial calculations such as distance, area, and bounding boxes. While it is not as feature-rich as jsts, it is simpler to use for basic geospatial tasks.
OpenLayers is a powerful library for displaying and interacting with maps in web applications. It includes some geospatial analysis functionalities but is primarily focused on map rendering and user interaction. Compared to jsts, OpenLayers is more suitable for building interactive map applications.
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.
The code tries to be conformant to the Google JavaScript Style Guide and JSLint and is licensed with the LGPL 2.1 license.
These are effective/potential changes from the original JTS Topology Suite:
FAQs
A JavaScript library of spatial predicates and functions for processing geometry
The npm package jsts receives a total of 134,182 weekly downloads. As such, jsts popularity was classified as popular.
We found that jsts demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
Security News
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.