【发布时间】:2019-05-18 21:50:57
【问题描述】:
我有两个 GPS 坐标 (p, q),它们是一段的端点。我有第三个点c,它是半径为r 的圆的中心。我的目标是找到这两个几何图形之间的交点集合X。
至少可以有 0 个交叉点,最多可以有 2 个交叉点。我没有在 boost-geometry 中找到任何椭圆或类似几何的圆形。是否有任何相交策略可以产生相交点x,即r 距离c 的距离?
【问题讨论】:
-
不是 Boost 解决方案,但这里有答案:stackoverflow.com/questions/1073336/…
-
但这看起来像普通的欧几里德几何。在我的情况下,这些点在一个球体上
-
对不起,我错过了。将线段与圆锥相交,然后将交点投影到球体上是否可行?
-
如果 r 几公里,锥体可能会起作用。但这条线不是直线,它也在球面上。
-
我认为它适用于所有规模。连接两点的直线与两点所在的大圆在同一平面上。该平面通过圆锥的尖端(球心),因此从直线与圆锥的交点投影的点也将同时位于圆和球线段上。
标签: c++ gps geo boost-geometry spherical-coordinate