Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 点群算法_C#_Algorithm_Map - Fatal编程技术网

C# 点群算法

C# 点群算法,c#,algorithm,map,C#,Algorithm,Map,是否有可用于计算点簇(云)的C#lib 我得到了一张有5-50k个点的地图,需要根据缩放级别对点进行聚类——但我还需要一种方法,在计算聚类之前过滤掉不可见的点 我的想法是计算N-zoom级别/地图比例的所有簇,并将它们分割成网格。然后,map发送一个ajax请求,说“我在坐标处,有这个范围,地图比例为”-服务器查询缓存中与客户端请求匹配的所有网格项,并发送响应 这是一个可行的想法,是一种过激的做法,还是仅仅是其中一种“与正常做法相去甚远”看来您在这里要做的是两件事:(1)在给定的缩放级别下,从给

是否有可用于计算点簇(云)的C#lib

我得到了一张有5-50k个点的地图,需要根据缩放级别对点进行聚类——但我还需要一种方法,在计算聚类之前过滤掉不可见的点

我的想法是计算N-zoom级别/地图比例的所有簇,并将它们分割成网格。然后,map发送一个ajax请求,说“我在坐标处,有这个范围,地图比例为”-服务器查询缓存中与客户端请求匹配的所有网格项,并发送响应


这是一个可行的想法,是一种过激的做法,还是仅仅是其中一种“与正常做法相去甚远”

看来您在这里要做的是两件事:(1)在给定的缩放级别下,从给定的点找到相关的点,(2)在给定的缩放级别下,不要包含太近的点

如果是这种情况,那么(1)很简单:计算到每个点与观察点之间的距离。仅包括阈值距离以下的点。阈值距离是缩放级别的函数

要执行(2),您希望避免计算每个点到另一点的距离,因为这需要大量计算。您要做的是对步骤(1)中发现的点进行Delaunay三角剖分。然后,计算每个三角形的面积。然后,为每个点加上它作为顶点的三角形的面积。按此值(总三角形面积--TTA)对点进行排序。删除TTA低于缩放级别相关阈值的所有点。您可以通过实验发现最佳阈值。

您熟悉该阈值吗?作为回答可以吗?或者你是在寻找一个库而不是一个算法?