JSPM

planar-graph-to-polyline

1.0.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 25455
  • Score
    100M100P100Q162104F
  • License MIT

Convert a planar graph to a collection of nest polylines

Package Exports

  • planar-graph-to-polyline

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 (planar-graph-to-polyline) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

planar-graph-to-polyline

Converts a planar graph to a collection of nested polylines (as would be consumed in a GeoJSON/TopoJSON file for example).

Example

var graphToPolygons = require("planar-graph-to-polyline")

var edges = []
var positions = []

for(var i=1; i<=3; ++i) {
  var v0 = positions.length
  for(var j=0; j<10; ++j) {
    var theta = 2.0 * Math.PI * j / 10
    positions.push([ i * Math.cos(theta), i * Math.sin(theta) ])
    edges.push([ v0+j, v0+((j+1)%10) ])
  }
}

console.log(graphToPolygons(edges, positions))

Output:

[ [ [ 20, 29, 28, 27, 26, 25, 24, 23, 22, 21 ],
    [ 11, 12, 13, 14, 15, 16, 17, 18, 19, 10 ] ],
  [ [ 0, 9, 8, 7, 6, 5, 4, 3, 2, 1 ] ] ]

Install

npm install planar-graph-to-polyline

API

require("planar-graph-to-polyline")(edges, positions)

Converts a planar graph into a collection of nested polylines

  • edges are the edges of the graph
  • positions are the locations of the vertices in the plane

Returns A list of loops encoding the regions bounded by the graph

Credits

(c) 2014 Mikola Lysenko. MIT License