npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@turf/nearest-neighbor-analysis

v7.3.4

Published

Calculates an index based the average distances between points in the dataset, thereby providing inference as to whether the data is clustered, dispersed, or randomly distributed within the study area.

Readme

@turf/nearest-neighbor-analysis

NearestNeighborStatistics

Nearest neighbour statistics.

Type: object

Properties

NearestNeighborStudyArea

Nearest neighbour study area polygon feature.

Type: object

Properties

nearestNeighborAnalysis

Nearest Neighbor Analysis calculates an index based on the average distances between points in the dataset, thereby providing inference as to whether the data is clustered, dispersed, or randomly distributed within the study area.

It returns a Feature<Polygon> of the study area, with the results of the analysis attached as part of of the nearestNeighborAnalysis property of the study area's properties. The attached z-score indicates how many standard deviations above or below the expected mean distance the data's observed mean distance is. The more negative, the more clustered. The more positive, the more evenly dispersed. A z-score between -2 and 2 indicates a seemingly random distribution. That is, within p of less than 0.05, the distribution appears statistically significantly neither clustered nor dispersed.

Remarks

  • Though the analysis will work on any FeatureCollection type, it works best with Point collections.

  • This analysis is very sensitive to the study area provided. If no Feature<Polygon> is passed as the study area, the function draws a box around the data, which may distort the findings. This analysis works best with a bounded area of interest within with the data is either clustered, dispersed, or randomly distributed. For example, a city's subway stops may look extremely clustered if the study area is an entire state. On the other hand, they may look rather evenly dispersed if the study area is limited to the city's downtown.

Bibliography

Philip J. Clark and Francis C. Evans, “Distance to Nearest Neighbor as a Measure of Spatial Relationships in Populations,” Ecology 35, no. 4 (1954): 445–453, doi:10.2307/1931034.

Parameters

  • dataset FeatureCollection<any> FeatureCollection (pref. of points) to study

  • options Object Optional parameters (optional, default {})

Examples

var bbox = [-65, 40, -63, 42];
var dataset = turf.randomPoint(100, { bbox: bbox });
var nearestNeighborStudyArea = turf.nearestNeighborAnalysis(dataset);

//addToMap
var addToMap = [dataset, nearestNeighborStudyArea];

Returns NearestNeighborStudyArea A polygon of the study area or an approximation of one.


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-neighbor-analysis

Or install the all-encompassing @turf/turf module that includes all modules as functions:

$ npm install @turf/turf