This repository is a fork of
mapbox/supercluster, but for CGCS2000 projection.
var index =;index;index;
Clustering 6 million points in Leaflet:
Install using NPM (
npm install supercluster) or Yarn (
yarn add supercluster), then:
// import as a ES module;// or require in Node / Browserifyconst supercluster = ;
Or use a browser build directly:
For the given
bbox array (
[westLng, southLat, eastLng, northLat]) and integer
zoom, returns an array of clusters and points as GeoJSON Feature objects.
getTile(z, x, y)
For a given zoom and x/y coordinates, returns a geojson-vt-compatible JSON tile object with cluster/point features.
Returns the children of a cluster (on the next zoom level) given its id (
cluster_id value from feature properties).
getLeaves(clusterId, limit = 10, offset = 0)
Returns all the points of a cluster (given its
cluster_id), with pagination support:
limit is the number of points to return (set to
Infinity for all points),
offset is the amount of points to skip (for pagination).
Returns the zoom on which the cluster expands into several children (useful for "click to zoom" feature) given the cluster's
|minZoom||0||Minimum zoom level at which clusters are generated.|
|maxZoom||16||Maximum zoom level at which clusters are generated.|
|radius||40||Cluster radius, in pixels.|
|extent||512||(Tiles) Tile extent. Radius is calculated relative to this value.|
|nodeSize||64||Size of the KD-tree leaf node. Affects performance.|
|log||false||Whether timing info should be logged.|
Property map/reduce options
In addition to the options above, supercluster supports property aggregation with the following three options:
initial: a function that returns an object with cluster's initial properties.
map: a function that returns properties to use for individual points.
reduce: a reduce function for calculating properties in clusters.
Example of setting up a
sum cluster property that accumulates the sum of
myValue property values:
var index =;
npm install # install dependencies npm run build # generate dist/supercluster.js and dist/supercluster.min.js npm test # run tests