Skip to main content
Version: Next

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

NameTypeDescription
linesGeometry | Feature<LineString | MultiLineString>lines to snap to
ptGeometry | Feature<Point> | Array<number>point to snap from
options?ObjectOptional parameters (default {})
options.units?UnitsSupports 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(...);