0

我想使用de9im来加快对多边形内点的调用,该多边形可能会被多次使用。我知道 de9im 具有此功能,但我似乎无法弄清楚 boost 中的类是如何工作的(geometry/strategies/intersection_result.hpp)。有谁知道这个类是否真的有效,如果可以,他们可以提供一个简单的查询包含点的多边形的示例。

编辑:我将 boost 几何库与 JTS 进行比较,它有一个准备好的几何类,此时我不是 100% 使用 DE-9IM 是允许预计算的,但我仍然想知道是否 boost里面有这个功能。

4

1 回答 1

4

我不完全确定到底是什么问题。

DE9IM 是用于描述几何对象空间关系的模型。有关详细信息,请参阅http://en.wikipedia.org/wiki/DE-9IM

我假设您正在寻找一种方法来表示点、多边形以及如何检查一个是否在另一个内。如果是这种情况,那么是的,Boost.Geometry 当然支持这一点以及更多。例如,要检查一个点是否在多边形内,您可以使用:

  • boost::geometry::model::point<> 来表示一个点
  • boost::geometry::model::polygon<> 来表示一个多边形
  • boost::geometry::within() 函数检查空间关系

您可以在文档中找到更多信息:http: //www.boost.org/libs/geometry

例如,在本页底部:http: //www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/algorithms/within/within_2.html 您可以找到一个示例,说明如何要创建一个点,从 wkt 字符串加载 Polygon 并检查一个是否在另一个内。

于 2014-05-15T21:15:30.080 回答