索引機制 - sharpmap

shdetect發表於2007-06-05

1.  sharpmap 

2.  空間索引機制。

sharpmap的空間索引機制是二叉樹索引(quadtree - spatialindexing.cs,只是名字比較weird)。它包括兩個主要部分:

QuadTree -    _objList (儲存的實體), _box (外接MBR)

                        _Depth (樹深度), _ID (樹id)

                        child0,child1 (左右子樹)

Heuristic (建樹的啟發器,即建樹規則)

                       -  maxdepth (樹子節點最大深度)

                       -  mintricnt (子結點包含實體最小個數)

                       - tartricnt (作用未名,不知target是指什麼)

                       - minerror(為了防止樹過度分裂)

QT在啟發器下進行工作,原理類似決策樹規則,按照結點box較長的軸進行分裂。

3. [題外話] 今天才知道sharpmap所用的實體都是實時讀出來的(Shapefile::ReadGeometry - shapefile.cs)。且作者幾乎實現了一個完整的shapelib,包括shp, idx, dbf, sidx。彪悍啊,但是全圖的時候速度慢也是個大問題。

相關文章