Package gaiasky.util.coord
Class AstroUtils
java.lang.Object
gaiasky.util.coord.AstroUtils
-
Field Summary
Modifier and TypeFieldDescriptionstatic final long
Milliseconds of J2000 in the scale ofInstant
.static final double
Julian date of reference epoch J2000 = JD2451544.5 = 2000-01-01T00:00:00Z.static final double
Julian date of reference epoch J2010 = JD2455197.5 = 2010-01-01T00:00:00Z.static final double
Julian date of reference epoch J2015.0 = JD2457023.5 = 2015-01-01T00:00:00Z.static final double
Julian date of reference epoch J2015.5 = JD2457206.125 = 2015-01-01T00:00:00Z.static final double
Julian days per year. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic double
absoluteMagnitudeToPseudoSize
(double absMag) Computes the pseudo-size of a star from the absolute magnitude.static double
absoluteToApparentMagnitude
(double distPc, double absMag) Converts an absolute magnitude to an apparent magnitude at the given distance in parsecs.static double
apparentToAbsoluteMagnitude
(double distPc, double appMag) Converts an apparent magnitude to an absolute magnitude given the distance in parsecs.static long[]
getCalendarDay
(double julianDate) Gets the Gregorian calendar quantities given the Julian date.static double
getDayFraction
(int hour, int min, int sec, int nanos) Gets the day fraction from the day quantities.static long[]
getDayQuantities
(double dayFraction) Deprecated.Not used anymore.static double
getDaysSince
(Instant date, double epoch_jd) Returns the elapsed days since the given julian date jd until the given date.static double
getDaysSinceJ2000
(Instant date) Returns the elapsed days since the epoch J2000 until the given date.static double
getJulianDate
(double refEpoch) Get julian date from a double reference epoch, as a Gregorian calendar year plus fraction.static double
getJulianDate
(int year, int month, int day, int hour, int min, int sec, int nanos, boolean gregorian) Gets the Julian date number given the Gregorian calendar quantities.static double
getJulianDate
(Instant instant) static double
getJulianDateCache
(Instant instant) Gets the Julian Date for the given date.static double
getJulianDayNumberBook
(int year, int month, int day) Deprecated.This does not work well!static double
getJulianDayNumberGregorian
(int year, int month, int day) Determine Julian day number from Gregorian calendar date.static double
getJulianDayNumberJulianCalendar
(int year, int month, int day) Returns the Julian day number of a date in the Julian calendar.static double
getMsSince
(Instant date, double epoch_jd) Returns the elapsed milliseconds since the given julian date jd until the given date.static String
getSpectralType
(float tEff) Get the spectral type from the effective temperature for main sequence stars.static double
getSunLongitude
(Instant date) Returns the Sun's ecliptic longitude in degrees for the given time.static boolean
isLeapYearGregorian
(int year) Is a given year in the Gregorian calendar a leap year ?static Instant
julianDateToInstant
(double jd) static Vector3b
moonEclipticCoordinates
(Instant date, Vector3d aux, Vector3b out) Algorithm in "Astronomical Algorithms" book by Jean Meeus.static double
obliquity
(double julianDate) Returns the obliquity of the ecliptic (inclination of the Earth's axis of rotation) for a given date, in degreesstatic void
plutoEclipticCoordinates
(Instant date, Vector3b out) Spherical ecliptic coordinates of Pluto at the given date.static Vector3d
properMotionsToCartesian
(double muAlphaStar, double muDelta, double radVel, double ra, double dec, double distPc, Vector3d out) Converts proper motions + radial velocity into a cartesian vector.static double
T
(double julianDate) Time T measured in Julian centuries from the Epoch J2000.0.static double
tau
(double julianDate)
-
Field Details
-
JD_TO_Y
public static final double JD_TO_YJulian days per year.- See Also:
-
JD_J2000
public static final double JD_J2000Julian date of reference epoch J2000 = JD2451544.5 = 2000-01-01T00:00:00Z. -
JD_J2010
public static final double JD_J2010Julian date of reference epoch J2010 = JD2455197.5 = 2010-01-01T00:00:00Z. -
JD_J2015
public static final double JD_J2015Julian date of reference epoch J2015.0 = JD2457023.5 = 2015-01-01T00:00:00Z. -
JD_J2015_5
public static final double JD_J2015_5Julian date of reference epoch J2015.5 = JD2457206.125 = 2015-01-01T00:00:00Z. -
J2000_MS
public static final long J2000_MSMilliseconds of J2000 in the scale ofInstant
. This is the number of milliseconds elapsed since 1970-01-01T00:00:00Z (UTC) until 2000-01-01T00:00:00Z (UTC).
-
-
Constructor Details
-
AstroUtils
public AstroUtils()
-
-
Method Details
-
getJulianDate
public static double getJulianDate(double refEpoch) Get julian date from a double reference epoch, as a Gregorian calendar year plus fraction.- Parameters:
refEpoch
- The reference epoch as a Gregorian calendar year.- Returns:
- The julian date.
-
getSunLongitude
Returns the Sun's ecliptic longitude in degrees for the given time. Caches the last Sun's longitude for future use.- Parameters:
date
- The time for which the longitude must be calculated.- Returns:
- The Sun's longitude in [deg].
-
moonEclipticCoordinates
Algorithm in "Astronomical Algorithms" book by Jean Meeus. Returns a vector with the geocentric ecliptic longitude (λ) in radians, the ecliptic latitude (β) in radians and the distance in kilometers.- Parameters:
date
- The instant date.aux
- Auxiliary double vector.out
- The out vector with geocentric [lambda, beta, r] in radians and kilometres.- Returns:
- The out vector with geocentric [lambda, beta, r] in radians and kilometres.
-
plutoEclipticCoordinates
Spherical ecliptic coordinates of Pluto at the given date.- Parameters:
date
- The date.out
- The out vector with [lambda, beta, r] in radians and kilometres.
-
getJulianDate
public static double getJulianDate(int year, int month, int day, int hour, int min, int sec, int nanos, boolean gregorian) Gets the Julian date number given the Gregorian calendar quantities.- Parameters:
gregorian
- Whether to use the Gregorian or the Julian calendar.- Returns:
- The julian date number.
-
getJulianDateCache
Gets the Julian Date for the given date. It uses a cache.- Parameters:
instant
- The date.- Returns:
- The Julian Date.
-
getJulianDate
-
getDaysSinceJ2000
Returns the elapsed days since the epoch J2000 until the given date. Can be negative.- Parameters:
date
- The date.- Returns:
- The elapsed days.
-
getMsSince
Returns the elapsed milliseconds since the given julian date jd until the given date. Can be negative.- Parameters:
date
- The date.epoch_jd
- The reference epoch in julian days.- Returns:
- The elapsed milliseconds.
-
getDaysSince
Returns the elapsed days since the given julian date jd until the given date. Can be negative.- Parameters:
date
- The date.epoch_jd
- The reference epoch in julian days.- Returns:
- The elapsed days
-
getCalendarDay
public static long[] getCalendarDay(double julianDate) Gets the Gregorian calendar quantities given the Julian date.- Parameters:
julianDate
- The Julian date.- Returns:
- Vector with [year, month, day, hour, min, sec, nanos].
-
getJulianDayNumberBook
Deprecated.This does not work well!Returns the Julian day number. Uses the method shown in "Astronomical Algorithms" by Jean Meeus.- Parameters:
year
- The yearmonth
- The month in [1:12]day
- The day in the month, starting at 1- Returns:
- The Julian date
-
getJulianDayNumberJulianCalendar
public static double getJulianDayNumberJulianCalendar(int year, int month, int day) Returns the Julian day number of a date in the Julian calendar. Uses Wikipedia's algorithm.- Parameters:
year
- The yearmonth
- The month in [1:12]day
- The day in the month, starting at 1- Returns:
- The Julian date
- See Also:
-
isLeapYearGregorian
public static boolean isLeapYearGregorian(int year) Is a given year in the Gregorian calendar a leap year ?- Parameters:
year
- The year.- Returns:
- Whether the year in the Gregorian calendar is a leap year.
-
getJulianDayNumberGregorian
public static double getJulianDayNumberGregorian(int year, int month, int day) Determine Julian day number from Gregorian calendar date.- Parameters:
year
- The year.month
- The month.day
- The day.- Returns:
- The julian day number.
-
julianDateToInstant
-
getDayFraction
public static double getDayFraction(int hour, int min, int sec, int nanos) Gets the day fraction from the day quantities.- Parameters:
hour
- The hour in 0-24min
- The minute in 0-1440sec
- The second in 0-86400nanos
- The nanoseconds- Returns:
- The day fraction
-
getDayQuantities
Deprecated.Not used anymore.Gets the day quantities from the day fraction- Parameters:
dayFraction
- The day fraction.- Returns:
- [hours, minutes, seconds, nanos].
-
obliquity
public static double obliquity(double julianDate) Returns the obliquity of the ecliptic (inclination of the Earth's axis of rotation) for a given date, in degrees- Returns:
- The obliquity in degrees
-
T
public static double T(double julianDate) Time T measured in Julian centuries from the Epoch J2000.0.- Parameters:
julianDate
- The julian date.- Returns:
- The time in julian centuries.
-
tau
public static double tau(double julianDate) -
properMotionsToCartesian
public static Vector3d properMotionsToCartesian(double muAlphaStar, double muDelta, double radVel, double ra, double dec, double distPc, Vector3d out) Converts proper motions + radial velocity into a cartesian vector. See this article.- Parameters:
muAlphaStar
- Mu alpha star, in mas/yr.muDelta
- Mu delta, in mas/yr.radVel
- Radial velocity in km/s.ra
- Right ascension in radians.dec
- Declination in radians.distPc
- Distance in parsecs to the star.- Returns:
- The proper motion vector in internal_units/year.
-
apparentToAbsoluteMagnitude
public static double apparentToAbsoluteMagnitude(double distPc, double appMag) Converts an apparent magnitude to an absolute magnitude given the distance in parsecs.- Parameters:
distPc
- The distance to the star in parsecs.appMag
- The apparent magnitude.- Returns:
- The absolute magnitude.
-
absoluteToApparentMagnitude
public static double absoluteToApparentMagnitude(double distPc, double absMag) Converts an absolute magnitude to an apparent magnitude at the given distance in parsecs.- Parameters:
distPc
- The distance to the star in parsecs.absMag
- The absolute magnitude.- Returns:
- The apparent magnitude at the given distance.
-
absoluteMagnitudeToPseudoSize
public static double absoluteMagnitudeToPseudoSize(double absMag) Computes the pseudo-size of a star from the absolute magnitude.- Parameters:
absMag
- The absolute magnitude of the star.- Returns:
- The pseudo-size of this star, mainly used for rendering purposes. It has no physical meaning and has no relation to the actual physical size of the star.
-
getSpectralType
Get the spectral type from the effective temperature for main sequence stars. More info: see here.
-