Package Exports
- polygonize
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (polygonize) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Polygonize
Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph. It's basically an implementation of GEOS's Polygonizer.
Although, the algorithm is the same as GEOS, it isn't a literal transcription of the C++ source code. It was rewriten in order to get a more javascript like code.
JSDoc
/**
* Polygonizes {@link LineString|(Multi)LineString(s)} into {@link Polygons}.
*
* Implementation of GEOSPolygonize function (`geos::operation::polygonize::Polygonizer`).
*
* Polygonizes a set of lines that represents edges in a planar graph. Edges must be correctly
* noded, i.e., they must only meet at their endpoints.
*
* The implementation correctly handles:
*
* - Dangles: edges which have one or both ends which are not incident on another edge endpoint.
* - Cut Edges (bridges): edges that are connected at both ends but which do not form part of a polygon.
*
* @name polygonize
* @param {FeatureCollection|Geometry|Feature<LineString|MultiLineString>} geoJson Lines in order to polygonize
* @returns {FeatureCollection<Polygon>} Polygons created
* @throws {Error} if geoJson is invalid.
*/Example
This example is the test found in test/in/complex.geojson.
const polygonize = require('polygonize'),
fs = require('fs'),
input = JSON.parse(fs.readFileSync('./test/in/complex.geojson'));
console.log(JSON.stringify(polygonize(input)));The input as GeoJson LineString:

Turned into polygons:

Documentation
Polygonizes (Multi)LineString(s) into Polygons.
Implementation of GEOSPolygonize function (geos::operation::polygonize::Polygonizer).
Polygonizes a set of lines that represents edges in a planar graph. Edges must be correctly noded, i.e., they must only meet at their endpoints.
The implementation correctly handles:
- Dangles: edges which have one or both ends which are not incident on another edge endpoint.
- Cut Edges (bridges): edges that are connected at both ends but which do not form part of a polygon.
Parameters
geojson(FeatureCollection | Geometry | Feature<(LineString | MultiLineString)>) Lines in order to polygonizeThrows Error if geoJson is invalid.
Returns FeatureCollection<Polygon> Polygons created
Installation
Install this module individually:
$ npm install polygonize