目录
- 1 基础使用
1 基础使用
(一)头文件
#include "mapmatch/r_tree.h"
(二)创建rtree
had::RTree<SDDBLink*, double, 2> _sdlink_geo_tree; //声明rtree
//创建rtree
for (auto iter_sdlink : map_sd_link) {auto sdlink = iter_sdlink.second;Point3D pt_min = sdlink->_geo_box_min;Point3D pt_max = sdlink->_geo_box_max;double min[2] = {pt_min.X, pt_min.Y};double max[2] = {pt_max.X, pt_max.Y};_sdlink_geo_tree.insert(min, max, sdlink);
}
(三)空间检索
double min[2] = {dot->geometry[0].X - 1e-3, dot->geometry[0].Y - 1e-3};
double max[2] = {dot->geometry[0].X + 1e-3, dot->geometry[0].Y + 1e-3};
auto ret = _sdlink_geo_tree.search(min, max);
for (auto sdlink : ret) {//撰写业务代码...
}