是否有任何点聚类算法将点数收集到附近的组中?

时间:2012-11-06 13:03:53

标签: algorithm gps cluster-analysis data-mining photo

我正在写一个iOS照片管理应用。

我想通过GPS信息将照片分组。然后我可以获得一个组的平均GPS信息,并给该组命名,例如:前往纽约。

是否有任何方便的算法可以通过GPS信息将附近的照片收集到群组中?

2 个答案:

答案 0 :(得分:11)

忘记k-means的通常回复。这很简单,但根本不适合这项任务。

看看DBSCAN (Wikipedia)。它正确的目标是你需要的。您可以指定半径(如果使用大圆距离,则可以使用米!)和最小簇大小。如果你的集群密度差异很大,而且DBSCAN合并了集群,那么你可以尝试OPTICS (Wikipedia),它甚至不需要epsilon参数,只需要最小的集群大小。但它会产生分层集群。所以你会有例如一组埃菲尔铁塔图片,在一组巴黎图片中。

DBSCAN的 nice 属性是它具有噪声概念。 的对象属于群集。

答案 1 :(得分:0)

我建议使用平方网格的空间索引或空间填充曲线。它类似于四叉树,您可以为每个gps对计算四核或geohash。这是一个平铺算法并细分平面。它也是一个分层集群。