aggregation_clustersKmeans
Group geographic points into clusters using K-means algorithm to organize spatial data into specified number of groups for analysis and visualization.
Instructions
使用 K-means 算法进行点聚类。
此功能使用 K-means 聚类算法对点进行聚类,将点划分为指定数量的簇。
Args: points: 点特征集合 - 类型: str (JSON 字符串格式的 GeoJSON FeatureCollection) - 格式: FeatureCollection with Point features - 示例: '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984]}}, ...]}'
Returns: str: JSON 字符串格式的 GeoJSON FeatureCollection - 类型: GeoJSON FeatureCollection with Point features - 格式: {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [lng, lat]}, "properties": {"cluster": 聚类编号, ...}}, ...]} - 示例: '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984]}, "properties": {"cluster": 1}}, ...]}'
Raises: Exception: 当 JavaScript 执行失败、超时或输入数据格式错误时抛出异常
Example: >>> import asyncio >>> points = '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984]}}]}' >>> result = asyncio.run(clustersKmeans(points, 5)) >>> print(result) '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984]}, "properties": {"cluster": 1}}, ...]}'
Notes: - 输入参数 points 和 options 必须是有效的 JSON 字符串 - 坐标顺序为 [经度, 纬度] (WGS84 坐标系) - K-means 算法需要预先指定聚类数量 - 聚类编号从 0 开始 - 算法使用随机初始中心点,每次运行结果可能不同 - 依赖于 Turf.js 库和 Node.js 环境
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| number_of_clusters | Yes | ||
| options | No | ||
| points | Yes |