# @turf/nearest-point-on-line ## nearestPointOnLine Takes a [Point][1] and a [LineString][2] and calculates the closest Point on the (Multi)LineString. ### Parameters * `lines` **([Geometry][3] | [Feature][4]<([LineString][2] | [MultiLineString][5])>)** lines to snap to * `pt` **([Geometry][3] | [Feature][4]<[Point][1]> | [Array][6]<[number][7]>)** point to snap from * `options` **[Object][8]** Optional parameters (optional, default `{}`) * `options.units` **[string][9]** can be degrees, radians, miles, or kilometers (optional, default `'kilometers'`) ### Examples ```javascript 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'}); //addToMap var addToMap = [line, pt, snapped]; snapped.properties['marker-color'] = '#00f'; ``` Returns **[Feature][4]<[Point][1]>** 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. [1]: https://tools.ietf.org/html/rfc7946#section-3.1.2 [2]: https://tools.ietf.org/html/rfc7946#section-3.1.4 [3]: https://tools.ietf.org/html/rfc7946#section-3.1 [4]: https://tools.ietf.org/html/rfc7946#section-3.2 [5]: https://tools.ietf.org/html/rfc7946#section-3.1.5 [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String --- This module is part of the [Turfjs project](https://turfjs.org/), an open source module collection dedicated to geographic algorithms. It is maintained in the [Turfjs/turf](https://github.com/Turfjs/turf) repository, where you can create PRs and issues. ### Installation Install this single module individually: ```sh $ npm install @turf/nearest-point-on-line ``` Or install the all-encompassing @turf/turf module that includes all modules as functions: ```sh $ npm install @turf/turf ```