赞
踩
(一)头文件
#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) {
//撰写业务代码...
}
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。