如何找到椭圆焦点的GPS坐标(纬度,经度)?

时间:2017-12-03 06:23:02

标签: java scala gis

如果找到中心GPS坐标,从西边倾斜以及主要和次要宽度,如何找到椭圆焦点的GPS坐标(纬度,经度)?

我咨询了以下内容:

How can I determine if a GPS Coordinate is on or in an Ellipse?

How to determine if a latitude & longitude is within an ellipse

其他涉及几何但不涉及GPS坐标的来源。几何源很适合计算笛卡尔平面中的焦点位置,但我没有找到一个解码代码,可以在Scala(或Java)中的GPS坐标和笛卡尔坐标之间进行转换。

因此,如果长轴是4公里,短轴是2公里,倾斜是20度,我怎样才能获得焦点的GPS坐标?谢谢。

更新:在回应评论时,我想澄清一下椭圆的尺寸足够小,以至于我可以将椭圆下的地球近似为平坦。

1 个答案:

答案 0 :(得分:0)

我想我明白了。给定长轴和短轴的长度,中心点以及椭圆的北(轴承)的角度,我可以如下计算焦点的位置。

首先,我可以使用可用的公式here计算从中心到任一焦点的距离:

d = srqt(|a*a - b*b|)

其中d是中心与任一焦点之间的距离,a a是主要(次要)轴的半长度,b是未成年人的长度(主要) )轴。

第二,因为我有从北方的角度,所以我有轴承,并且可以使用它与距离聚焦来计算任一焦点的位置,使用在...下面给出的公式here

φ2 = asin( sin φ1 ⋅ cos δ + cos φ1 ⋅ sin δ ⋅ cos θ )
λ2 = λ1 + atan2( sin θ ⋅ sin δ ⋅ cos φ1, cos δ − sin φ1 ⋅ sin φ2 )

其中φ是纬度,λ是经度,θ是方位(从北到顺时针),δ是角距离d/R; d是行进的距离,R地球的半径。

对于θ我会使用北方的角度来找到一个焦点的位置,然后我会使用从北方加180度的角度来找到另一个焦点。