【发布时间】:2015-07-22 03:57:11
【问题描述】:
我在谷歌地图上有一些标记,我想通过它们之间的点对点距离来识别集群。但是,我遇到了一些困难:
首先我遍历所有标记并创建一个数组:
for (var i = 0; i < MARKERS.length - 1; i++) {
for (var j = i + 1; j < MARKERS.length; j++) {
var distance_between = google.maps.geometry.spherical.computeDistanceBetween(point_i, point_j)
var valueToPush = {}
valueToPush.fromMarker = name_i
valueToPush.toMarker = name_j
valueToPush.distance = distance_between
cluster_array.push(valueToPush)
}
}
然后我想做的是运行这样的层次聚类算法:
var cluster = .cluster(cluster_array, MAX, threshold)
如果我将阈值指定为 500,那么我会得到一个这样的列表
集群 0:标记 A、标记 Y、标记 C
第 1 类:标记 B
第 2 组:标记 D、标记 E
等等
每个集群向我显示彼此相距 500 米以内的标记。
非常感谢
【问题讨论】:
-
检查 kmeans algorithm 和 deterministic annealing algorithm 以获取另一种方法
标签: javascript google-maps hierarchical-clustering