Skip to main content
Version: 7.1.0

nearestPointOnLine

Description

Takes a Point and a LineString and calculates the closest Point on the (Multi)LineString.

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?stringcan be degrees, radians, miles, or kilometers (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(...);