问题标签 [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 的 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 的实现吗?
c++ - 如何组合两个 Boost Geometry 变压器?
我有两个变压器,一个平移和一个旋转,如下所示:
如何将它们组合成一个,这样我就不必bg::transform
每次调用两次并使用中间变量?
boost - Boost.Geometry 是否足够成熟?
我最近受雇于一家 GIS 公司来重写他们旧的地理信息库。所以我目前正在寻找一个好的计算几何库。我看过 CGAL,这很棒,但我的老板想要免费的东西。
所以我现在正在检查 Boost.Geometry。这个库看起来很棒,但它似乎也在快速变化。很多事情还没有实现,很多问题在邮件列表中讨论。
因此我的问题是:Boost.Geometry 是否足够成熟,所以我可以在其上构建一些东西?还是设计仍在发展?
谢谢
c++ - 指向 boost::geometry 函数的函数指针
我正在尝试将此处描述boost::geometry::get
的函数传递给另一个函数,但我似乎无法正确处理。
我有:
并且编译器抛出:
我尝试使用以下方法调用我的函数:
我想问题的一部分是因为我没有将参数传递给get
,所以编译器无法确定Geometry
函数签名中应该是什么类型。
我该如何去传递这个功能?
c++ - 如何确定(x,y)点是否在由边界点列表定义的多边形内
我有一个大的点列表,这些点定义了一些(不一定是凸的)形状的边界。然后我有一些查询点(x, y)
,我想确定是否(x, y)
在我的点边界定义的区域内。
所以,很简单的问题。如何确定查询点是否在边界点形成的形状内?有没有一个很好的提升模块呢?我正在寻找boost::geometry
但还没有找到任何东西..
c++ - 用 boost:geometry 翻转多边形
水平翻转多边形以使其边界框保持不变的推荐方法是什么?
c++ - 使用 Boost.Geometry 偏移多边形?
Boost Polygon 库指出可以偏移多边形(对称)。但我在 API 中没有找到任何方法或如何做到这一点的示例。任何人都可以确认 Boost 几何可以做到这一点吗?我也发现了这个问题:
https://stackoverflow.com/questions/7668331/outline-of-a-polygon-in-boost 这似乎在问类似的问题。请记住,像Polygon Clipper这样的库可以做得很好,但我对 Boost 的兴趣在于它速度快并且支持浮点数。感谢帮助。
更新:我说的是 Boost 几何和多边形库,因为我不确定哪个包含或缺少此功能。
c++ - 从 2D C 列表创建 boost.geometry.model.polygon
假设我有以下数据集
如何从这些数据中创建增强多边形?
谢谢
c++ - Boost几何点初始化
我正在尝试熟悉boost::geometry::point
. 在我的类中,我有一个没有参数的默认构造函数,在这种情况下我想用零初始化所有点值。
由于 set/get 函数是模板,因此以下代码部分会在编译时产生错误:
我需要设置一些值,因为:
坐标未初始化。如果没有调用带参数的构造函数并且没有使用 set 或 assign 分配点,则坐标值将包含垃圾。
有没有办法在编译时将所有值初始化为零?如果不是,那么在运行时?
boost - 如何将 OGRLineString 注册为提升线串?
我想用s的boost::geometry::simplify
方法。OGRLineString
虽然我可以OGRPoint
通过宏注册:
我目前无法使用以下代码:
Simplyfy 方法无法编译,并且我收到一些关于 boost:mpl::eval_if_c 的错误,这对我没有帮助。