@turf/standard-deviational-ellipse
standardDeviationalEllipse
Takes a collection of features and returns a standard deviational ellipse,
also known as a “directional distribution.” The standard deviational ellipse
aims to show the direction and the distribution of a dataset by drawing
an ellipse that contains about one standard deviation’s worth (~ 70%) of the
data.
This module mirrors the functionality of Directional Distribution
in ArcGIS and the QGIS Standard Deviational Ellipse Plugin
Bibliography
• Robert S. Yuill, “The Standard Deviational Ellipse; An Updated Tool for
Spatial Description,” Geografiska Annaler 53, no. 1 (1971): 28–39,
doi:{@link https://doi.org/10.2307/490885|10.2307/490885}.
• Paul Hanly Furfey, “A Note on Lefever’s “Standard Deviational Ellipse,”
American Journal of Sociology 33, no. 1 (1927): 94—98,
doi:{@link https://doi.org/10.1086/214336|10.1086/214336}.
Parameters
-
points
FeatureCollection<Point> GeoJSON points
-
options
Object Optional parameters (optional, default {}
)
options.weight
string? the property name used to weight the centeroptions.steps
number number of steps for the polygon (optional, default 64
)options.properties
Object properties to pass to the resulting ellipse (optional, default {}
)
Examples
const bbox = [-74, 40.72, -73.98, 40.74];
const points = turf.randomPoint(400, {bbox: bbox});
const sdEllipse = turf.standardDeviationalEllipse(points);
const addToMap = [points, sdEllipse];
Returns Feature<Polygon> an elliptical Polygon that includes approximately 1 SD of the dataset within it.
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/standard-deviational-ellipse
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf