Skip to content

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);
}, []);

KBE3D @3.0.0 Copyright © 2024-present KBE3D