Documentation
¶
Overview ¶
Package coord 坐标工具包 / coordinate utility package.
本包面向用户提供常用坐标变换、恒星时、岁差、站心和地平坐标封装。 所有角度输入和输出默认使用度;恒星时输出使用小时。 date 按绝对时刻使用,内部会转换为 UTC 后计算。
Index ¶
- func AirmassKastenYoungFromApparentAltitude(apparentAltitude float64) float64
- func AirmassKastenYoungFromTrueAltitude(trueAltitude, pressureHPa, temperatureC float64) float64
- func AirmassPickeringFromApparentAltitude(apparentAltitude float64) float64
- func AirmassPickeringFromTrueAltitude(trueAltitude, pressureHPa, temperatureC float64) float64
- func AirmassPlaneParallelFromTrueAltitude(trueAltitude float64) float64
- func AngularSeparation(ra1, dec1, ra2, dec2 float64) float64
- func ApparentAltitude(trueAltitude, pressureHPa, temperatureC float64) float64
- func ApparentSiderealTime(date time.Time) float64
- func AtmosphericRefractionFromApparentAltitude(apparentAltitude, pressureHPa, temperatureC float64) float64
- func AtmosphericRefractionFromTrueAltitude(trueAltitude, pressureHPa, temperatureC float64) float64
- func EclipticObliquity(date time.Time, nutation bool) float64
- func HorizontalToHourAngleDeclination(azimuth, altitude, latitude float64) (hourAngle, declination float64)
- func HourAngle(date time.Time, ra, observerLon float64) float64
- func MeanSiderealTime(date time.Time) float64
- func Nutation1980(date time.Time) (longitude, obliquity float64)
- func Nutation2000B(date time.Time) (longitude, obliquity float64)
- func ParallacticAngle(date time.Time, ra, dec, observerLon, observerLat float64) float64
- func ParallacticAngleByHourAngle(hourAngle, dec, observerLat float64) float64
- func TrueAltitude(apparentAltitude, pressureHPa, temperatureC float64) float64
- type Ecliptic
- type Equatorial
- func EclipticToEquatorial(date time.Time, lon, lat float64) Equatorial
- func EclipticToEquatorialByObliquity(lon, lat, obliquity float64) Equatorial
- func GalacticToEquatorial(lon, lat float64) Equatorial
- func HorizontalToEquatorialByLocalSiderealTime(localSiderealTimeHours, azimuth, altitude, latitude float64) Equatorial
- func Precess(from, to time.Time, ra, dec float64) Equatorial
- func TopocentricEquatorial(date time.Time, ra, dec, observerLon, observerLat, distanceAU, height float64) Equatorial
- type Galactic
- type Horizontal
- func EquatorialToApparentHorizontal(date time.Time, ...) Horizontal
- func EquatorialToHorizontal(date time.Time, ra, dec, observerLon, observerLat float64) Horizontal
- func EquatorialToHorizontalByLocalSiderealTime(localSiderealTimeHours, ra, dec, latitude float64) Horizontal
- func HourAngleDeclinationToHorizontal(hourAngle, declination, latitude float64) Horizontal
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AirmassKastenYoungFromApparentAltitude ¶
AirmassKastenYoungFromApparentAltitude Kasten-Young 大气质量 / Kasten-Young airmass from apparent altitude.
输入为视高度角,单位度。
func AirmassKastenYoungFromTrueAltitude ¶
AirmassKastenYoungFromTrueAltitude Kasten-Young 大气质量 / Kasten-Young airmass from true altitude.
先用 pressureHPa / temperatureC 估算大气折射,将真高度角换算为视高度角,再代入经验公式。
func AirmassPickeringFromApparentAltitude ¶
AirmassPickeringFromApparentAltitude Pickering 大气质量 / Pickering airmass from apparent altitude.
输入为视高度角,单位度。
func AirmassPickeringFromTrueAltitude ¶
AirmassPickeringFromTrueAltitude Pickering 大气质量 / Pickering airmass from true altitude.
先用 pressureHPa / temperatureC 估算大气折射,将真高度角换算为视高度角,再代入经验公式。
func AirmassPlaneParallelFromTrueAltitude ¶
AirmassPlaneParallelFromTrueAltitude 平行平板大气质量 / plane-parallel airmass from true altitude.
输入为真高度角,单位度。适合中高空几何近似,接近地平线时会发散。
func AngularSeparation ¶
AngularSeparation 角距离 / angular separation.
输入为两组赤道坐标,单位度;返回角距离,单位度。 Inputs are two equatorial coordinates in degrees; return value is in degrees.
func ApparentAltitude ¶
ApparentAltitude 真高度角转视高度角 / apparent altitude from true altitude.
输入真高度角,返回加入标准大气折射后的视高度角,单位度。
func ApparentSiderealTime ¶
ApparentSiderealTime 真恒星时,单位小时 / apparent sidereal time in hours.
func AtmosphericRefractionFromApparentAltitude ¶
func AtmosphericRefractionFromApparentAltitude(apparentAltitude, pressureHPa, temperatureC float64) float64
AtmosphericRefractionFromApparentAltitude 视高度角折射修正 / atmospheric refraction from apparent altitude.
输入视高度角,返回对应的大气折射修正量,单位度。
func AtmosphericRefractionFromTrueAltitude ¶
AtmosphericRefractionFromTrueAltitude 真高度角折射修正 / atmospheric refraction from true altitude.
输入真高度角,返回应加到真高度角上的大气折射修正量,单位度。
func EclipticObliquity ¶
EclipticObliquity 黄赤交角 / ecliptic obliquity.
func HorizontalToHourAngleDeclination ¶
func HorizontalToHourAngleDeclination(azimuth, altitude, latitude float64) (hourAngle, declination float64)
HorizontalToHourAngleDeclination 地平坐标转时角赤纬 / hour angle and declination from horizontal coordinates.
azimuth: 方位角,单位度,正北为0,顺时针增加 altitude: 高度角,单位度 latitude: 观测者地理纬度,单位度,北正南负
返回:
时角 HourAngle,单位度;赤纬 Declination,单位度
func HourAngle ¶
HourAngle 时角 / hour angle.
ra 为瞬时赤经;observerLon 为观测者经度,东正西负。 ra is apparent right ascension; observerLon is east-positive longitude.
func MeanSiderealTime ¶
MeanSiderealTime 平恒星时,单位小时 / mean sidereal time in hours.
func Nutation1980 ¶
Nutation1980 IAU 1980 章动 / IAU 1980 nutation.
func Nutation2000B ¶
Nutation2000B IAU 2000B 章动 / IAU 2000B nutation.
func ParallacticAngle ¶
ParallacticAngle 由赤经赤纬计算视差角(天顶方向角) / parallactic angle from right ascension and declination.
ra/dec 为瞬时赤经赤纬;observerLon/observerLat 为观测者经纬度,东正西负、北正南负。 Returns the signed parallactic angle for the apparent equatorial coordinates at the observing instant.
func ParallacticAngleByHourAngle ¶
ParallacticAngleByHourAngle 由时角计算视差角(天顶方向角) / parallactic angle from hour angle.
hourAngle/dec/observerLat 单位均为度,返回值通常落在 [-180, 180] 度。
func TrueAltitude ¶
TrueAltitude 视高度角转真高度角 / true altitude from apparent altitude.
输入视高度角,返回去除大气折射后的真高度角,单位度。
Types ¶
type Ecliptic ¶
type Ecliptic struct {
Lon float64 // 黄经,单位度 / ecliptic longitude in degrees.
Lat float64 // 黄纬,单位度 / ecliptic latitude in degrees.
}
Ecliptic 黄道坐标 / ecliptic coordinates.
func EquatorialToEcliptic ¶
EquatorialToEcliptic 赤道坐标转黄道坐标 / converts equatorial to ecliptic coordinates.
func EquatorialToEclipticByObliquity ¶
EquatorialToEclipticByObliquity 赤道转黄道坐标(指定黄赤交角) / equatorial to ecliptic by obliquity.
ra: 赤经,单位度 dec: 赤纬,单位度 obliquity: 黄赤交角,单位度
返回:
黄经 Lon,单位度;黄纬 Lat,单位度
func TopocentricEcliptic ¶
func TopocentricEcliptic(date time.Time, lon, lat, observerLon, observerLat, distanceAU, height float64) Ecliptic
TopocentricEcliptic 地心黄道坐标转站心黄道坐标 / converts geocentric to topocentric ecliptic coordinates.
distanceAU 为目标天体到地心距离,单位 AU;height 为观测者海拔,单位米。 distanceAU is geocentric distance in AU; height is observer elevation in meters.
type Equatorial ¶
type Equatorial struct {
RA float64 // 赤经,单位度 / right ascension in degrees.
Dec float64 // 赤纬,单位度 / declination in degrees.
}
Equatorial 赤道坐标 / equatorial coordinates.
func EclipticToEquatorial ¶
func EclipticToEquatorial(date time.Time, lon, lat float64) Equatorial
EclipticToEquatorial 黄道坐标转赤道坐标 / converts ecliptic to equatorial coordinates.
func EclipticToEquatorialByObliquity ¶
func EclipticToEquatorialByObliquity(lon, lat, obliquity float64) Equatorial
EclipticToEquatorialByObliquity 黄道转赤道坐标(指定黄赤交角) / ecliptic to equatorial by obliquity.
lon: 黄经,单位度 lat: 黄纬,单位度 obliquity: 黄赤交角,单位度
返回:
赤经 RA,单位度;赤纬 Dec,单位度
func GalacticToEquatorial ¶
func GalacticToEquatorial(lon, lat float64) Equatorial
GalacticToEquatorial 银道转赤道坐标 / galactic to equatorial coordinates.
lon: 银经,单位度 lat: 银纬,单位度
返回:
ICRS 赤经 RA,单位度;ICRS 赤纬 Dec,单位度
func HorizontalToEquatorialByLocalSiderealTime ¶
func HorizontalToEquatorialByLocalSiderealTime(localSiderealTimeHours, azimuth, altitude, latitude float64) Equatorial
HorizontalToEquatorialByLocalSiderealTime 地平转赤道坐标(指定地方恒星时) / horizontal to equatorial by local sidereal time.
localSiderealTimeHours: 站点本地恒星时,单位小时 azimuth: 方位角,单位度,正北为0,顺时针增加 altitude: 高度角,单位度 latitude: 观测者地理纬度,单位度,北正南负
返回:
赤经 RA,单位度;赤纬 Dec,单位度
例:
eq := coord.HorizontalToEquatorialByLocalSiderealTime(10.5, 128.2, 37.6, 31.2)
func Precess ¶
func Precess(from, to time.Time, ra, dec float64) Equatorial
Precess 岁差修正 / precesses equatorial coordinates from one date to another.
func TopocentricEquatorial ¶
func TopocentricEquatorial(date time.Time, ra, dec, observerLon, observerLat, distanceAU, height float64) Equatorial
TopocentricEquatorial 地心赤道坐标转站心赤道坐标 / converts geocentric to topocentric equatorial coordinates.
distanceAU 为目标天体到地心距离,单位 AU;height 为观测者海拔,单位米。 distanceAU is geocentric distance in AU; height is observer elevation in meters.
type Galactic ¶
type Galactic struct {
Lon float64 // 银经,单位度 / galactic longitude in degrees.
Lat float64 // 银纬,单位度 / galactic latitude in degrees.
}
Galactic 银道坐标 / galactic coordinates.
func EquatorialToGalactic ¶
EquatorialToGalactic 赤道转银道坐标 / equatorial to galactic coordinates.
ra: ICRS 赤经,单位度 dec: ICRS 赤纬,单位度
返回:
银经 Lon,单位度;银纬 Lat,单位度
type Horizontal ¶
type Horizontal struct {
Azimuth float64 // 方位角,正北为0,顺时针增加 / azimuth from north clockwise, degrees.
Altitude float64 // 高度角,单位度 / altitude in degrees.
Zenith float64 // 天顶距,单位度 / zenith distance in degrees.
HourAngle float64 // 时角,单位度 / hour angle in degrees.
}
Horizontal 地平坐标 / horizontal coordinates.
func EquatorialToApparentHorizontal ¶
func EquatorialToApparentHorizontal(date time.Time, ra, dec, observerLon, observerLat, pressureHPa, temperatureC float64) Horizontal
EquatorialToApparentHorizontal 赤道坐标转视地平坐标 / converts equatorial coordinates to apparent horizontal coordinates.
func EquatorialToHorizontal ¶
func EquatorialToHorizontal(date time.Time, ra, dec, observerLon, observerLat float64) Horizontal
EquatorialToHorizontal 赤道坐标转地平坐标 / converts equatorial to horizontal coordinates.
ra/dec 为瞬时赤经赤纬;observerLon/observerLat 为观测者经纬度,东正西负、北正南负。 ra/dec are apparent coordinates; observerLon/observerLat are east-positive and north-positive.
func EquatorialToHorizontalByLocalSiderealTime ¶
func EquatorialToHorizontalByLocalSiderealTime(localSiderealTimeHours, ra, dec, latitude float64) Horizontal
EquatorialToHorizontalByLocalSiderealTime 赤道转地平坐标(指定地方恒星时) / equatorial to horizontal by local sidereal time.
localSiderealTimeHours: 站点本地恒星时,单位小时 ra: 赤经,单位度 dec: 赤纬,单位度 latitude: 观测者地理纬度,单位度,北正南负
返回:
方位角 Azimuth(正北为0,顺时针增加)、高度角 Altitude、天顶距 Zenith,均为度; 附带返回对应的时角 HourAngle,单位度
例:
hz := coord.EquatorialToHorizontalByLocalSiderealTime(10.5, 83.6331, 22.0145, 31.2)
func HourAngleDeclinationToHorizontal ¶
func HourAngleDeclinationToHorizontal(hourAngle, declination, latitude float64) Horizontal
HourAngleDeclinationToHorizontal 时角赤纬转地平坐标 / horizontal coordinates from hour angle and declination.
hourAngle: 时角,单位度 declination: 赤纬,单位度 latitude: 观测者地理纬度,单位度,北正南负
返回:
方位角 Azimuth(正北为0,顺时针增加)、高度角 Altitude、天顶距 Zenith,均为度