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。彪悍啊,但是全图的时候速度慢也是个大问题。