point-in-polygon
determine if a point is inside a polygon with a ray intersection counting algorithm
Last updated 13 years ago by substack .
MIT · Repository · Original npm · Tarball · package.json
$ npm install point-in-polygon 
SYNC missed versions from official npm registry.

point-in-polygon

Determine if a point is inside of a polygon.

This module casts a semi-infinite ray from the inquiry point and counts intersections, based on this algorithm.

If you need a numerically robust solution and are willing to trade some performance for it, use robust-point-in-polygon.

example

var pointInPolygon = require('point-in-polygon');
var polygon = [ [ 1, 1 ], [ 1, 2 ], [ 2, 2 ], [ 2, 1 ] ];

console.log(pointInPolygon([ 1.5, 1.5 ], polygon)); // true
console.log(pointInPolygon([ 4.9, 1.2 ], polygon)); // false
console.log(pointInPolygon([ 1.8, 1.1 ], polygon)); // true

methods

var pointInPolygon = require('point-in-polygon')
var pointInPolygonFlat = require('point-in-polygon/flat')
var pointInPolygonNested = require('point-in-polygon/nested')

pointInPolygon(point, polygon, start=0, end=polygon.length)

Return whether point is contained in polygon.

  • point should be a 2-item array of coordinates
  • polygon should be an array of 2-item arrays of coordinates or a flat array of coordinates
  • start is an offset into polygon. default 0
  • end is an offset into polygon. default polygon.length

The flat or nested is detected automatically. Or you can use the specific methods if you want to skip the check.

install

npm install point-in-polygon

license

MIT

Current Tags

  • 1.1.0                                ...           latest (4 years ago)

5 Versions

  • 1.1.0                                ...           4 years ago
  • 1.0.2                                ...           4 years ago
  • 1.0.1                                ...           8 years ago
  • 1.0.0                                ...           10 years ago
  • 0.0.0                                ...           13 years ago
Maintainers (1)
Downloads
Total 6
Today 0
This Week 0
This Month 5
Last Day 0
Last Week 5
Last Month 0
Dependencies (0)
None
Dev Dependencies (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE