是否有可用于计算点簇(云)的C库?是吗?
我得到了一张5-50k点的地图,需要根据缩放级别对点进行聚类,但我还需要一种方法,在计算聚类之前过滤掉不可见的点。
我的想法是计算所有N缩放级别/地图比例的簇,并将它们分割成一个网格然后,map发送一个ajax请求说“我在这个范围内处于坐标位置,映射比例为”-服务器查询缓存中与客户端请求匹配的所有网格项,然后发送响应。
这是一个可行的想法,过度杀戮,还是仅仅是其中的一个“如此远离它的正常做法”?

最佳答案

你在这里要做的似乎是两件事:(1)在给定的缩放级别上从给定的点找到相关的点,以及(2)在给定的缩放级别上不要包含太接近的点。
如果是这种情况,那么(1)很简单:计算从观察点到每个点的距离仅包括阈值距离下的点阈值距离是缩放级别的函数。
要执行(2)操作,您需要避免计算每个点到其他点的距离,因为这是计算密集型的您要做的是对步骤(1)中发现的点进行delaunay三角剖分。然后,计算每个三角形的面积然后,对于每个点,将其作为顶点的三角形的面积相加。按此值(三角形总面积——TTA)对点进行排序移除所有TTA低于缩放级别相关阈值的点您可以通过实验发现使用的最佳阈值。

08-24 14:25