如何在WGS-84椭球上找到GPS卫星的覆盖范围?


14

给定以下内容:

  1. 时间,t
  2. GPS卫星与时间t对应的一组IS-200星历数据E
  3. GPS卫星的ECEF位置,P =(x,y,z),由时间和星历(t,E)得出。
  4. 假设地球只是WGS-84椭球。
  5. WGS-84上的所有点的遮罩角度均为m。

查找以下内容:

  1. GPS卫星WGS-84上的覆盖圈R。就是说,该边界可以区分哪些WGS-84点在视野中,卫星在点P =(x,y,z)和哪些WGS-84点在视野中

问题的概念图。 P是红点,PRN12; 黑圈是“覆盖圈”

可接受的解决方案:

  1. WGS-84上的样条曲线近似于R。
  2. WGS-84上接近R的多边形。
  3. 或赋予我R的公式。

到目前为止我尝试过的是:

  • 令e ^ 2 = 0.0066943799901264; 偏心平方

通过大地纬度phi和经度lambda,我们拥有ECEF WGS-84位置:

r = 1 /(sqrt(1-e ^ 2 sin ^ 2(phi)))*(cos(phi)* cos(lambda),cos(phi)* sin(lambda),(1-e ^ 2)* sin(phi))

然后,我使用矩阵使用phi和lambda将ECEF转换为东西向上(ENU)地理框架:

     (-sin(lambda)                  cos(lambda)                  0       )
C=   (-cos(lambda)*sin(phi)        -sin(lambda)*sin(phi)         cos(phi))
     ( cos(lambda)*cos(phi)         sin(lambda)*cos(phi)         sin(phi))
  • 令G = C(P-r)
  • 取G的z分量。如果G的z分量大于sin(m),则我知道点r在视图中。但这还不足以得到我所追求的解决方案。我只是可以找到一堆可以看到的点,并采用这些点的凸包,但这根本没有效率。

1
@torrho,您好,欢迎来到GIS.stackexchange。如果您展示自己的作品,则更有可能获得帮助-到目前为止您已经尝试过什么,以及(特别是!)给您带来麻烦的事情。
Simbamangu

@Simbamangu如何在GIS.stackexchange中使用乳胶标记?我可以只说$$ \ pi $$吗?
torrho

1
@tomfumb不,这不是功课。我想我不是遇到这个问题的唯一一个人,所以我想问一个可能有这个问题的社区。
torrho

1
我看到[ meta.gis.stackexchange.com/questions/3423/…上的某人认为这是家庭作业。这不是家庭作业,我已经详尽地搜索了这个主题,但没有发现任何内容。
torrho

不幸的是,我找不到在该站点中使用LaTeX的方法!您可以将等式尽可能地放在文本中,或链接到其他位置的LaTeX等式的屏幕截图(例如Dropbox文件夹;只有在享有较高声誉之前才能添加图像)。告诉我们这个问题的背景(为什么这样做),它的哪个特定GIS组件给您带来麻烦,以及您使用了哪些其他研究或资源。
Simbamangu

Answers:


17

椭球的解很杂乱-它是不规则形状,而不是圆形-最好用数字而不是公式来计算。

在世界地图上,WGS84解决方案与纯球形解决方案之间的差异几乎不会引起注意(屏幕上只有一个像素)。通过将遮罩角度更改约0.2度或使用多边形近似,会产生相同的差异。如果这些误差很小,那么您可以利用球体的对称性来获得一个简单的公式。

数字

这张地图(使用等角投影)显示了WGS84椭球上22164公里(距地球中心)的卫星的覆盖范围,其遮罩角为m = 15度。重新计算球体的覆盖范围不会明显更改此地图。

在球体上,覆盖范围实际上是一个以卫星位置为中心的圆,因此我们只需要计算其半径(即一个角度)即可。 称这个t。在横截面中,有一个由地球中心(O),卫星(S)和圆上的任意点(P)组成的三角形OSP:

  • 侧OP是大地,半径ř

  • 侧面OS是卫星的高度(在地球中心上方)。将此称为h

  • 角度OPS为90 + m

  • 角度SOP是t,我们想找到它。

  • 因为三角形的三个角度之和为180度,所以第三角度OSP必须等于90-(m + t)。

现在的解决方案是基本三角学问题。罪恶的(平面)定律断言

sin(90 - (m+t)) / r = sin(90 + m) / h.

解决方法是

t = ArcCos(cos(m) / (h/r)) - m.

作为检查,请考虑一些极端情况:

  1. 当m = 0时,t = ArcCos(r / h),可以用基本的欧几里得几何进行验证。

  2. 当h = r(卫星尚未发射)时,t = ArcCos(cos(m)/ 1)-m = m-m = 0。

  3. 当m = 90度时,t = ArcCos(0)-90 = 90-90 = 0。

这样可以减少在球体上画圆的问题,可以通过多种方法解决。例如,您可以使用以卫星为中心的等距投影,通过t * R * pi / 180缓冲卫星的位置。在/gis//a/53323/664上直接说明了在球体上处理圆的技术。


编辑

FWIW,对于GPS卫星和较小的遮罩角度(小于20度左右),此非三角近似是准确的(当遮罩角度小于10度时为十分之一度而小于百分之几度) ):

t (degrees) = -0.0000152198628163333 * (-5.93410042925107*10^6 + 
              3.88800000000000*10^6 r/h + 65703.6145507725 m + 
              9.86960440108936 m^2 - 631.654681669719 r/h m^2)

例如,如果遮罩角度为m = 10度,并且卫星位于地球中心上方26,559.7公里(这是GPS卫星标称距离)),则此近似值为66.32159 ...,而该值(对于球体是正确的)是66.32023 ...。

(近似值基于围绕m = 0,r / h = 1/4的泰勒级数展开。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.