C++ boost DE-9-IM结构可用吗
我想使用来加速对多边形内的点的调用,因为多边形可能会被多次使用。我知道de9im有这个功能,但我似乎不知道boost中的类是如何工作的(geometry/strategies/intersection_result.hpp)。有人知道这个类是否真的是函数类吗?如果是的话,他们可以提供一个简单的例子来查询包含点的多边形C++ boost DE-9-IM结构可用吗,c++,boost,boost-geometry,C++,Boost,Boost Geometry,我想使用来加速对多边形内的点的调用,因为多边形可能会被多次使用。我知道de9im有这个功能,但我似乎不知道boost中的类是如何工作的(geometry/strategies/intersection_result.hpp)。有人知道这个类是否真的是函数类吗?如果是的话,他们可以提供一个简单的例子来查询包含点的多边形 编辑:我将boost geometry library与JTS进行比较,JTS有一个准备好的geometry类,在这一点上,我不是100%认为使用DE-9IM是允许预计算的,但我仍
编辑:我将boost geometry library与JTS进行比较,JTS有一个准备好的geometry类,在这一点上,我不是100%认为使用DE-9IM是允许预计算的,但我仍然想知道boost是否有这个功能。我不完全确定到底是什么问题 DE9IM是一种用于描述几何对象空间关系的模型。有关更多信息,请参阅 我假设您正在寻找一种方法来表示点、多边形以及如何检查其中一个是否在另一个内。如果是这样的话,那么是的,Boost。几何当然支持这一点,还有更多。例如,要检查点是否位于多边形内,可以使用:
- boost::geometry::model::point表示点
- boost::geometry::model::polygon表示多边形
- 函数检查空间关系
您可以找到一个示例,演示如何创建一个点,从wkt字符串加载多边形,并检查一个多边形是否在另一个多边形内。我不完全确定到底是什么问题 DE9IM是一种用于描述几何对象空间关系的模型。有关更多信息,请参阅 我假设您正在寻找一种方法来表示点、多边形以及如何检查其中一个是否在另一个内。如果是这样的话,那么是的,Boost。几何当然支持这一点,还有更多。例如,要检查点是否位于多边形内,可以使用:
- boost::geometry::model::point表示点
- boost::geometry::model::polygon表示多边形
- 函数检查空间关系
您可以找到一个示例,演示如何创建一个点,从wkt字符串加载多边形,并检查一个多边形是否在另一个多边形内。是的,我发现de-9im不是我需要的,但boost geometry是否有类似于准备好的几何体的功能,其中数据结构经过预计算,以更快地提供某些计算,我已经知道如何调用函数fineNo中的normal,但是我不知道你在想什么样的预计算。你能给出一个例子或一些链接吗?好的,如果你有大量的多边形,你可以建立一个空间索引来存储这些多边形及其ID的边界框。您可以执行一次,然后使用它查找()中应检查哪些多边形。Boost.Geometry也支持这一点。例如,检查这一点:已经在使用rtree了,我只问了这个问题,因为JTS在中使用准备好的几何体实现
boost::geometry::in
,而JTS在javaBoost中。几何体没有准备好的几何体概念。最明显的做法是(我确信这是在JTS中完成的)计算多边形的边界框并首先进行检查。是的,我发现de-9im不是我需要的,但boost geometry是否有类似于准备好的几何体的东西,其中预计算数据结构以更快地提供某些计算,我已经知道如何调用函数fineNo中的normal,但是我不知道你在想什么样的预计算。你能给出一个例子或一些链接吗?好的,如果你有大量的多边形,你可以建立一个空间索引来存储这些多边形及其ID的边界框。您可以执行一次,然后使用它查找()中应检查哪些多边形。Boost.Geometry也支持这一点。例如,检查这一点:已经在使用rtree了,我只问了这个问题,因为JTS在中使用准备好的几何体实现boost::geometry::in
,而JTS在javaBoost中。几何体没有准备好的几何体概念。最明显的做法是(我确信这是在JTS中完成的)计算多边形的边界框并首先进行检查。