What is @turf/nearest-point?
@turf/nearest-point is a module within the Turf.js library that provides geospatial analysis tools. This specific module is used to find the nearest point from a given set of points to a reference point. It is useful in various applications such as finding the closest facility, nearest neighbor analysis, and more.
What are @turf/nearest-point's main functionalities?
Find the nearest point
This feature allows you to find the nearest point from a collection of points to a given target point. The code sample demonstrates how to create a collection of points and a target point, and then find the nearest point using the `nearestPoint` function.
const turf = require('@turf/turf');
const points = turf.featureCollection([
turf.point([0, 0]),
turf.point([2, 2]),
turf.point([3, 3])
]);
const targetPoint = turf.point([1, 1]);
const nearest = turf.nearestPoint(targetPoint, points);
console.log(nearest);
Other packages similar to @turf/nearest-point
geolib
Geolib is a library for geospatial calculations. It provides functions to calculate distances, find the nearest point, and more. Compared to @turf/nearest-point, Geolib offers a broader range of geospatial functions but may not be as specialized in geospatial analysis as the Turf.js library.
leaflet-knn
Leaflet-KNN is a plugin for the Leaflet library that provides k-nearest neighbor search functionality. It is useful for finding the nearest points on a map. While it offers similar functionality to @turf/nearest-point, it is more tightly integrated with the Leaflet mapping library.
@turf/nearest-point
nearestPoint
Takes a reference point and a FeatureCollection of Features
with Point geometries and returns the
point from the FeatureCollection closest to the reference. This calculation
is geodesic.
Parameters
-
targetPoint
Coord the reference point
-
points
FeatureCollection<Point> against input point set
-
options
Object Optional parameters (optional, default {}
)
options.units
string the units of the numeric result (optional, default 'kilometers'
)
Examples
var targetPoint = turf.point([28.965797, 41.010086], {"marker-color": "#0F0"});
var points = turf.featureCollection([
turf.point([28.973865, 41.011122]),
turf.point([28.948459, 41.024204]),
turf.point([28.938674, 41.013324])
]);
var nearest = turf.nearestPoint(targetPoint, points);
var addToMap = [targetPoint, points, nearest];
nearest.properties['marker-color'] = '#F00';
Returns Feature<Point> the closest point in the set to the reference 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 single module individually:
$ npm install @turf/nearest-point
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf