【发布时间】:2014-08-20 15:32:03
【问题描述】:
我有一个包含纬度和经度值的数据库。我想要做的是对这些数据进行聚类,以便每次搜索数据库时获得更少的结果。有什么想法可以实现吗?
这是一个类似的问题: Clustering Lat/Longs in a Database
【问题讨论】:
-
您是说要将结果集限制为提供的纬度/经度半径还是什么?
-
@Ray 是的,考虑到我想将它们分组到 3 个集群中的值。例如,如果我们有 100 个点,其中 30 个不同但靠近特定位置,其他 30 个和 40 个值相同。我们想要 3 个集群,其中包含:Cluster1(30 个值)、Cluster2(30 个值)Cluster3(40 个值)或者如果我可以发送一个中心点并作为结果取 30 个非常接近该点的值会更好跨度>
-
经纬度是2列吗?所以基本上,您希望能够指定一个点并返回 30 条最接近的记录(或 40 条,具体取决于您的要求)?
-
@Ray 我将它们分别存储在两列中,并将它们作为空间点存储在一列中,以便进行一些测试。我想尝试在一种情况下给出一个特定的点,而不是在另一种情况下,所以让程序认识到这 30 个点非常接近,所以把它们放在一个组中。
-
@Ray 所以两种情况:一种情况:给定基于该点的特定点组数据。第二种情况:将数据分组并随机选择初始点
标签: mysql database cluster-analysis latitude-longitude