What is @turf/center-mean?
@turf/center-mean is a module from the Turf.js library that calculates the mean center of a set of geographical points. This is useful for finding the average location of a group of points, which can be applied in various geospatial analyses.
What are @turf/center-mean's main functionalities?
Calculate Mean Center
This feature calculates the mean center of a set of points. The code sample creates a collection of points and then calculates their mean center using the `turf.centerMean` function.
const turf = require('@turf/turf');
const points = turf.featureCollection([
turf.point([0, 0]),
turf.point([10, 10]),
turf.point([20, 20])
]);
const meanCenter = turf.centerMean(points);
console.log(meanCenter);
Other packages similar to @turf/center-mean
@turf/center
@turf/center calculates the centroid (geometric center) of a set of geographical points. While @turf/center-mean calculates the mean center, which is the average of the coordinates, @turf/center calculates the centroid, which is the center of mass of the shape formed by the points.
geolib
geolib is a library for geospatial calculations. It provides functions to calculate the center of a set of points, distance between points, and more. Compared to @turf/center-mean, geolib offers a broader range of geospatial functions but may not be as specialized in calculating mean centers.
leaflet
Leaflet is a popular library for interactive maps. It provides various utilities for geospatial data, including functions to calculate the center of a set of points. While Leaflet is primarily focused on map rendering and interaction, it also includes some geospatial analysis features similar to @turf/center-mean.
@turf/center-mean
centerMean
Takes a Feature or FeatureCollection and returns the mean center. Can be weighted.
Parameters
geojson
GeoJSON GeoJSON to be centeredoptions
Object Optional parameters (optional, default {}
)
options.properties
Object an Object that is used as the Feature's properties (optional, default {}
)options.weight
number? the property name used to weight the center
Examples
var features = turf.featureCollection([
turf.point([-97.522259, 35.4691], {weight: 10}),
turf.point([-97.502754, 35.463455], {weight: 3}),
turf.point([-97.508269, 35.463245], {weight: 5})
]);
var options = {weight: "weight"}
var mean = turf.centerMean(features, options);
var addToMap = [features, mean]
mean.properties['marker-size'] = 'large';
mean.properties['marker-color'] = '#000';
Returns Feature<Point> a Point feature at the mean center point of all input features
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 module individually:
$ npm install @turf/center-mean
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
5.0.0 🎉
⭐️ Major Updates
- TurfJS now supports ES Modules (Related PR's)
- Optional parameters are now defined as an
Object
.
🚀 New Modules
[@turf/voronoi
][voronoi]
Takes a FeatureCollection of points, and a bounding box, and returns a FeatureCollection of Voronoi polygons.
(PR https://github.com/Turfjs/turf/pull/1043 - Author @stevage)
[@turf/shortest-path
][shortest-path]
Returns the shortest path from start to end without colliding with any feature in obstacles
(PR https://github.com/Turfjs/turf/pull/956 - Author @stebogit)
[@turf/boolean-parallel
][boolean-parallel]
Boolean-Parallel returns True if each segment of line1
is parallel to the correspondent segment of line2
(PR https://github.com/Turfjs/turf/pull/941 - Author @stebogit)
[@turf/nearest-point-on-line
][nearest-point-on-line]
Takes a {@link Point} and a {@link LineString} and calculates the closest Point on the (Multi)LineString.
(PR https://github.com/Turfjs/turf/pull/939 - Author @stebogit)
🏅 New Features/Enhancements
-
Updates [@turf/unkink-polygon
][unkink-polygon] testing & added flattenEach
instead of using flatten
.
(PR https://github.com/Turfjs/turf/pull/889)
-
Add multi-geomtry support to @turf/line-split
(PR https://github.com/Turfjs/turf/pull/1078)
-
Improve @turf/meta
lineEach
method to provide properties, id and bbox
(PR https://github.com/Turfjs/turf/pull/1010)
🐛 Bug Fixes
-
Fixes @turf/helpers
earth radius variable
(PR https://github.com/Turfjs/turf/pull/1012)
-
Fixes @turf/polygon-tangents
bug
(PR https://github.com/Turfjs/turf/pull/1058)
-
Fixes @turf/line-chunk
bug when the number of segments is integer
(PR https://github.com/Turfjs/turf/pull/1046)
-
Fixes segmentEach
and segmentReduce
methods in @turf/meta
to ensure something is returned
(PR https://github.com/Turfjs/turf/pull/968)
⚠️ Breaking Change
- Optional parameters are now defined as an
Object
:
Before
var from = [-75.343, 39.984];
var to = [-75.534, 39.123];
var units = 'miles';
var distance = turf.distance(from, to, units);
After
var from = [-75.343, 39.984];
var to = [-75.534, 39.123];
var options = {units: 'miles'};
var distance = turf.distance(from, to, options);
- Reworked
@turf/random
PR https://github.com/Turfjs/turf/issues/994 - Deprecate
@turf/idw
Issue https://github.com/Turfjs/turf/issues/887 - Reworked Grid modules
@turf/point-grid/hex/square/triangle
PR https://github.com/Turfjs/turf/pull/1029 - Renamed Modules/Methods
- [x]
@turf/inside
=> @turf/boolean-point-in-polygon
https://github.com/Turfjs/turf/issues/860#issuecomment-317216235 - [x]
@turf/within
=> @turf/points-within-polygon
https://github.com/Turfjs/turf/issues/860#issuecomment-317216235 - [x]
@turf/bezier
=> @turf/bezier-spline
Issue https://github.com/Turfjs/turf/issues/661 - [x]
@turf/nearest
=> @turf/nearest-point
https://github.com/Turfjs/turf/pull/858#issuecomment-317197295 - [x]
@turf/point-on-line
=> @turf/nearest-point-on-line
https://github.com/Turfjs/turf/pull/858#issuecomment-317197295 - [x]
@turf/lineDistance
=> @turf/length
https://github.com/Turfjs/turf/issues/860#issuecomment-317229869 - [x]
@turf/helpers
- [x]
radians2degrees
=> radiansToDegrees
- [x]
degrees2radians
=> degreesToRadians
- [x]
distanceToDegrees
=> lengthToDegrees
- [x]
distanceToRadians
=> lengthToRadians
- [x]
radiansToDistance
=> radiansToLength
- [x]
bearingToAngle
=> bearingToAzimuth
- [x]
convertDistance
=> convertLength