2011-12-23 50 views

回答

7

這裏是另一個不錯的實現,可能證明是有用的(免責聲明 - 我的作者):

https://github.com/ubilabs/kd-tree-javascript

+0

這可以實例化沒有任何元素?你是否計劃實現一個函數,通過有效地行走樹來檢索所有元素,而不是通過最近距離調用而沒有距離約束?爲什麼距離函數有時會傳入我的整個對象,有時僅傳入維度? – light24bulbs 2013-12-19 23:44:04

2

晚的答案,但是這是一個很好的https://github.com/dbotha/Javascript-k-d-tree (免責聲明 - 我知道作者)

+1

這很不錯,但它目前僅實現了兩個維度 - 簡而言之,這是一個二維樹,而不是一個k-d樹。 – 2012-03-18 19:54:54

+0

該死的,完全忘了那個(我最近剛剛用它純粹的2d),在某種程度上會使它成爲真正的KD,另一方面它不應該太難以讓任何人去做...... – 2012-03-18 20:25:39

0

RBush是另一種JavaScript R-Tree實現。

7

這裏是我寫的一個庫:

在Chrome中,它是由幾個數量級比Ubilabs' kdtree更快,支持更大的查詢集合(正交範圍查詢和邊界球)。以下是最新版Google Chrome的基準測試結果的鏈接。

它使用CommonJS的/ NPM,但browserify的偉大工程。