public class TopocentricFrame extends Frame implements PVCoordinatesProvider
与天体表面附近位置相关联的坐标系。
该坐标系的原点位于定义的大地点
位置,右手系的规范三面角为:
Constructor and Description |
---|
TopocentricFrame(BodyShape parentShape, GeodeticPoint point, String name)
简单构造器。
|
Modifier and Type | Method and Description |
---|---|
GeodeticPoint |
computeLimitVisibilityPoint(double radius, double azimuth, double elevation)
计算给定方向上卫星的限制可见点。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getAzimuth(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
获取点相对于地心地固坐标系中心点的方位角。
|
double |
getAzimuth(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
获取点相对于地心地固坐标系中心点的方位角。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getCartesianPoint()
获取定义坐标系原点的表面点。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getEast()
获取地心地固坐标系的东方向,以父形状坐标系表示。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getElevation(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
获取点相对于本地点的仰角。
|
double |
getElevation(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
获取点相对于本地点的仰角。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getNadir()
获取地心地固坐标系的天顶方向,以父形状坐标系表示。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getNorth()
获取地心地固坐标系的北方向,以父形状坐标系表示。
|
BodyShape |
getParentShape()
获取定义本地点的地体形状。
|
GeodeticPoint |
getPoint()
获取定义坐标系原点的表面点。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getPoint(org.hipparchus.Field<T> field)
获取定义坐标系原点的表面点。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getPosition(AbsoluteDate date, Frame frame)
获取在所选坐标系中的体的位置。
|
TimeStampedPVCoordinates |
getPVCoordinates(AbsoluteDate date, Frame frame)
获取所选坐标系中地心地固坐标系原点的 PVCoordinates 。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getRange(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
获取点相对于地心地固坐标系中心点的距离。
|
double |
getRange(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
获取点相对于地心地固坐标系中心点的距离。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getRangeRate(FieldPVCoordinates<T> extPV, Frame frame, FieldAbsoluteDate<T> date)
获取点相对于地心地固坐标系中心点的距离率。
|
double |
getRangeRate(PVCoordinates extPV, Frame frame, AbsoluteDate date)
获取点相对于地心地固坐标系中心点的距离率。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getSouth()
获取地心地固坐标系的南方向,以父形状坐标系表示。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getTrackingCoordinates(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
获取点相对于本地点的跟踪坐标。
|
TrackingCoordinates |
getTrackingCoordinates(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
获取点相对于本地点的跟踪坐标。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getWest()
获取地心地固坐标系的西方向,以父形状坐标系表示。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
getZenith()
获取地心地固坐标系的天顶方向,以父形状坐标系表示。
|
GeodeticPoint |
pointAtDistance(double azimuth, double elevation, double distance)
计算从站点观测到的距离为指定值的点。
|
getAncestor, getDepth, getFrozenFrame, getName, getParent, getRoot, getStaticTransformTo, getStaticTransformTo, getTransformProvider, getTransformTo, getTransformTo, isChildOf, isPseudoInertial, toString
public TopocentricFrame(BodyShape parentShape, GeodeticPoint point, String name)
parentShape
- 定义本地点的体形状
point
- 定义地心地固坐标系的本地表面点
name
- 字符串表示
public BodyShape getParentShape()
public GeodeticPoint getPoint()
public org.hipparchus.geometry.euclidean.threed.Vector3D getCartesianPoint()
public <T extends org.hipparchus.CalculusFieldElement<T>> FieldGeodeticPoint<T> getPoint(org.hipparchus.Field<T> field)
T
- 元素的类型
field
- 元素的字段
public org.hipparchus.geometry.euclidean.threed.Vector3D getZenith()
天顶方向定义为本地水平面的法线。
getNadir()
public org.hipparchus.geometry.euclidean.threed.Vector3D getNadir()
天底方向是天顶方向的相反方向。
getZenith()
public org.hipparchus.geometry.euclidean.threed.Vector3D getNorth()
北方向在水平面中定义(垂直天顶方向),沿着本地子午线。
getSouth()
public org.hipparchus.geometry.euclidean.threed.Vector3D getSouth()
南方向是北方向的相反方向。
getNorth()
public org.hipparchus.geometry.euclidean.threed.Vector3D getEast()
东方向在水平面中定义,以便完成直角三角形(东、北、天顶)。
getWest()
public org.hipparchus.geometry.euclidean.threed.Vector3D getWest()
西方向是东方向的相反方向。
getEast()
public TrackingCoordinates getTrackingCoordinates(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
extPoint
- 要计算仰角的点
frame
- 点所定义的坐标系
date
- 计算日期
public <T extends org.hipparchus.CalculusFieldElement<T>> FieldTrackingCoordinates<T> getTrackingCoordinates(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
T
- 字段元素的类型
extPoint
- 要计算仰角的点
frame
- 点所定义的坐标系
date
- 计算日期
public double getElevation(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
仰角是本地水平面与从本地点到给定点的方向之间的角度。
extPoint
- 要计算仰角的点
frame
- 点所定义的坐标系
date
- 计算日期
public <T extends org.hipparchus.CalculusFieldElement<T>> T getElevation(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
仰角是本地水平面与从本地点到给定点的方向之间的角度。
T
- 元素的类型
extPoint
- 要计算仰角的点
frame
- 点所定义的坐标系
date
- 计算日期
public double getAzimuth(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
方位角是本地点处的北方向与从本地点到给定点的投影在本地水平面上的角度。方位角按顺时针方向计数,即朝东为正。
extPoint
- 要计算仰角的点
frame
- 点所定义的坐标系
date
- 计算日期
public <T extends org.hipparchus.CalculusFieldElement<T>> T getAzimuth(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
方位角是本地点处的北方向与从本地点到给定点的投影在本地水平面上的角度。方位角按顺时针方向计数,即朝东为正。
T
- 元素的类型
extPoint
- 要计算仰角的点
frame
- 定义点的参考系
date
- 计算日期
public double getRange(org.hipparchus.geometry.euclidean.threed.Vector3D extPoint, Frame frame, AbsoluteDate date)
extPoint
- 要计算距离的点
frame
- 定义点的参考系
date
- 计算日期
public <T extends org.hipparchus.CalculusFieldElement<T>> T getRange(org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> extPoint, Frame frame, FieldAbsoluteDate<T> date)
T
- 元素的类型
extPoint
- 要计算距离的点
frame
- 定义点的参考系
date
- 计算日期
public double getRangeRate(PVCoordinates extPV, Frame frame, AbsoluteDate date)
extPV
- 要计算速度的点/速度
frame
- 定义点的参考系
date
- 计算日期
public <T extends org.hipparchus.CalculusFieldElement<T>> T getRangeRate(FieldPVCoordinates<T> extPV, Frame frame, FieldAbsoluteDate<T> date)
T
- 元素的类型
extPV
- 要计算速度的点/速度
frame
- 定义点的参考系
date
- 计算日期
public GeodeticPoint computeLimitVisibilityPoint(double radius, double azimuth, double elevation)
例如,可以使用此方法计算围绕地面站的可见性圆,可以在方位角上简单循环,使用固定仰角或仰角取决于方位角以考虑地面遮挡。
radius
- 卫星到地心的距离
azimuth
- 从站点指向的方位角
elevation
- 从站点指向的仰角
public GeodeticPoint pointAtDistance(double azimuth, double elevation, double distance)
azimuth
- 从站点指向的方位角
elevation
- 从站点指向的仰角
distance
- 到站点的距离
public org.hipparchus.geometry.euclidean.threed.Vector3D getPosition(AbsoluteDate date, Frame frame)
getPosition
在接口 PVCoordinatesProvider
date
- 当前日期
frame
- 定义位置的参考系
public TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
PVCoordinates
。
getPVCoordinates
在接口 PVCoordinatesProvider
date
- 当前日期
frame
- 定义位置的参考系
Copyright © 2002-2023 CS GROUP. All rights reserved.