|
2 年之前 | |
---|---|---|
.. | ||
dist | 2 年之前 | |
LICENSE | 2 年之前 | |
README.md | 2 年之前 | |
package.json | 2 年之前 |
Get Cluster
Parameters
geojson
FeatureCollection GeoJSON Featuresfilter
any Filter used on GeoJSON properties to get ClusterExamples
var geojson = turf.featureCollection([
turf.point([0, 0], {'marker-symbol': 'circle'}),
turf.point([2, 4], {'marker-symbol': 'star'}),
turf.point([3, 6], {'marker-symbol': 'star'}),
turf.point([5, 1], {'marker-symbol': 'square'}),
turf.point([4, 2], {'marker-symbol': 'circle'})
]);
// Create a cluster using K-Means (adds `cluster` to GeoJSON properties)
var clustered = turf.clustersKmeans(geojson);
// Retrieve first cluster (0)
var cluster = turf.getCluster(clustered, {cluster: 0});
//= cluster
// Retrieve cluster based on custom properties
turf.getCluster(clustered, {'marker-symbol': 'circle'}).length;
//= 2
turf.getCluster(clustered, {'marker-symbol': 'square'}).length;
//= 1
Returns FeatureCollection Single Cluster filtered by GeoJSON Properties
Callback for clusterEach
Type: Function
Parameters
cluster
FeatureCollection? The current cluster being processed.clusterValue
any? Value used to create cluster being processed.currentIndex
number? The index of the current element being processed in the array.Starts at index 0Returns void
clusterEach
Parameters
geojson
FeatureCollection GeoJSON Featuresproperty
(string | number) GeoJSON property key/value used to create clusterscallback
Function a method that takes (cluster, clusterValue, currentIndex)Examples
var geojson = turf.featureCollection([
turf.point([0, 0]),
turf.point([2, 4]),
turf.point([3, 6]),
turf.point([5, 1]),
turf.point([4, 2])
]);
// Create a cluster using K-Means (adds `cluster` to GeoJSON properties)
var clustered = turf.clustersKmeans(geojson);
// Iterate over each cluster
turf.clusterEach(clustered, 'cluster', function (cluster, clusterValue, currentIndex) {
//= cluster
//= clusterValue
//= currentIndex
})
// Calculate the total number of clusters
var total = 0
turf.clusterEach(clustered, 'cluster', function () {
total++;
});
// Create an Array of all the values retrieved from the 'cluster' property
var values = []
turf.clusterEach(clustered, 'cluster', function (cluster, clusterValue) {
values.push(clusterValue);
});
Returns void
Callback for clusterReduce
The first time the callback function is called, the values provided as arguments depend on whether the reduce method has an initialValue argument.
If an initialValue is provided to the reduce method:
If an initialValue is not provided:
Type: Function
Parameters
previousValue
any? The accumulated value previously returned in the last invocation
of the callback, or initialValue, if supplied.cluster
FeatureCollection? The current cluster being processed.clusterValue
any? Value used to create cluster being processed.currentIndex
number? The index of the current element being processed in the
array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.Reduce clusters in GeoJSON Features, similar to Array.reduce()
Parameters
geojson
FeatureCollection GeoJSON Featuresproperty
(string | number) GeoJSON property key/value used to create clusterscallback
Function a method that takes (previousValue, cluster, clusterValue, currentIndex)initialValue
any? Value to use as the first argument to the first call of the callback.Examples
var geojson = turf.featureCollection([
turf.point([0, 0]),
turf.point([2, 4]),
turf.point([3, 6]),
turf.point([5, 1]),
turf.point([4, 2])
]);
// Create a cluster using K-Means (adds `cluster` to GeoJSON properties)
var clustered = turf.clustersKmeans(geojson);
// Iterate over each cluster and perform a calculation
var initialValue = 0
turf.clusterReduce(clustered, 'cluster', function (previousValue, cluster, clusterValue, currentIndex) {
//=previousValue
//=cluster
//=clusterValue
//=currentIndex
return previousValue++;
}, initialValue);
// Calculate the total number of clusters
var total = turf.clusterReduce(clustered, 'cluster', function (previousValue) {
return previousValue++;
}, 0);
// Create an Array of all the values retrieved from the 'cluster' property
var values = turf.clusterReduce(clustered, 'cluster', function (previousValue, cluster, clusterValue) {
return previousValue.concat(clusterValue);
}, []);
Returns any The value that results from the reduction.
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.
Install this module individually:
$ npm install @turf/clusters
Or install the Turf module that includes it as a function:
$ npm install @turf/turf