我有一个无序的位置列表(包含它们的坐标)。我知道使用Haversine公式来计算两点之间的距离。但我看到的聚类解决方案说我需要首先订购列表。地点的正确排序是什么? 我想集群(即将所有位置放在一个clusteredLocation对象中)所有位于1米之内的位置,这是否可行而不先排序?
答案 0 :(得分:4)
实际上,我所知道的cluster-analysis算法都没有要求点数。这有点会破坏集群分析的整个目的。但也许你更想到web2.0 marker-clusterer那种聚合?
看看k-means,单链路和DBSCAN。所有在Wikipedia, with Hub article Cluster Analysis上都有详细描述。这些都不需要订购您的积分。
请注意,Haversine距离不适用于k均值或平均连锁聚类,除非您找到一种智能方法来计算最小化方差的均值。如果您具有纬度 - 经度坐标的-180 / + 180环绕,则不要使用算术平均值。 单连杆,完全连杆,DBSCAN,OPTICS都应该没问题。