问题标签 [boost-geometry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - boost::geometry::union 没有结果
我正在尝试使用 boost::geometry::union_ 合并一些多边形,但某些条目的输出向量为空。
这是一个例子:
当我画出我得到的两个多边形时:
但上面代码的结果是:
这是此函数中的错误还是我的代码中有错误?
c++ - boost::geometry: 使用圆的最近邻
我正在使用 boost::geometry 的Rtree实现来存储(大量)2D 点。现在我需要进行基于距离的最近邻查询。
但是,该手册仅将查询描述为矩形框(即“获取此矩形内的所有点”)或“KNN”查询(“从此处获取最近的“n”个点)。
我想要的实际上是“给我一组距离小于'n'的点”。
我注意到您可以定义一元谓词,但 is... 一元(因此,不适合两点的条件)。
手册记录了一些model::ring
我起初认为可能适合圆形的类,但它实际上更像是一种分段线(多边形)。这个假设正确吗?
有没有另一种方法来处理这样的查询?还是根本不可能?
boost-geometry - boost::geometry::rtree::contains 返回多个相同的结果
我正在尝试评估几个 RTree 实现并遇到了一个问题boost::geometry::rtree::contains
(提升版本 1.55)。我正在做的是尝试获取包含一个点的所有框的列表。它返回正确的框,但多次返回相同的框。我不确定这是为什么,libspatialindex
不这样做。
这是我的代码:
我已验证所检查的点是正确的。我也不想为了使用std::set
而不是std::vector
.
以下是一些示例结果:
将这些与 libspatialindex 的结果进行比较:
我已经搜索了文档和源代码,但我找不到任何明显的错误。
c++ - 我可以在 boost::geometry 的多边形内存储附加信息吗?
我是 boost::geometry 和 C++ 的新手,在玩弄它时,我想到了以下问题:
是否可以直接在多边形内存储附加信息,例如包含颜色或 int 的 std::string一些身份证号码?
还是我必须用类似的东西包装它:
谢谢!
弗兰兹
c++ - 在 Boost.Geometry 中定义一个维度点
我正在努力定义和填充 d 维度中的一个点。确切地说,我利用让 Boost.Geometry 处理用户的任何维度是不可能的(这是我从文档和他们的邮件列表中看到的)。所以,我试图定义一个 100D 或 10000D 尺寸点。
这是代码,我的尝试和他们列表中的帮助在这里开发:
错误是编译器看不到“point”的typedef。另一方面,我不能将 typedef 的维度设为运行时变量(Boost 不会让我(!))。我能做些什么?除了使用另一个库,因为这是我在高维几何中见过的最糟糕的界面。:/
编译为:c++ -I ../ bla.cpp -std=c++0x -ftemplate-depth-170001 -o bla
c++ - 创建许多 boost::polygons 联合的最快方法是什么?
我必须联合许多 boost::polgons,但我的方法似乎不是很高效(> 15 分钟),尤其是在多边形数量较多的情况下(> 2000)。
我将要合并的所有多边形推入多面体,然后加入多面体,请参阅我的代码:
结果可能不会包含很多多边形,因为要合并的大多数多边形都会相交。
有什么方法可以提高性能,比如按特定顺序或完全不同的方法对多边形进行排序?
c++ - 在 boost::geometry 中取凸包的交点
在多次尝试使用由于舍入问题导致异常异常的浮点数之后,我认为使用整数算术作为解决方法可以解决问题。但是,现在我遇到了完全相同的问题。
我正在尝试计算各种点集的凸包的交集:
这失败了boost::geometry::overlay_invalid_input_exception
。
凸包看起来像这样hull0
:hull1
有什么我做错了吗?我真的不想自己实现计算凸包和交叉点,这似乎是很多不必要的容易出错的工作。