这个项目能做什么
AstronomyKit 是一个用于计算太阳、月亮、行星和恒星位置的 Swift 库。它可预测月相、食、凌日和升落时间,基于 VSOP87 和 NOVAS C 3.1 模型,并针对 JPL Horizons 验证,精度达 ±1 角分。它完全在设备端运行,构建于 Don Cross 的 Astronomy Engine C 库之上。
主要功能包括:
- 太阳、月亮、行星以及木星伽利略卫星的位置
- 一次调用获取黄道位置和速度(经度、纬度、距离及变化率)
- 月相角、四相、照明和天平动
- 基于 J2000 星表坐标的用户自定义恒星
- 2060 Chiron 的引力模拟位置(使用预先计算的 JPL Horizons 状态向量)
- 升起、落下和中天时间
- 月食和日食预测
- 分点和至点
- 赤道、黄道、地平及银河坐标系统之间的坐标变换
- 行星合、冲及相对经度搜索
- 拱点、距角和凌日(水星/金星凌日)
- 针对自定义天文事件的通用求根搜索
- 完全符合 Sendable,支持 Swift 6 并发
支持的日期范围约为 −2000 至 +6000(距 J2000 约 4,000 儒略年),冥王星范围较窄(约 −100 至 +4100)。对于 1900–2100 年,该库评估完整 VSOP87B 模型的多项式近似;未通过回归检查的区段或覆盖范围之外的日期会回退到原始级数。多项式表在打包前增加约 11.5 MB,运行时无需下载。
该库支持 macOS 15+、iOS 18+、tvOS 18+、watchOS 11+ 和 Linux,需要 Swift 6.0+。可通过 Swift Package Manager 获取。DocC 文档在线托管。有两个应用基于它构建:Fallow(一个月亮断食伴侣)和 Edict(一个择日占星规划器)。采用 MIT 许可证。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。