提升两点之间的几何角度
boost geometry angle between two points
我正在玩 boost geometry (1.74) 并且有很多使用 distance
算法的示例非常棒。我如何努力寻找计算两点之间角度(方位角)的示例。
看起来在 details/azimuth.hpp 中使用了 atan2 函数,但没有在 API 上公开,因为距离算法处于同一级别。
所以我的问题是,如何使用 boost geometry 来计算两点之间的角度?
提前致谢。
布莱恩
关于 details/azimuth.hpp
中的 atan2
函数,你说得很对。
两点之间的角度(方位角)通常称为方位角。
它在您引用的文件 <boost/geometry/algorithms/detail/azimuth.hpp>
中定义,但不幸的是它没有在 boost algorithms 的文档中列出。
您应该可以在此处像 distance
那样称呼它:https://www.boost.org/doc/libs/1_74_0/libs/geometry/doc/html/geometry/quickstart.html
但是,因为它是在 detail
命名空间中定义的,所以您可能必须 使用 boost::geometry::detail
命名空间或显式调用它,例如:
auto bearing = boost::geometry::detail::azimuth<double>(a, b);
Boost v1.76 现在公开了方位角。谢谢大家!
我正在玩 boost geometry (1.74) 并且有很多使用 distance
算法的示例非常棒。我如何努力寻找计算两点之间角度(方位角)的示例。
看起来在 details/azimuth.hpp 中使用了 atan2 函数,但没有在 API 上公开,因为距离算法处于同一级别。
所以我的问题是,如何使用 boost geometry 来计算两点之间的角度?
提前致谢。
布莱恩
关于 details/azimuth.hpp
中的 atan2
函数,你说得很对。
两点之间的角度(方位角)通常称为方位角。
它在您引用的文件 <boost/geometry/algorithms/detail/azimuth.hpp>
中定义,但不幸的是它没有在 boost algorithms 的文档中列出。
您应该可以在此处像 distance
那样称呼它:https://www.boost.org/doc/libs/1_74_0/libs/geometry/doc/html/geometry/quickstart.html
但是,因为它是在 detail
命名空间中定义的,所以您可能必须 使用 boost::geometry::detail
命名空间或显式调用它,例如:
auto bearing = boost::geometry::detail::azimuth<double>(a, b);
Boost v1.76 现在公开了方位角。谢谢大家!