作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
是否有任何 C# 库可用于计算点簇(云?)?
我得到了一张包含 5-50k 点的 map ,需要根据缩放级别对点进行聚类 - 但我还需要一种方法来在计算聚类之前过滤掉不可见的点。
我的想法是计算 N 缩放级别/ map 比例的所有集群,并将它们拆分成一个网格。然后 map 发送一个 ajax 请求说“我在这个坐标上,这个范围, map 比例为”——服务器查询缓存中与客户端请求匹配的所有网格项目并发送响应。
这是一个可行的想法、矫枉过正,还是只是“与正常做法相去甚远”的想法之一?
最佳答案
您在这里尝试做的似乎是两件事:(1) 在给定缩放级别的情况下从给定点找到相关点,以及 (2) 在给定缩放级别时不包括靠得太近的点。
如果是这种情况,则 (1) 是微不足道的:您计算从观察点到每个点的距离。仅包括阈值距离以下的点。阈值距离是缩放级别的函数。
要执行 (2),您需要避免计算每个点到其他点的距离,因为这需要大量计算。您所做的是对步骤 (1) 中发现的点进行 Delaunay 三角剖分。然后,计算每个三角形的面积。然后,对于每个点,将其作为顶点的三角形的面积相加。按此值(总三角形面积--TTA)对点进行排序。删除所有 TTA 低于缩放级别相关阈值的点。您可以通过实验发现最佳阈值。
关于c# - 点聚类算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043967/
我是一名优秀的程序员,十分优秀!