Appearance
KBE3D / KBCore / turf / clusterReduce
函数: clusterReduce()
clusterReduce<
G,P>(geojson:FeatureCollection<G,P>,property:string|number,callback: (previousValue:any,cluster:FeatureCollection<G,P>,clusterValue?:any,currentIndex?:number) =>void,initialValue?:any):void
Function
Reduce clusters in GeoJSON Features, similar to Array.reduce()
类型参数
G
G extends Geometry
P
P extends GeoJsonProperties = GeoJsonProperties
参数
geojson
FeatureCollection<G, P>
GeoJSON Features
property
GeoJSON property key/value used to create clusters
string | number
callback
(previousValue: any, cluster: FeatureCollection<G, P>, clusterValue?: any, currentIndex?: number) => void
a method that takes (previousValue, cluster, clusterValue, currentIndex)
initialValue?
any
Value to use as the first argument to the first call of the callback.
返回
void
The value that results from the reduction.
示例
ts
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);
}, []);