问题标签 [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.

0 投票
0 回答
180 浏览

c++ - boost::geometry 的 area_huiller 算法中的错误?

我正在查看 huiller 算法在 boost 中的实现,它似乎部分不正确。

参见 boost/geometry/strategies/spherical/area_huiller.hpp

在 apply() 函数中,我们有

我认为应该是

根据 Graphics Gems 5, pg 45 - 46。 C++ 文件顶部的注释指出该代码源自 Graphics Gems 4 中的代码,尽管该代码后来在 Graphics Gems 5 中得到更正。

我在尝试计算球体上的多边形区域时注意到了这一点,其中一个点是 (0, 0)。在这种情况下,它总是会返回一个负面积,即使多边形是逆时针定义的。使用 (0,0) 以外的点似乎可以缓解问题,这让我想知道发生了什么。

其他人可以确认这是一个问题吗?在解决此问题之前,有什么建议可以干净地覆盖 boost 的实现吗?

0 投票
1 回答
2615 浏览

c++ - 如何组合两个 Boost Geometry 变压器?

我有两个变压器,一个平移和一个旋转,如下所示:

如何将它们组合成一个,这样我就不必bg::transform每次调用两次并使用中间变量?

0 投票
2 回答
4686 浏览

boost - Boost.Geometry 是否足够成熟?

我最近受雇于一家 GIS 公司来重写他们旧的地理信息库。所以我目前正在寻找一个好的计算几何库。我看过 CGAL,这很棒,但我的老板想要免费的东西。

所以我现在正在检查 Boost.Geometry。这个库看起来很棒,但它似乎也在快速变化。很多事情还没有实现,很多问题在邮件列表中讨论。

因此我的问题是:Boost.Geometry 是否足够成熟,所以我可以在其上构建一些东西?还是设计仍在发展?

谢谢

0 投票
1 回答
82 浏览

c++ - 指向 boost::geometry 函数的函数指针

我正在尝试将此处描述boost::geometry::get的函数传递给另一个函数,但我似乎无法正确处理。

我有:

并且编译器抛出:

我尝试使用以下方法调用我的函数:

我想问题的一部分是因为我没有将参数传递给get,所以编译器无法确定Geometry函数签名中应该是什么类型。

我该如何去传递这个功能?

0 投票
1 回答
4503 浏览

c++ - 如何确定(x,y)点是否在由边界点列表定义的多边形内

我有一个大的点列表,这些点定义了一些(不一定是凸的)形状的边界。然后我有一些查询点(x, y),我想确定是否(x, y)在我的点边界定义的区域内。

所以,很简单的问题。如何确定查询点是否在边界点形成的形状内?有没有一个很好的提升模块呢?我正在寻找boost::geometry但还没有找到任何东西..

0 投票
1 回答
333 浏览

c++ - 用 boost:geometry 翻转多边形

水平翻转多边形以使其边界框保持不变的推荐方法是什么?

0 投票
3 回答
3503 浏览

c++ - 使用 Boost.Geometry 偏移多边形?

Boost Polygon 库指出可以偏移多边形(对称)。但我在 API 中没有找到任何方法或如何做到这一点的示例。任何人都可以确认 Boost 几何可以做到这一点吗?我也发现了这个问题:

https://stackoverflow.com/questions/7668331/outline-of-a-polygon-in-boost 这似乎在问类似的问题。请记住,像Polygon Clipper这样的库可以做得很好,但我对 Boost 的兴趣在于它速度快并且支持浮点数。感谢帮助。

更新:我说的是 Boost 几何和多边形库,因为我不确定哪个包含或缺少此功能。

0 投票
1 回答
2538 浏览

c++ - 从 2D C 列表创建 boost.geometry.model.polygon

假设我有以下数据集

如何从这些数据中创建增强多边形?

谢谢

0 投票
1 回答
1112 浏览

c++ - Boost几何点初始化

我正在尝试熟悉boost::geometry::point. 在我的类中,我有一个没有参数的默认构造函数,在这种情况下我想用零初始化所有点值。

由于 set/get 函数是模板,因此以下代码部分会在编译时产生错误:

要参考文档http://www.boost.org/doc/libs/1_51_0/libs/geometry/doc/html/geometry/reference/models/model_point.html

我需要设置一些值,因为:

坐标未初始化。如果没有调用带参数的构造函数并且没有使用 set 或 assign 分配点,则坐标值将包含垃圾。

有没有办法在编译时将所有值初始化为零?如果不是,那么在运行时?

0 投票
1 回答
439 浏览

boost - 如何将 OGRLineString 注册为提升线串?

我想用s的boost::geometry::simplify方法。OGRLineString虽然我可以OGRPoint通过宏注册:

我目前无法使用以下代码:

Simplyfy 方法无法编译,并且我收到一些关于 boost:mpl::eval_if_c 的错误,这对我没有帮助。