EphemerisSources.jl:Julia 中符合语言习惯的星历获取与解析
摘要
天文学、天体动力学、天体物理学及其他相关领域的学生和专业人士经常从两个主要提供商下载并解析有关太阳系天体的数据——星历数据:JPL 公开的 [通用 SPICE 内核](https://naif.jpl.nasa.gov/pub/naif/generic_kernels/) 和 JPL 的 [Horizons 平台](https://ssd.jpl.nasa.gov/horizons/)。SPICE 内核通常通过 SPICE Toolkit 读取,该工具包支持多种编程语言,包括带有 `CSPICE` [@cspice] 的 C 编程语言。Julia 软件包 [`CSPICE_jll.jl`](https://github.com/JuliaBinaryWrappers/CSPICE_jll.jl) 和 [`SPICE.jl`](https://github.com/JuliaAstro/SPICE.jl) 通过 Julia 函数暴露了许多 `CSPICE` 函数。Julia 用户可以通过 `SPICE.furnsh` 和 `SPICE.spkez` 等方法加载并交互使用 SPICE 内核。Horizons 通过多种方式提供数据,包括电子邮件、命令行、图形化 Web 界面以及 [REST API](https://ssd-api.jpl.nasa.gov/doc/horizons.html) [@horizons]。本文介绍了几个软件包——`SPICEKernels.jl`、`SPICEBodies.jl`、`HorizonsAPI.jl` 和 `HorizonsEphemeris.jl`——允许用户完全在 Julia 环境内以符合语言习惯的方式下载和处理笛卡尔状态矢量数据。尽管星历数据有多种形式,包括观测者表、密切轨道根数和二进制格式,但这些软件包目前主要针对笛卡尔状态矢量(位置和速度)星历数据。通过使用这些软件包,用户可以共享可复现的代码,自动从公开的星历源获取数据,而无需在源代码分发中手动包含星历数据文件。
引用
@article{arxiv.2411.12774,
title = {EphemerisSources.jl: Idiomatic Ephemeris Sourcing and Parsing in Julia},
author = {Joseph D. Carpinelli},
journal= {arXiv preprint arXiv:2411.12774},
year = {2024}
}
备注
3 pages, zero figures, published in the Journal of Open Source Software at https://joss.theoj.org/papers/10.21105/joss.06914