2010-09-13 98 views
0

我有2D的一組p個點,我可以像在二維均勻間隔的網格,其中每個單元是長度X.均勻網格分區

羣集我想,因爲我要做到這一點試圖創建一個熱圖,我有很多信息的方式,所以我希望通過將點聚類成一個均勻間隔的網格,我可以報告每個網格的最終數量。

謝謝!

如果它有什麼區別,我通過SQL(點)獲得我的信息,這些信息在細分前首先在指定點的某個半徑範圍內。

+0

我的意思是要找的是我有一個Point3D的集合,我想聚集成一小羣點,也許每個集羣的大小的計數。 – Setheron 2010-09-15 17:52:16

回答

0

你在找這樣的嗎?

var result = from p in points 
       group p by new { X = p.X/length, Y = p.Y/length } into g 
       select new 
       { 
        g.Key.X, 
        g.Key.Y, 
        Count = g.Count() 
       }; 

我不知道是否有采取訂單的優勢的方式。

+0

我不太瞭解上面的代碼。你能稍微分解一下,這樣我就可以判斷它是否有幫助? – Setheron 2010-09-14 00:51:50

+0

@ Setheron:它只是將所有點分組到各自的單元格中,然後返回每個單元格的點數。 (另見:[group clause](http://msdn.microsoft.com/en-us/library/bb384063.aspx)) – dtb 2010-09-14 12:43:16

+0

所以我沒有使用C#3.0 :( – Setheron 2010-09-15 17:40:34