eclipse

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LocalLunarEclipseInfo

type LocalLunarEclipseInfo struct {
	// Type 月食类型, eclipse type.
	Type LunarEclipseType
	// HasSaros 存在沙罗序列信息, has Saros series metadata.
	HasSaros bool
	// Saros 是沙罗序列信息,包括系列号、系列内序号和总成员数。
	// Saros is Saros series metadata with the series number, member index, and total member count.
	Saros SarosInfo

	// Longitude 观测点经度,东正西负, observer longitude, east positive.
	Longitude float64
	// Latitude 观测点纬度,北正南负, observer latitude, north positive.
	Latitude float64
	// Height 观测点海拔高度,单位米, observer height in meters.
	Height float64

	// PenumbralMagnitude 半影食分, penumbral magnitude.
	PenumbralMagnitude float64
	// UmbralMagnitude 本影食分;纯半影月食时可为负值, umbral magnitude; can be negative for purely penumbral eclipses.
	UmbralMagnitude float64

	// PenumbralStart 半影始, penumbral eclipse begins.
	PenumbralStart time.Time
	// PartialStart 初亏, partial eclipse begins.
	PartialStart time.Time
	// TotalStart 食既, total eclipse begins.
	TotalStart time.Time
	// Maximum 食甚, greatest eclipse.
	Maximum time.Time
	// TotalEnd 生光, total eclipse ends.
	TotalEnd time.Time
	// PartialEnd 复圆, partial eclipse ends.
	PartialEnd time.Time
	// PenumbralEnd 半影终, penumbral eclipse ends.
	PenumbralEnd time.Time

	// MoonAltitude 食甚时月亮高度角,单位度, Moon altitude at maximum in degrees.
	MoonAltitude float64
	// MoonAzimuth 食甚时月亮方位角,单位度, Moon azimuth at maximum in degrees.
	MoonAzimuth float64
	// VisibleAtMaximum 食甚时月亮中心在本地几何地平线上方, Moon center above the local geometric horizon at maximum.
	VisibleAtMaximum bool

	// HasPenumbral 有半影阶段, has penumbral phase.
	HasPenumbral bool
	// HasPartial 有偏食阶段, has partial phase.
	HasPartial bool
	// HasTotal 有全食阶段, has total phase.
	HasTotal bool
}

LocalLunarEclipseInfo 站点月食信息, local lunar eclipse information.

所有时刻字段都保持用户输入的时区。 不存在的阶段使用零值 time.Time。

func ClosestGeometricLocalLunarEclipse

func ClosestGeometricLocalLunarEclipse(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

ClosestGeometricLocalLunarEclipse 最近一次几何月食 / closest geometric local lunar eclipse. Closest geometric local lunar eclipse, using Danjon by default.

func ClosestGeometricLocalLunarEclipseChauvenet

func ClosestGeometricLocalLunarEclipseChauvenet(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

ClosestGeometricLocalLunarEclipseChauvenet 最近一次几何月食(Chauvenet) / closest geometric local lunar eclipse with Chauvenet model. Closest geometric local lunar eclipse with the Chauvenet model.

func ClosestGeometricLocalLunarEclipseDanjon

func ClosestGeometricLocalLunarEclipseDanjon(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

ClosestGeometricLocalLunarEclipseDanjon 最近一次几何月食(Danjon) / closest geometric local lunar eclipse with Danjon model. Closest geometric local lunar eclipse with the Danjon model.

func ClosestLocalLunarEclipse

func ClosestLocalLunarEclipse(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

ClosestLocalLunarEclipse 最近一次可见月食 / closest visible local lunar eclipse. Closest visible local lunar eclipse, using Danjon by default.

func ClosestLocalLunarEclipseChauvenet

func ClosestLocalLunarEclipseChauvenet(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

ClosestLocalLunarEclipseChauvenet 最近一次可见月食(Chauvenet) / closest visible local lunar eclipse with Chauvenet model. Closest visible local lunar eclipse with the Chauvenet model.

func ClosestLocalLunarEclipseDanjon

func ClosestLocalLunarEclipseDanjon(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

ClosestLocalLunarEclipseDanjon 最近一次可见月食(Danjon) / closest visible local lunar eclipse with Danjon model. Closest visible local lunar eclipse with the Danjon model.

func ClosestLocalTotalLunarEclipse added in v0.1.1

func ClosestLocalTotalLunarEclipse(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

ClosestLocalTotalLunarEclipse 最近一次可见月全食 / closest visible local total lunar eclipse. Closest visible local total lunar eclipse, using Danjon by default.

func GeometricLocalLunarEclipseOnDate

func GeometricLocalLunarEclipseOnDate(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

GeometricLocalLunarEclipseOnDate 当地几何月食查询 / local geometric lunar eclipse query. Determine whether a geometric local lunar eclipse occurs on the local date, using Danjon by default.

func GeometricLocalLunarEclipseOnDateChauvenet

func GeometricLocalLunarEclipseOnDateChauvenet(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

GeometricLocalLunarEclipseOnDateChauvenet 当地几何月食查询(Chauvenet) / local geometric lunar eclipse query with Chauvenet model. Determine whether a geometric local lunar eclipse occurs on the local date with the Chauvenet model.

func GeometricLocalLunarEclipseOnDateDanjon

func GeometricLocalLunarEclipseOnDateDanjon(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

GeometricLocalLunarEclipseOnDateDanjon 当地几何月食查询(Danjon) / local geometric lunar eclipse query with Danjon model. Determine whether a geometric local lunar eclipse occurs on the local date with the Danjon model.

func LastGeometricLocalLunarEclipse

func LastGeometricLocalLunarEclipse(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

LastGeometricLocalLunarEclipse 上次几何月食 / previous geometric local lunar eclipse. Previous geometric local lunar eclipse, using Danjon by default.

func LastGeometricLocalLunarEclipseChauvenet

func LastGeometricLocalLunarEclipseChauvenet(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

LastGeometricLocalLunarEclipseChauvenet 上次几何月食(Chauvenet) / previous geometric local lunar eclipse with Chauvenet model. Previous geometric local lunar eclipse with the Chauvenet model.

func LastGeometricLocalLunarEclipseDanjon

func LastGeometricLocalLunarEclipseDanjon(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

LastGeometricLocalLunarEclipseDanjon 上次几何月食(Danjon) / previous geometric local lunar eclipse with Danjon model. Previous geometric local lunar eclipse with the Danjon model.

func LastLocalLunarEclipse

func LastLocalLunarEclipse(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

LastLocalLunarEclipse 上次可见月食 / previous visible local lunar eclipse. Previous visible local lunar eclipse, using Danjon by default.

func LastLocalLunarEclipseChauvenet

func LastLocalLunarEclipseChauvenet(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

LastLocalLunarEclipseChauvenet 上次可见月食(Chauvenet) / previous visible local lunar eclipse with Chauvenet model. Previous visible local lunar eclipse with the Chauvenet model.

func LastLocalLunarEclipseDanjon

func LastLocalLunarEclipseDanjon(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

LastLocalLunarEclipseDanjon 上次可见月食(Danjon) / previous visible local lunar eclipse with Danjon model. Previous visible local lunar eclipse with the Danjon model.

func LastLocalTotalLunarEclipse added in v0.1.1

func LastLocalTotalLunarEclipse(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

LastLocalTotalLunarEclipse 上次可见月全食 / previous visible local total lunar eclipse. Previous visible local total lunar eclipse, using Danjon by default.

func LocalLunarEclipseOnDate

func LocalLunarEclipseOnDate(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

LocalLunarEclipseOnDate 当地可见月食查询 / local visible lunar eclipse query. Determine whether a visible local lunar eclipse occurs on the local date, using Danjon by default.

func LocalLunarEclipseOnDateChauvenet

func LocalLunarEclipseOnDateChauvenet(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

LocalLunarEclipseOnDateChauvenet 当地可见月食查询(Chauvenet) / local visible lunar eclipse query with Chauvenet model. Determine whether a visible local lunar eclipse occurs on the local date with the Chauvenet model.

func LocalLunarEclipseOnDateDanjon

func LocalLunarEclipseOnDateDanjon(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

LocalLunarEclipseOnDateDanjon 当地可见月食查询(Danjon) / local visible lunar eclipse query with Danjon model. Determine whether a visible local lunar eclipse occurs on the local date with the Danjon model.

func NextGeometricLocalLunarEclipse

func NextGeometricLocalLunarEclipse(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

NextGeometricLocalLunarEclipse 下次几何月食 / next geometric local lunar eclipse. Next geometric local lunar eclipse, using Danjon by default.

func NextGeometricLocalLunarEclipseChauvenet

func NextGeometricLocalLunarEclipseChauvenet(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

NextGeometricLocalLunarEclipseChauvenet 下次几何月食(Chauvenet) / next geometric local lunar eclipse with Chauvenet model. Next geometric local lunar eclipse with the Chauvenet model.

func NextGeometricLocalLunarEclipseDanjon

func NextGeometricLocalLunarEclipseDanjon(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

NextGeometricLocalLunarEclipseDanjon 下次几何月食(Danjon) / next geometric local lunar eclipse with Danjon model. Next geometric local lunar eclipse with the Danjon model.

func NextLocalLunarEclipse

func NextLocalLunarEclipse(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

NextLocalLunarEclipse 下次可见月食 / next visible local lunar eclipse. Next visible local lunar eclipse, using Danjon by default.

func NextLocalLunarEclipseChauvenet

func NextLocalLunarEclipseChauvenet(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

NextLocalLunarEclipseChauvenet 下次可见月食(Chauvenet) / next visible local lunar eclipse with Chauvenet model. Next visible local lunar eclipse with the Chauvenet model.

func NextLocalLunarEclipseDanjon

func NextLocalLunarEclipseDanjon(date time.Time, lon, lat, height float64) LocalLunarEclipseInfo

NextLocalLunarEclipseDanjon 下次可见月食(Danjon) / next visible local lunar eclipse with Danjon model. Next visible local lunar eclipse with the Danjon model.

func NextLocalTotalLunarEclipse added in v0.1.1

func NextLocalTotalLunarEclipse(date time.Time, lon, lat, height float64) (LocalLunarEclipseInfo, bool)

NextLocalTotalLunarEclipse 下次可见月全食 / next visible local total lunar eclipse. Next visible local total lunar eclipse, using Danjon by default.

type LocalSolarEclipseContactPoint

type LocalSolarEclipseContactPoint struct {
	// Label 是接触标签,如 C1/C2/C3/C4。
	// Label is the contact label, such as C1/C2/C3/C4.
	Label string
	// Time 是该接触时刻,保持用户输入时区。
	// Time is the contact time, preserving the input timezone.
	Time time.Time
	// ContactPositionAngle 是日面接触点位置角,从天球北点起向东量,单位度。
	// ContactPositionAngle is the Sun-limb contact position angle from celestial north toward east, in degrees.
	ContactPositionAngle float64
	// ContactClockwiseAngle 是图面上从北点顺时针量到接触点的角度,单位度。
	// ContactClockwiseAngle is the chart clockwise angle from north to the contact point, in degrees.
	ContactClockwiseAngle float64
	// MoonCenterPositionAngle 是月心相对日心的位置角,从北点起向东量,单位度。
	// MoonCenterPositionAngle is the Moon-center position angle from the Sun center, in degrees.
	MoonCenterPositionAngle float64
}

LocalSolarEclipseContactPoint 表示站心日食在日面上的接触点方位。 LocalSolarEclipseContactPoint describes a local solar eclipse contact point on the Sun limb.

type LocalSolarEclipseInfo

type LocalSolarEclipseInfo struct {
	// Model 日食月亮半径模型, eclipse lunar radius model.
	Model SolarEclipseRadiusModel
	// Type 站心食型, local eclipse type.
	Type SolarEclipseType
	// HasSaros 存在沙罗序列信息, has Saros series metadata.
	HasSaros bool
	// Saros 是沙罗序列信息,包括系列号、系列内序号和总成员数。
	// Saros is Saros series metadata with the series number, member index, and total member count.
	Saros SarosInfo

	// Longitude 观测点经度,东正西负, observer longitude, east positive.
	Longitude float64
	// Latitude 观测点纬度,北正南负, observer latitude, north positive.
	Latitude float64
	// Height 观测点海拔高度,单位米, observer height in meters.
	Height float64

	// GreatestEclipse 食甚时刻, greatest eclipse.
	GreatestEclipse time.Time
	// PartialStart 偏食始 / 初亏, partial eclipse begins.
	PartialStart time.Time
	// PartialEnd 偏食终 / 复圆, partial eclipse ends.
	PartialEnd time.Time
	// CentralStart 中心食始;对全食为食既,对环食为环食始, central eclipse begins.
	CentralStart time.Time
	// CentralEnd 中心食终;对全食为生光,对环食为环食终, central eclipse ends.
	CentralEnd time.Time

	// Magnitude 站心食分, local eclipse magnitude.
	Magnitude float64
	// Obscuration 食甚时太阳视圆面遮蔽率, obscuration at greatest eclipse.
	Obscuration float64
	// Separation 食甚时日月中心角距,单位度, center separation at greatest eclipse in degrees.
	Separation float64
	// SunAltitude 食甚时太阳高度角,单位度, Sun altitude at greatest eclipse in degrees.
	SunAltitude float64
	// SunAzimuth 食甚时太阳方位角,单位度, Sun azimuth at greatest eclipse in degrees.
	SunAzimuth float64

	// VisibleAtGreatest 食甚时太阳中心在地平线上方, Sun center above horizon at greatest eclipse.
	VisibleAtGreatest bool

	// ContactPoints 是各接触时刻在日面上的接触点方位。
	// ContactPoints are Sun-limb contact position angles at eclipse contacts.
	ContactPoints []LocalSolarEclipseContactPoint

	// HasPartial 存在偏食阶段, has partial phase.
	HasPartial bool
	// HasCentral 存在中心食阶段, has central phase.
	HasCentral bool
	// HasAnnular 存在环食阶段, has annular phase.
	HasAnnular bool
	// HasTotal 存在全食阶段, has total phase.
	HasTotal bool
}

LocalSolarEclipseInfo 站心日食信息, local solar eclipse information.

所有时刻字段都保持用户输入的时区。 不存在的阶段使用零值 time.Time。

func ClosestGeometricLocalSolarEclipse

func ClosestGeometricLocalSolarEclipse(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

ClosestGeometricLocalSolarEclipse 最近一次站心几何日食 / closest geometric local solar eclipse. Closest geometric local solar eclipse, using NASA bulletin Split-K by default.

func ClosestGeometricLocalSolarEclipseIAUSingleK

func ClosestGeometricLocalSolarEclipseIAUSingleK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

ClosestGeometricLocalSolarEclipseIAUSingleK 最近一次站心几何日食(IAU Single-K) / closest geometric local solar eclipse with IAU Single-K. Closest geometric local solar eclipse with the IAU Single-K model.

func ClosestGeometricLocalSolarEclipseNASABulletinSplitK

func ClosestGeometricLocalSolarEclipseNASABulletinSplitK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

ClosestGeometricLocalSolarEclipseNASABulletinSplitK 最近一次站心几何日食(NASA bulletin Split-K) / closest geometric local solar eclipse with NASA bulletin Split-K. Closest geometric local solar eclipse with the NASA bulletin Split-K model.

func ClosestLocalAnnularSolarEclipse added in v0.1.1

func ClosestLocalAnnularSolarEclipse(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

ClosestLocalAnnularSolarEclipse 最近一次站心日环食 / closest local annular solar eclipse. Closest visible local annular solar eclipse, using NASA bulletin Split-K by default.

func ClosestLocalSolarEclipse

func ClosestLocalSolarEclipse(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

ClosestLocalSolarEclipse 最近一次站心日食 / closest local solar eclipse. Closest visible local solar eclipse, using NASA bulletin Split-K by default.

func ClosestLocalSolarEclipseIAUSingleK

func ClosestLocalSolarEclipseIAUSingleK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

ClosestLocalSolarEclipseIAUSingleK 最近一次站心日食(IAU Single-K) / closest local solar eclipse with IAU Single-K. Closest visible local solar eclipse with the IAU Single-K model.

func ClosestLocalSolarEclipseNASABulletinSplitK

func ClosestLocalSolarEclipseNASABulletinSplitK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

ClosestLocalSolarEclipseNASABulletinSplitK 最近一次站心日食(NASA bulletin Split-K) / closest local solar eclipse with NASA bulletin Split-K. Closest visible local solar eclipse with the NASA bulletin Split-K model.

func ClosestLocalTotalSolarEclipse added in v0.1.1

func ClosestLocalTotalSolarEclipse(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

ClosestLocalTotalSolarEclipse 最近一次站心日全食 / closest local total solar eclipse. Closest visible local total solar eclipse, using NASA bulletin Split-K by default.

func GeometricLocalSolarEclipseOnDate

func GeometricLocalSolarEclipseOnDate(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

GeometricLocalSolarEclipseOnDate 当地站心几何日食查询 / local geometric solar eclipse query. Determine whether a geometric local solar eclipse overlaps the local date, using NASA bulletin Split-K by default.

func GeometricLocalSolarEclipseOnDateIAUSingleK

func GeometricLocalSolarEclipseOnDateIAUSingleK(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

GeometricLocalSolarEclipseOnDateIAUSingleK 当地站心几何日食查询(IAU Single-K) / local geometric solar eclipse query with IAU Single-K. Determine whether a geometric local solar eclipse overlaps the local date with the IAU Single-K model.

func GeometricLocalSolarEclipseOnDateNASABulletinSplitK

func GeometricLocalSolarEclipseOnDateNASABulletinSplitK(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

GeometricLocalSolarEclipseOnDateNASABulletinSplitK 当地站心几何日食查询(NASA bulletin Split-K) / local geometric solar eclipse query with NASA bulletin Split-K. Determine whether a geometric local solar eclipse overlaps the local date with the NASA bulletin Split-K model.

func LastGeometricLocalSolarEclipse

func LastGeometricLocalSolarEclipse(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

LastGeometricLocalSolarEclipse 上次站心几何日食 / previous geometric local solar eclipse. Previous geometric local solar eclipse, using NASA bulletin Split-K by default.

func LastGeometricLocalSolarEclipseIAUSingleK

func LastGeometricLocalSolarEclipseIAUSingleK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

LastGeometricLocalSolarEclipseIAUSingleK 上次站心几何日食(IAU Single-K) / previous geometric local solar eclipse with IAU Single-K. Previous geometric local solar eclipse with the IAU Single-K model.

func LastGeometricLocalSolarEclipseNASABulletinSplitK

func LastGeometricLocalSolarEclipseNASABulletinSplitK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

LastGeometricLocalSolarEclipseNASABulletinSplitK 上次站心几何日食(NASA bulletin Split-K) / previous geometric local solar eclipse with NASA bulletin Split-K. Previous geometric local solar eclipse with the NASA bulletin Split-K model.

func LastLocalAnnularSolarEclipse added in v0.1.1

func LastLocalAnnularSolarEclipse(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

LastLocalAnnularSolarEclipse 上次站心日环食 / previous local annular solar eclipse. Previous visible local annular solar eclipse, using NASA bulletin Split-K by default.

func LastLocalSolarEclipse

func LastLocalSolarEclipse(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

LastLocalSolarEclipse 上次站心日食 / previous local solar eclipse. Previous visible local solar eclipse, using NASA bulletin Split-K by default.

func LastLocalSolarEclipseIAUSingleK

func LastLocalSolarEclipseIAUSingleK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

LastLocalSolarEclipseIAUSingleK 上次站心日食(IAU Single-K) / previous local solar eclipse with IAU Single-K. Previous visible local solar eclipse with the IAU Single-K model.

func LastLocalSolarEclipseNASABulletinSplitK

func LastLocalSolarEclipseNASABulletinSplitK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

LastLocalSolarEclipseNASABulletinSplitK 上次站心日食(NASA bulletin Split-K) / previous local solar eclipse with NASA bulletin Split-K. Previous visible local solar eclipse with the NASA bulletin Split-K model.

func LastLocalTotalSolarEclipse added in v0.1.1

func LastLocalTotalSolarEclipse(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

LastLocalTotalSolarEclipse 上次站心日全食 / previous local total solar eclipse. Previous visible local total solar eclipse, using NASA bulletin Split-K by default.

func LocalSolarEclipseOnDate

func LocalSolarEclipseOnDate(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

LocalSolarEclipseOnDate 当地站心日食查询 / local topocentric solar eclipse query. Determine whether a visible local solar eclipse overlaps the local date, using NASA bulletin Split-K by default.

func LocalSolarEclipseOnDateIAUSingleK

func LocalSolarEclipseOnDateIAUSingleK(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

LocalSolarEclipseOnDateIAUSingleK 当地站心日食查询(IAU Single-K) / local topocentric solar eclipse query with IAU Single-K. Determine whether a visible local solar eclipse overlaps the local date with the IAU Single-K model.

func LocalSolarEclipseOnDateNASABulletinSplitK

func LocalSolarEclipseOnDateNASABulletinSplitK(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

LocalSolarEclipseOnDateNASABulletinSplitK 当地站心日食查询(NASA bulletin Split-K) / local topocentric solar eclipse query with NASA bulletin Split-K. Determine whether a visible local solar eclipse overlaps the local date with the NASA bulletin Split-K model.

func NextGeometricLocalSolarEclipse

func NextGeometricLocalSolarEclipse(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

NextGeometricLocalSolarEclipse 下次站心几何日食 / next geometric local solar eclipse. Next geometric local solar eclipse, using NASA bulletin Split-K by default.

func NextGeometricLocalSolarEclipseIAUSingleK

func NextGeometricLocalSolarEclipseIAUSingleK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

NextGeometricLocalSolarEclipseIAUSingleK 下次站心几何日食(IAU Single-K) / next geometric local solar eclipse with IAU Single-K. Next geometric local solar eclipse with the IAU Single-K model.

func NextGeometricLocalSolarEclipseNASABulletinSplitK

func NextGeometricLocalSolarEclipseNASABulletinSplitK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

NextGeometricLocalSolarEclipseNASABulletinSplitK 下次站心几何日食(NASA bulletin Split-K) / next geometric local solar eclipse with NASA bulletin Split-K. Next geometric local solar eclipse with the NASA bulletin Split-K model.

func NextLocalAnnularSolarEclipse added in v0.1.1

func NextLocalAnnularSolarEclipse(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

NextLocalAnnularSolarEclipse 下次站心日环食 / next local annular solar eclipse. Next visible local annular solar eclipse, using NASA bulletin Split-K by default.

func NextLocalSolarEclipse

func NextLocalSolarEclipse(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

NextLocalSolarEclipse 下次站心日食 / next local solar eclipse. Next visible local solar eclipse, using NASA bulletin Split-K by default.

func NextLocalSolarEclipseIAUSingleK

func NextLocalSolarEclipseIAUSingleK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

NextLocalSolarEclipseIAUSingleK 下次站心日食(IAU Single-K) / next local solar eclipse with IAU Single-K. Next visible local solar eclipse with the IAU Single-K model.

func NextLocalSolarEclipseNASABulletinSplitK

func NextLocalSolarEclipseNASABulletinSplitK(date time.Time, lon, lat, height float64) LocalSolarEclipseInfo

NextLocalSolarEclipseNASABulletinSplitK 下次站心日食(NASA bulletin Split-K) / next local solar eclipse with NASA bulletin Split-K. Next visible local solar eclipse with the NASA bulletin Split-K model.

func NextLocalTotalSolarEclipse added in v0.1.1

func NextLocalTotalSolarEclipse(date time.Time, lon, lat, height float64) (LocalSolarEclipseInfo, bool)

NextLocalTotalSolarEclipse 下次站心日全食 / next local total solar eclipse. Next visible local total solar eclipse, using NASA bulletin Split-K by default.

type LunarEclipseContactPoint

type LunarEclipseContactPoint struct {
	// Label 是接触标签,如 P1/U1/U2/U3/U4/P4。
	// Label is the contact label, such as P1/U1/U2/U3/U4/P4.
	Label string
	// Time 是该接触时刻,保持用户输入时区。
	// Time is the contact time, preserving the input timezone.
	Time time.Time
	// ContactPositionAngle 是月面接触点位置角,从天球北点起向东量,单位度。
	// ContactPositionAngle is the Moon-limb contact position angle from celestial north toward east, in degrees.
	ContactPositionAngle float64
	// ContactClockwiseAngle 是图面上从北点顺时针量到接触点的角度,单位度。
	// ContactClockwiseAngle is the chart clockwise angle from north to the contact point, in degrees.
	ContactClockwiseAngle float64
	// MoonCenterPositionAngle 是月心相对地影中心的位置角,从北点起向东量,单位度。
	// MoonCenterPositionAngle is the Moon-center position angle from the shadow center, in degrees.
	MoonCenterPositionAngle float64
	// ShadowCenterPositionAngle 是地影中心相对月心的位置角,从北点起向东量,单位度。
	// ShadowCenterPositionAngle is the shadow-center position angle from the Moon center, in degrees.
	ShadowCenterPositionAngle float64
}

LunarEclipseContactPoint 表示月食接触点在月面上的方位。 LunarEclipseContactPoint describes a lunar eclipse contact point on the Moon limb.

type LunarEclipseInfo

type LunarEclipseInfo struct {
	// Type 月食类型, eclipse type.
	Type LunarEclipseType
	// HasSaros 存在沙罗序列信息, has Saros series metadata.
	HasSaros bool
	// Saros 是沙罗序列信息,包括系列号、系列内序号和总成员数。
	// Saros is Saros series metadata with the series number, member index, and total member count.
	Saros SarosInfo

	// PenumbralMagnitude 半影食分, penumbral magnitude.
	PenumbralMagnitude float64
	// UmbralMagnitude 本影食分;纯半影月食时可为负值, umbral magnitude; can be negative for purely penumbral eclipses.
	UmbralMagnitude float64

	// PenumbralStart 半影始, penumbral eclipse begins.
	PenumbralStart time.Time
	// PartialStart 初亏, partial eclipse begins.
	PartialStart time.Time
	// TotalStart 食既, total eclipse begins.
	TotalStart time.Time
	// Maximum 食甚, greatest eclipse.
	Maximum time.Time
	// TotalEnd 生光, total eclipse ends.
	TotalEnd time.Time
	// PartialEnd 复圆, partial eclipse ends.
	PartialEnd time.Time
	// PenumbralEnd 半影终, penumbral eclipse ends.
	PenumbralEnd time.Time

	// ContactPoints 是各接触时刻在月面上的接触点方位。
	// ContactPoints are Moon-limb contact position angles at eclipse contacts.
	ContactPoints []LunarEclipseContactPoint

	// HasPenumbral 有半影阶段, has penumbral phase.
	HasPenumbral bool
	// HasPartial 有偏食阶段, has partial phase.
	HasPartial bool
	// HasTotal 有全食阶段, has total phase.
	HasTotal bool
}

LunarEclipseInfo 月食信息, lunar eclipse information.

所有时刻字段都保持用户输入的时区。 不存在的阶段使用零值 time.Time。

func ClosestLunarEclipse

func ClosestLunarEclipse(date time.Time) LunarEclipseInfo

ClosestLunarEclipse 最近一次月食 / closest lunar eclipse. Closest lunar eclipse. The default path uses Danjon and falls back to Chauvenet for ultra-shallow penumbral edge cases.

func ClosestLunarEclipseChauvenet

func ClosestLunarEclipseChauvenet(date time.Time) LunarEclipseInfo

ClosestLunarEclipseChauvenet 最近一次月食(Chauvenet) / closest lunar eclipse with Chauvenet model. Closest lunar eclipse with the Chauvenet model.

func ClosestLunarEclipseDanjon

func ClosestLunarEclipseDanjon(date time.Time) LunarEclipseInfo

ClosestLunarEclipseDanjon 最近一次月食(Danjon) / closest lunar eclipse with Danjon model. Closest lunar eclipse with the Danjon model.

func LastLunarEclipse

func LastLunarEclipse(date time.Time) LunarEclipseInfo

LastLunarEclipse 上次月食 / previous lunar eclipse. Previous lunar eclipse. The default path uses Danjon and falls back to Chauvenet for ultra-shallow penumbral edge cases.

func LastLunarEclipseChauvenet

func LastLunarEclipseChauvenet(date time.Time) LunarEclipseInfo

LastLunarEclipseChauvenet 上次月食(Chauvenet) / previous lunar eclipse with Chauvenet model. Previous lunar eclipse with the Chauvenet model.

func LastLunarEclipseDanjon

func LastLunarEclipseDanjon(date time.Time) LunarEclipseInfo

LastLunarEclipseDanjon 上次月食(Danjon) / previous lunar eclipse with Danjon model. Previous lunar eclipse with the Danjon model.

func LunarEclipseOnDate

func LunarEclipseOnDate(date time.Time) (LunarEclipseInfo, bool)

LunarEclipseOnDate 当地自然日月食查询 / local-date lunar eclipse query. Determine whether a lunar eclipse occurs on the local date. The default path uses Danjon and falls back to Chauvenet for ultra-shallow penumbral edge cases.

只要该自然日内有任意一个接触时刻,或整场月食与该自然日有时间重叠,就返回 true。

func LunarEclipseOnDateChauvenet

func LunarEclipseOnDateChauvenet(date time.Time) (LunarEclipseInfo, bool)

LunarEclipseOnDateChauvenet 当地自然日月食查询(Chauvenet) / local-date lunar eclipse query with Chauvenet model. Determine whether a lunar eclipse occurs on the local date with the Chauvenet model.

func LunarEclipseOnDateDanjon

func LunarEclipseOnDateDanjon(date time.Time) (LunarEclipseInfo, bool)

LunarEclipseOnDateDanjon 当地自然日月食查询(Danjon) / local-date lunar eclipse query with Danjon model. Determine whether a lunar eclipse occurs on the local date with the Danjon model.

func NextLunarEclipse

func NextLunarEclipse(date time.Time) LunarEclipseInfo

NextLunarEclipse 下次月食 / next lunar eclipse. Next lunar eclipse. The default path uses Danjon and falls back to Chauvenet for ultra-shallow penumbral edge cases.

func NextLunarEclipseChauvenet

func NextLunarEclipseChauvenet(date time.Time) LunarEclipseInfo

NextLunarEclipseChauvenet 下次月食(Chauvenet) / next lunar eclipse with Chauvenet model. Next lunar eclipse with the Chauvenet model.

func NextLunarEclipseDanjon

func NextLunarEclipseDanjon(date time.Time) LunarEclipseInfo

NextLunarEclipseDanjon 下次月食(Danjon) / next lunar eclipse with Danjon model. Next lunar eclipse with the Danjon model.

type LunarEclipseType

type LunarEclipseType string

LunarEclipseType 月食类型, lunar eclipse type.

const (
	// LunarEclipseNone 无月食, no lunar eclipse.
	LunarEclipseNone LunarEclipseType = "none"
	// LunarEclipsePenumbral 半影月食, penumbral lunar eclipse.
	LunarEclipsePenumbral LunarEclipseType = "penumbral"
	// LunarEclipsePartial 月偏食, partial lunar eclipse.
	LunarEclipsePartial LunarEclipseType = "partial"
	// LunarEclipseTotal 月全食, total lunar eclipse.
	LunarEclipseTotal LunarEclipseType = "total"
)

type SarosInfo

type SarosInfo struct {
	// Series 是 NASA 沙罗系列编号;太阳食可能出现 0 号系列。
	// Series is the NASA Saros series number; solar eclipses may use series 0.
	Series int
	// Member 是本次食在该系列中的序号,从 1 开始计数。
	// Member is the 1-based index of this eclipse within the series.
	Member int
	// Count 是该系列的总成员数。
	// Count is the total number of eclipses in the series.
	Count int
}

SarosInfo 沙罗序列信息, Saros series metadata.

type SolarEclipseCentrality

type SolarEclipseCentrality string

SolarEclipseCentrality 中心线进入地球的方式, global eclipse centrality.

const (
	// SolarEclipseNonCentral 非中心食, non-central eclipse.
	SolarEclipseNonCentral SolarEclipseCentrality = "non_central"
	// SolarEclipseCentralOneLimit 单界中心食, central eclipse with one limit.
	SolarEclipseCentralOneLimit SolarEclipseCentrality = "central_one_limit"
	// SolarEclipseCentralTwoLimits 双界中心食, central eclipse with two limits.
	SolarEclipseCentralTwoLimits SolarEclipseCentrality = "central_two_limits"
)

type SolarEclipseInfo

type SolarEclipseInfo struct {
	// Model 日食月亮半径模型, eclipse lunar radius model.
	Model SolarEclipseRadiusModel
	// Type 全局食型, global eclipse type.
	Type SolarEclipseType
	// Centrality 中心性, eclipse centrality.
	Centrality SolarEclipseCentrality
	// HasSaros 存在沙罗序列信息, has Saros series metadata.
	HasSaros bool
	// Saros 是沙罗序列信息,包括系列号、系列内序号和总成员数。
	// Saros is Saros series metadata with the series number, member index, and total member count.
	Saros SarosInfo

	// GreatestEclipse 食甚时刻, greatest eclipse.
	GreatestEclipse time.Time
	// PartialBeginOnEarth 地球范围偏食始, partial eclipse begins on Earth.
	PartialBeginOnEarth time.Time
	// PartialEndOnEarth 地球范围偏食终, partial eclipse ends on Earth.
	PartialEndOnEarth time.Time
	// CentralBeginOnEarth 地球范围中心食始, central eclipse begins on Earth.
	CentralBeginOnEarth time.Time
	// CentralEndOnEarth 地球范围中心食终, central eclipse ends on Earth.
	CentralEndOnEarth time.Time

	// Magnitude 全局食分, global eclipse magnitude.
	Magnitude float64
	// Gamma 食甚时影轴到地心的距离, gamma at greatest eclipse.
	Gamma float64
	// PathWidthKM 食甚处中心食带宽度, central path width at greatest eclipse.
	PathWidthKM float64

	// GreatestLongitude 食甚点经度,东正西负, longitude of greatest eclipse, east positive.
	GreatestLongitude float64
	// GreatestLatitude 食甚点纬度,北正南负, latitude of greatest eclipse, north positive.
	GreatestLatitude float64

	// HasPartial 存在偏食阶段, has partial phase.
	HasPartial bool
	// HasCentral 存在中心食阶段, has central phase.
	HasCentral bool
	// HasAnnular 存在环食阶段, has annular phase.
	HasAnnular bool
	// HasTotal 存在全食阶段, has total phase.
	HasTotal bool
	// HasHybrid 为混合食, is hybrid eclipse.
	HasHybrid bool
}

SolarEclipseInfo 全局日食信息, global solar eclipse information.

所有时刻字段都保持用户输入的时区。 不存在的阶段使用零值 time.Time。

func ClosestSolarEclipse

func ClosestSolarEclipse(date time.Time) SolarEclipseInfo

ClosestSolarEclipse 最近一次日食 / closest solar eclipse. Closest solar eclipse, using NASA bulletin Split-K by default.

func ClosestSolarEclipseIAUSingleK

func ClosestSolarEclipseIAUSingleK(date time.Time) SolarEclipseInfo

ClosestSolarEclipseIAUSingleK 最近一次日食(IAU Single-K) / closest solar eclipse with IAU Single-K. Closest solar eclipse with the IAU Single-K model.

func ClosestSolarEclipseNASABulletinSplitK

func ClosestSolarEclipseNASABulletinSplitK(date time.Time) SolarEclipseInfo

ClosestSolarEclipseNASABulletinSplitK 最近一次日食(NASA bulletin Split-K) / closest solar eclipse with NASA bulletin Split-K. Closest solar eclipse with the NASA bulletin Split-K model.

func LastSolarEclipse

func LastSolarEclipse(date time.Time) SolarEclipseInfo

LastSolarEclipse 上次日食 / previous solar eclipse. Previous solar eclipse, using NASA bulletin Split-K by default.

func LastSolarEclipseIAUSingleK

func LastSolarEclipseIAUSingleK(date time.Time) SolarEclipseInfo

LastSolarEclipseIAUSingleK 上次日食(IAU Single-K) / previous solar eclipse with IAU Single-K. Previous solar eclipse with the IAU Single-K model.

func LastSolarEclipseNASABulletinSplitK

func LastSolarEclipseNASABulletinSplitK(date time.Time) SolarEclipseInfo

LastSolarEclipseNASABulletinSplitK 上次日食(NASA bulletin Split-K) / previous solar eclipse with NASA bulletin Split-K. Previous solar eclipse with the NASA bulletin Split-K model.

func NextSolarEclipse

func NextSolarEclipse(date time.Time) SolarEclipseInfo

NextSolarEclipse 下次日食 / next solar eclipse. Next solar eclipse, using NASA bulletin Split-K by default.

func NextSolarEclipseIAUSingleK

func NextSolarEclipseIAUSingleK(date time.Time) SolarEclipseInfo

NextSolarEclipseIAUSingleK 下次日食(IAU Single-K) / next solar eclipse with IAU Single-K. Next solar eclipse with the IAU Single-K model.

func NextSolarEclipseNASABulletinSplitK

func NextSolarEclipseNASABulletinSplitK(date time.Time) SolarEclipseInfo

NextSolarEclipseNASABulletinSplitK 下次日食(NASA bulletin Split-K) / next solar eclipse with NASA bulletin Split-K. Next solar eclipse with the NASA bulletin Split-K model.

func SolarEclipseOnDate

func SolarEclipseOnDate(date time.Time) (SolarEclipseInfo, bool)

SolarEclipseOnDate 当地自然日全局日食查询 / local-date global solar eclipse query. Determine whether a global solar eclipse overlaps the local date, using NASA bulletin Split-K by default.

func SolarEclipseOnDateIAUSingleK

func SolarEclipseOnDateIAUSingleK(date time.Time) (SolarEclipseInfo, bool)

SolarEclipseOnDateIAUSingleK 当地自然日全局日食查询(IAU Single-K) / local-date global solar eclipse query with IAU Single-K. Determine whether a global solar eclipse overlaps the local date with the IAU Single-K model.

func SolarEclipseOnDateNASABulletinSplitK

func SolarEclipseOnDateNASABulletinSplitK(date time.Time) (SolarEclipseInfo, bool)

SolarEclipseOnDateNASABulletinSplitK 当地自然日全局日食查询(NASA bulletin Split-K) / local-date global solar eclipse query with NASA bulletin Split-K. Determine whether a global solar eclipse overlaps the local date with the NASA bulletin Split-K model.

type SolarEclipsePartialAreaInfo

type SolarEclipsePartialAreaInfo = SolarEclipsePartialFootprintsInfo

SolarEclipsePartialAreaInfo 是 SolarEclipsePartialFootprintsInfo 的兼容别名。 SolarEclipsePartialAreaInfo is a compatibility alias for SolarEclipsePartialFootprintsInfo.

func SolarEclipsePartialArea

func SolarEclipsePartialArea(date time.Time, options SolarEclipsePartialAreaOptions) (SolarEclipsePartialAreaInfo, bool)

SolarEclipsePartialArea 偏食足迹兼容包装 / compatibility wrapper for penumbral footprints. SolarEclipsePartialArea computes penumbral footprint samples and is a compatibility wrapper for SolarEclipsePartialFootprints.

func SolarEclipsePartialAreaIAUSingleK

func SolarEclipsePartialAreaIAUSingleK(date time.Time, options SolarEclipsePartialAreaOptions) (SolarEclipsePartialAreaInfo, bool)

SolarEclipsePartialAreaIAUSingleK 偏食足迹兼容包装(IAU Single-K) / compatibility wrapper for penumbral footprints with IAU Single-K. SolarEclipsePartialAreaIAUSingleK is a compatibility wrapper for SolarEclipsePartialFootprintsIAUSingleK.

func SolarEclipsePartialAreaNASABulletinSplitK

func SolarEclipsePartialAreaNASABulletinSplitK(date time.Time, options SolarEclipsePartialAreaOptions) (SolarEclipsePartialAreaInfo, bool)

SolarEclipsePartialAreaNASABulletinSplitK 偏食足迹兼容包装(NASA bulletin Split-K) / compatibility wrapper for penumbral footprints with NASA bulletin Split-K. SolarEclipsePartialAreaNASABulletinSplitK is a compatibility wrapper for SolarEclipsePartialFootprintsNASABulletinSplitK.

type SolarEclipsePartialAreaOptions

type SolarEclipsePartialAreaOptions = SolarEclipsePartialFootprintOptions

SolarEclipsePartialAreaOptions 是 SolarEclipsePartialFootprintOptions 的兼容别名。 SolarEclipsePartialAreaOptions is a compatibility alias for SolarEclipsePartialFootprintOptions.

type SolarEclipsePartialFootprint

type SolarEclipsePartialFootprint struct {
	// Time 时刻,保持用户输入时区, time in the input location.
	Time time.Time
	// Boundaries 是半影边界分段;反经线或无效投影会拆成多段。
	// Boundaries are segmented penumbral boundary polylines, split at invalid projections or the antimeridian.
	Boundaries [][]SolarEclipsePathPoint
	// Closed 表示 Boundaries 是否构成一个闭合边界。
	// Closed indicates whether Boundaries form one closed boundary.
	Closed bool
}

SolarEclipsePartialFootprint 表示某一时刻的半影足迹边界。 SolarEclipsePartialFootprint is the penumbral footprint boundary at one instant.

type SolarEclipsePartialFootprintOptions

type SolarEclipsePartialFootprintOptions struct {
	// Step 是基础时间采样步长;<=0 时使用 5 分钟。
	// Step is the base time step; values <= 0 use five minutes.
	Step time.Duration
	// BoundaryPoints 是每个瞬时半影边界的角向采样点数;<=0 时使用 180。
	// BoundaryPoints is the angular sample count for each instantaneous penumbral boundary; values <= 0 use 180.
	BoundaryPoints int
}

SolarEclipsePartialFootprintOptions 控制日食偏食半影足迹采样。 SolarEclipsePartialFootprintOptions controls solar eclipse penumbral footprint sampling.

type SolarEclipsePartialFootprintsInfo

type SolarEclipsePartialFootprintsInfo struct {
	// Eclipse 是对应的全局日食信息, related global solar eclipse information.
	Eclipse SolarEclipseInfo
	// Footprints 是按时间采样的瞬时半影足迹, sampled instantaneous penumbral footprints.
	Footprints []SolarEclipsePartialFootprint
	// Step 是实际采用的基础时间采样步长, effective base time step.
	Step time.Duration
	// BoundaryPoints 是实际采用的边界角向采样点数。
	// BoundaryPoints is the effective angular sample count for each boundary.
	BoundaryPoints int
}

SolarEclipsePartialFootprintsInfo 表示一次日食的偏食半影足迹序列。 SolarEclipsePartialFootprintsInfo contains penumbral footprint samples for a solar eclipse.

func SolarEclipsePartialFootprints

func SolarEclipsePartialFootprints(date time.Time, options SolarEclipsePartialFootprintOptions) (SolarEclipsePartialFootprintsInfo, bool)

SolarEclipsePartialFootprints 日食偏食足迹查询 / solar eclipse penumbral footprints query. SolarEclipsePartialFootprints computes penumbral footprint samples near the given date, using NASA bulletin Split-K by default.

func SolarEclipsePartialFootprintsIAUSingleK

func SolarEclipsePartialFootprintsIAUSingleK(date time.Time, options SolarEclipsePartialFootprintOptions) (SolarEclipsePartialFootprintsInfo, bool)

SolarEclipsePartialFootprintsIAUSingleK 日食偏食足迹查询(IAU Single-K) / solar eclipse penumbral footprints query with IAU Single-K. SolarEclipsePartialFootprintsIAUSingleK computes penumbral footprint samples with the IAU Single-K model.

func SolarEclipsePartialFootprintsNASABulletinSplitK

func SolarEclipsePartialFootprintsNASABulletinSplitK(date time.Time, options SolarEclipsePartialFootprintOptions) (SolarEclipsePartialFootprintsInfo, bool)

SolarEclipsePartialFootprintsNASABulletinSplitK 日食偏食足迹查询(NASA bulletin Split-K) / solar eclipse penumbral footprints query with NASA bulletin Split-K. SolarEclipsePartialFootprintsNASABulletinSplitK computes penumbral footprint samples with the NASA bulletin Split-K model.

type SolarEclipsePath

type SolarEclipsePath struct {
	// Eclipse 是对应的全局日食信息, related global solar eclipse information.
	Eclipse SolarEclipseInfo
	// Greatest 是食甚点/最佳观测点, greatest eclipse point.
	Greatest SolarEclipsePathPoint
	// CenterLine 是中心线, central line.
	CenterLine []SolarEclipsePathPoint
	// NorthernLimit 是中心食带北界近似线, approximate northern limit of the central path.
	NorthernLimit []SolarEclipsePathPoint
	// SouthernLimit 是中心食带南界近似线, approximate southern limit of the central path.
	SouthernLimit []SolarEclipsePathPoint
	// Step 是实际采用的基础时间采样步长, effective base time step.
	Step time.Duration
	// TargetSpacingKM 是实际采用的目标空间采样距离,单位千米。
	// TargetSpacingKM is the effective target spacing in kilometers.
	TargetSpacingKM float64
}

SolarEclipsePath 表示一次中心日食的路径数据。 SolarEclipsePath contains central solar eclipse path data.

func SolarEclipseCentralPath

func SolarEclipseCentralPath(date time.Time, options SolarEclipsePathOptions) (SolarEclipsePath, bool)

SolarEclipseCentralPath 日食中心路径查询 / central solar eclipse path query. SolarEclipseCentralPath computes the central path near the given date, using NASA bulletin Split-K by default.

func SolarEclipseCentralPathIAUSingleK

func SolarEclipseCentralPathIAUSingleK(date time.Time, options SolarEclipsePathOptions) (SolarEclipsePath, bool)

SolarEclipseCentralPathIAUSingleK 日食中心路径查询(IAU Single-K) / central solar eclipse path query with IAU Single-K. SolarEclipseCentralPathIAUSingleK computes the central path with the IAU Single-K model.

func SolarEclipseCentralPathNASABulletinSplitK

func SolarEclipseCentralPathNASABulletinSplitK(date time.Time, options SolarEclipsePathOptions) (SolarEclipsePath, bool)

SolarEclipseCentralPathNASABulletinSplitK 日食中心路径查询(NASA bulletin Split-K) / central solar eclipse path query with NASA bulletin Split-K. SolarEclipseCentralPathNASABulletinSplitK computes the central path with the NASA bulletin Split-K model.

type SolarEclipsePathOptions

type SolarEclipsePathOptions struct {
	// Step 是基础时间采样步长;<=0 时使用 1 分钟。
	// Step is the base time step; values <= 0 use one minute.
	Step time.Duration
	// TargetSpacingKM 是相邻中心线点的最大目标地表距离;<=0 时不按距离加密。
	// TargetSpacingKM is the target maximum ground spacing between centerline points; values <= 0 disable spacing refinement.
	TargetSpacingKM float64
}

SolarEclipsePathOptions 控制日食中心路径采样。 SolarEclipsePathOptions controls central solar eclipse path sampling.

type SolarEclipsePathPoint

type SolarEclipsePathPoint struct {
	// Time 时刻,保持用户输入时区, time in the input location.
	Time time.Time
	// Longitude 经度,东正西负, longitude in degrees, east positive.
	Longitude float64
	// Latitude 纬度,北正南负, latitude in degrees, north positive.
	Latitude float64
	// SunAltitude 太阳高度角,单位度, Sun altitude in degrees.
	SunAltitude float64
	// WidthKM 中心食带宽度,单位千米;仅中心线点有意义。
	// WidthKM is the central path width in kilometers; meaningful for centerline points.
	WidthKM float64
}

SolarEclipsePathPoint 表示日食路径上的一个地理点。 SolarEclipsePathPoint is one geographic point on a solar eclipse path.

type SolarEclipseRadiusModel

type SolarEclipseRadiusModel string

SolarEclipseRadiusModel 日食月亮半径模型, lunar radius model for solar eclipses.

const (
	// SolarEclipseModelIAUSingleK IAU 单一 k 值模型, IAU single-k model.
	SolarEclipseModelIAUSingleK SolarEclipseRadiusModel = "iau_single_k"
	// SolarEclipseModelNASABulletinSplitK NASA bulletin 分裂 k 值模型, NASA bulletin split-k model.
	SolarEclipseModelNASABulletinSplitK SolarEclipseRadiusModel = "nasa_bulletin_split_k"
)

type SolarEclipseType

type SolarEclipseType string

SolarEclipseType 全局日食食型, global solar eclipse type.

const (
	// SolarEclipseNone 无日食, no solar eclipse.
	SolarEclipseNone SolarEclipseType = "none"
	// SolarEclipsePartial 日偏食, partial solar eclipse.
	SolarEclipsePartial SolarEclipseType = "partial"
	// SolarEclipseAnnular 日环食, annular solar eclipse.
	SolarEclipseAnnular SolarEclipseType = "annular"
	// SolarEclipseTotal 日全食, total solar eclipse.
	SolarEclipseTotal SolarEclipseType = "total"
	// SolarEclipseHybrid 全环食, hybrid solar eclipse.
	SolarEclipseHybrid SolarEclipseType = "hybrid"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL