nearestPointOnLine
Description
Returns the nearest point on a line to a given point.
If any of the segments in the input line string are antipodal and therefore have an undefined arc, this function will instead return that the point lies on the line.
Parameters
| Name | Type | Description |
|---|---|---|
| lines | Geometry | Feature<LineString | MultiLineString> | lines to snap to |
| pt | Geometry | Feature<Point> | Array<number> | point to snap from |
| options? | Object | Optional parameters (default {}) |
| options.units? | Units | Supports all valid Turf Units (default 'kilometers') |
Returns
Feature<Point> closest point on the line to point. The properties object will contain four values: index: closest point was found on nth line part, multiFeatureIndex: closest point was found on the nth line of the MultiLineString, dist: distance between pt and the closest point, location: distance along the line between start and the closest point.
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.nearestPointOnLine(line, pt, { units: "miles" });
Installation
$ npm install @turf/nearest-point-on-line
import { nearestPointOnLine } from "@turf/nearest-point-on-line";
const result = nearestPointOnLine(...);
$ npm install @turf/turf
import * as turf from "@turf/turf";
const result = turf.nearestPointOnLine(...);