小编ffr*_*anz的帖子

创建许多boost ::多边形的联合的最快方法是什么?


我必须联合许多boost :: polgons,但我的方法似乎不是很高效(> 15分钟),特别是对于更多数量的多边形(> 2000).
我将所有要联合的多边形推入多面,然后加入多面,
请参阅我的代码:

BOOST_FOREACH(polygon, multipolygon)
{
  boost::geometry::clear(tmp_union); //tmp_union  is a multipolygon
  boost::geometry::union_(result, poly, tmp_union);
  result = tmp_union;
}
Run Code Online (Sandbox Code Playgroud)

结果可能不包含很多多边形,因为要连接的大多数多边形将相交.

有没有办法让这个更高效,比如按特定顺序排序多边形或完全不同的方法?

谢谢

c++ union boost boost-geometry

8
推荐指数
1
解决办法
2197
查看次数

我可以在boost :: geometry的多边形内存储其他信息吗?

我是boost :: geometry和C++的新手,在玩它时,我想到了以下问题:
是否可以直接在多边形内存储其他信息,例如包含颜色的std :: string或带有int的字符串一些身份证号码?

或者我必须用以下内容包装它:

MyPolygon {

  typedef boost::geometry::model::d2::point_xy<double> point_2d;
  typedef boost::geometry::model::polygon<point_2d> polygon_2d;

  polygon_2d poly;
  std::string color;
  int id;
  etc...

}
Run Code Online (Sandbox Code Playgroud)

谢谢!
ffranz

c++ geometry boost polygon boost-geometry

2
推荐指数
1
解决办法
207
查看次数

标签 统计

boost ×2

boost-geometry ×2

c++ ×2

geometry ×1

polygon ×1

union ×1