@turf/point-on-line
pointOnLine
Takes a Point and a LineString and calculates the closest Point on the (Multi)LineString.
Parameters
-
lines
(Geometry | Feature<(LineString | MultiLineString)>) lines to snap to -
pt
(Geometry | Feature<Point> | Array<number>) point to snap from -
units
string can be degrees, radians, miles, or kilometers (optional, defaultkilometers
)
Examples
var line = turf.lineString([
[-77.031669, 38.878605],
[-77.029609, 38.881946],
[-77.020339, 38.884084],
[-77.025661, 38.885821],
[-77.021884, 38.889563],
[-77.019824, 38.892368]
]);
var pt = turf.point([-77.037076, 38.884017]);
var snapped = turf.pointOnLine(line, pt, 'miles');
//addToMap
var addToMap = [line, pt, snapped];
snapped.properties['marker-color'] = '#00f';
Returns Feature<Point> closest point on the line
to point
. The properties object will contain three values: index
: closest point was found on nth line part, dist
: distance between pt and the closest point, location
: distance along the line between start and the closest point.
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Installation
Install this module individually:
$ npm install @turf/point-on-line
Or install the Turf module that includes it as a function:
$ npm install @turf/turf