将给定的点集合根据指定的半径值和聚类策略进行聚类,返回聚类后的点集合。
turf.getCluster(points, radius, options)
points
:FeatureCollection
类型,包含多个Point
类型的特征。radius
:数字类型,表示聚类的半径,单位为米。options
:对象类型,可选参数。包含以下字段:
bbox
:数组类型,表示限制聚类的范围,格式为[minimum longitude, minimum latitude, maximum longitude, maximum latitude]
。count
:数字类型,表示一个聚类中需要包含的最小点的数量。iterate
:布尔类型,表示是否需要对每个聚类进行迭代处理。默认值为false
。返回一个FeatureCollection
类型的特征集合,其中每个特征都是一个聚类,每个聚类包含以下字段:
type
:字符串类型,表示特征类型。固定为Feature
。geometry
:对象类型,表示聚类中心点的位置。固定为一个Point
类型对象。properties
:对象类型,表示聚类的属性:
cluster
:布尔类型,表示该特征是否代表一个聚类。固定为true
。cluster_id
:字符串类型,表示该聚类的唯一标识符。point_count
:数字类型,表示该聚类中包含的点的数量。expanded
:布尔类型,表示该聚类是否已经被扩展。以下示例使用Turf.js的getCluster
函数将一组随机点按照10米的半径进行聚类。这些点被随机生成,因此运行时可能会出现不同的结果。
var points = turf.randomPoint(100, {bbox: [100,0,110,10]});
var clustered = turf.getCluster(points, 10, {count: 1});
console.log(clustered);