public class CelestialBodyFactory extends Object
此工厂提供了太阳
、月球
和行星(包括冥王星矮行星)。此外,为方便起见,还提供了两个重要点:太阳系质心和地月质心。
这些基础以天体为中心的参考系要么是直接作为EME2000
的子级(对于月球
和地月质心
),要么是其他以天体为中心的参考系的子级。例如,从EME2000
到以木星为中心的参考系的路径是:EME2000,以地月质心为中心,以太阳系质心为中心,以木星为中心。这些参考系的定义变换是简单线性的平移/速度
变换的组合,没有任何旋转。因此,参考系轴始终与EME2000
参考系轴平行。
此类提供的天体位置是使用JPL DE 405/DE 406历书进行插值的。
Modifier and Type | Field and Description |
---|---|
static String |
EARTH
地球的预定义名称。
|
static String |
EARTH_MOON
地月质心的预定义名称。
|
static String |
JUPITER
木星的预定义名称。
|
static String |
MARS
火星的预定义名称。
|
static String |
MERCURY
水星的预定义名称。
|
static String |
MOON
月球的预定义名称。
|
static String |
NEPTUNE
海王星的预定义名称。
|
static String |
PLUTO
冥王星的预定义名称。
|
static String |
SATURN
土星的预定义名称。
|
static String |
SOLAR_SYSTEM_BARYCENTER
太阳系质心的预定义名称。
|
static String |
SUN
太阳的预定义名称。
|
static String |
URANUS
天王星的预定义名称。
|
static String |
VENUS
金星的预定义名称。
|
Modifier and Type | Method and Description |
---|---|
static void |
addCelestialBodyLoader(String name, CelestialBodyLoader loader)
为天体添加加载器。
|
static void |
addDefaultCelestialBodyLoader(String supportedNames)
为所有预定义天体添加默认加载器。
|
static void |
addDefaultCelestialBodyLoader(String name, String supportedNames)
为天体添加默认加载器。
|
static void |
clearCelestialBodyCache()
清除所有已加载的天体。
|
static void |
clearCelestialBodyCache(String name)
从内部缓存中清除指定的天体。
|
static void |
clearCelestialBodyLoaders()
清除所有天体的加载器。
|
static void |
clearCelestialBodyLoaders(String name)
清除一个天体的加载器。
|
static CelestialBody |
getBody(String name)
获取一个天体。
|
static LazyLoadedCelestialBodies |
getCelestialBodies()
获取由此类中的静态方法调用的 CelestialBodies 的实例。
|
static CelestialBody |
getEarth()
获取地球的单例天体。
|
static CelestialBody |
getEarthMoonBarycenter()
获取地月质心的单例天体对。
|
static CelestialBody |
getJupiter()
获取木星的单例天体。
|
static CelestialBody |
getMars()
获取火星的单例天体。
|
static CelestialBody |
getMercury()
获取水星的单例天体。
|
static CelestialBody |
getMoon()
获取月球的单例天体。
|
static CelestialBody |
getNeptune()
获取海王星的单例天体。
|
static CelestialBody |
getPluto()
获取冥王星的单例天体。
|
static CelestialBody |
getSaturn()
获取土星的单例天体。
|
static CelestialBody |
getSolarSystemBarycenter()
获取太阳系质心的聚合天体。
|
static CelestialBody |
getSun()
获取太阳的单例天体。
|
static CelestialBody |
getUranus()
获取天王星的单例天体。
|
static CelestialBody |
getVenus()
获取金星的单例天体。
|
public static final String SOLAR_SYSTEM_BARYCENTER
getBody(String)
, 常量字段值
public static final String SUN
getBody(String)
, 常量字段值
public static final String MERCURY
getBody(String)
, 常量字段值
public static final String VENUS
getBody(String)
, 常量字段值
public static final String EARTH_MOON
getBody(String)
, 常量字段值
public static final String EARTH
getBody(String)
, 常量字段值
public static final String MOON
getBody(String)
, 常量字段值
public static final String MARS
getBody(String)
, 常量字段值
public static final String JUPITER
getBody(String)
, 常量字段值
public static final String SATURN
getBody(String)
, 常量字段值
public static final String URANUS
getBody(String)
, 常量字段值
public static final String NEPTUNE
getBody(String)
, 常量字段值
public static final String PLUTO
getBody(String)
, 常量字段值
@DefaultDataContext public static LazyLoadedCelestialBodies getCelestialBodies()
CelestialBodies
的实例。
@DefaultDataContext public static void addCelestialBodyLoader(String name, CelestialBodyLoader loader)
name
- 天体的名称(可以是预定义名称之一或用户定义的名称)
loader
- 要为该天体添加的自定义加载器
addDefaultCelestialBodyLoader(String)
, clearCelestialBodyLoaders(String)
, clearCelestialBodyLoaders()
@DefaultDataContext public static void addDefaultCelestialBodyLoader(String supportedNames)
supportedNames
- 支持的文件名称的正则表达式(如果使用默认的JPL文件名称,则可以为null)
默认加载器寻找DE405或DE406 JPL历书。
addCelestialBodyLoader(String, CelestialBodyLoader)
, addDefaultCelestialBodyLoader(String)
, clearCelestialBodyLoaders(String)
, clearCelestialBodyLoaders()
@DefaultDataContext public static void addDefaultCelestialBodyLoader(String name, String supportedNames)
name
- 天体的名称(如果不是预定义的名称之一,则该方法不执行任何操作)
supportedNames
- 支持的文件名称的正则表达式(如果使用默认的JPL文件名称,则可以为null)
默认加载器查找DE405或DE406 JPL天文历。
addCelestialBodyLoader(String, CelestialBodyLoader)
, addDefaultCelestialBodyLoader(String)
, clearCelestialBodyLoaders(String)
, clearCelestialBodyLoaders()
@DefaultDataContext public static void clearCelestialBodyLoaders(String name)
调用此方法还会清除通过此CelestialBodyLoader
加载的天体。
@DefaultDataContext public static void clearCelestialBodyLoaders()
调用此方法还会清除所有已加载的天体。
@DefaultDataContext public static void clearCelestialBodyCache(String name)
name
- 天体的名称
@DefaultDataContext public static void clearCelestialBodyCache()
调用此方法将从内部缓存中删除所有已加载的天体。随后对getBody(String)
或类似方法的后续调用将导致从配置的加载器重新加载请求的天体。
@DefaultDataContext public static CelestialBody getSolarSystemBarycenter()
@DefaultDataContext public static CelestialBody getSun()
@DefaultDataContext public static CelestialBody getMercury()
@DefaultDataContext public static CelestialBody getVenus()
@DefaultDataContext public static CelestialBody getEarthMoonBarycenter()
@DefaultDataContext public static CelestialBody getEarth()
@DefaultDataContext public static CelestialBody getMoon()
@DefaultDataContext public static CelestialBody getMars()
@DefaultDataContext public static CelestialBody getJupiter()
@DefaultDataContext public static CelestialBody getSaturn()
@DefaultDataContext public static CelestialBody getUranus()
@DefaultDataContext public static CelestialBody getNeptune()
@DefaultDataContext public static CelestialBody getPluto()
@DefaultDataContext public static CelestialBody getBody(String name)
如果没有通过调用addCelestialBodyLoader
添加CelestialBodyLoader
,或者之后调用了clearCelestialBodyLoaders
,则将自动调用addDefaultCelestialBodyLoader
方法,一次使用JPL DE天文历的默认名称,一次使用IMCCE INPOP文件的默认名称。
name
- 天体的名称
Copyright © 2002-2023 CS GROUP. All rights reserved.