MEASUREMENT
COORDINATE MUTATION
TRANSFORMATION
FEATURE_CONVERSION
MISC
HELPER
RANDOM
GRIDS
AGGREGATION
META
ASSERTIONS
BOOLEANS
UNIT CONVERSION
DATA
JOINS
CLASSIFICATION

getCluster

功能

将给定的点集合根据指定的半径值和聚类策略进行聚类,返回聚类后的点集合。

语法

turf.getCluster(points, radius, options)

参数

  • pointsFeatureCollection类型,包含多个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);

参考文献