@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 center
options.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