目录
SPICE官方课程学习文档链接:
https://naif.jpl.nasa.gov/naif/tutorials.html
一、 获取、安装和引用SPICE Toolkit
1.1 获取SPICE Toolkit
所有官方的NAIF支持的SPICE工具包实例都可以从NAIF服务器免费获得,不需要任何密码或者登录信息:https://naif.jpl.nasa.gov/naif/toolkit.html。选择你所需的对应版本下载即可,NAIF官方提供Fortran、C、IDL、Matlab和Java版本的工具包,若要使用第三方语言工具包请参考官方链接:https://naif.jpl.nasa.gov/naif/links.html,本专栏仅使用Matlab版本和Python版本(Spiceypy)工具包,其他版本工具包使用方法类似,请自行查阅官方文档进行学习。
1.2 安装SPICE Toolkit
对于官方提供的安装包,只需将下载完成的安装包放在合适的路径下(YourPath),解压安装包即可完成安装。在解压完成的文件中已经包含了所有的API模块和库文件并已经编译,同时还包含几个Toolkit的实用程序exe文件(YourPath\exe),在大多数情况下,你不需要重新做任何构建工作!但请继续阅读一些特殊情况,例如对于某些编程环境,需要额外的步骤来准备使用SPICE进行编程,对于某些编程环境,有一些建议的附加步骤使程序开发更容易,请阅读编程准备教程和工具箱下载目录中的README文件以获取更多信息。
对于第三方提供的安装包(Spiceypy),推荐采用Anaconda进行Python环境的搭建,在Anaconda Prompt中创建你所需的python环境(具体请参考其他博客),并进入到该环境中,输入下属指令进行安装:
conda install spiceypy
某些情况下,例如你将清华源作为conda下载路径,可能无法正常安装spiceypy,这时直接采用pip安装即可:
pip install spiceypy
Welcome to SpiceyPy’s documentation! — SpiceyPy 5.1.2 documentation
1.3 检查是否安装成功
对于官方提供的安装包,可以运行Toolkit的实用程序exe文件进行验证,例如运行tobin.exe文件,该文件将Toolkit提供的SPICE传输格式SPK文件转换为二进制格式。可用传输格式SPK文件cook_01.tsp和cook_02.tsp可以在data文件夹中找到。
cd YourPath\exe
tobin ..\data\cook_o1.tsp
运行成功后,可以在YourPath\data文件夹中看到cook_01.bsp文件。
对于spiceypy,运行以下程序即可检查是否安装成功,输出结果就是你安装的工具包版本。
----Code----
import tkvrsn
tkvrsn.print_ver()
----Output----
CSPICE_N0066
二、Toolkit介绍
2.1 工具包架构
2.2 Matlab Toolkit--Mice
Mice为许多CSPICE包装程序提供了一个可在matlab中调用的包装接口,例如对于CSPICE中的程序:
spkezr_c(targ,et,ref,abcorr,obs,state,<ime);
Matlab提供了对应的函数:
[state,ltime] = cspice_spkezr(targ,et,ref,abcorr,obs);
根据需要,所有Mice Toolkit包都包含完整的CSPICE工具包,每个Mice包装器脚本都有一个包含用法示例的文档头,作为SPICE模块头,可从help命令获得。该文档也以HTML页面的形式存在。
-
2.3 Toolkit特点
- 所有语言的计算都是相同的
- 对于给定的计算机和操作系统,所有工具包都使用相同的内核文档。 请参阅“Porting Kernels”教程,了解如何使用从其他及其中使用内核文件
- 代码在发布给用户之前经过了充分的测试
- 新工具包始终向后兼容
- 提供大量面向用户的文档
2.4 工具包目录结构
- data
cook示例内核(仅用于tobin程序的培训)
- doc
文本文档
包含HTML文档的子目录,称为HTML。
- etc
在大多数 Toolkit 中,此目录为空
- exe
某些SPICE应用进程和实用进程的可执行文档:brief, chronos, ckbrief, commnt, dskbrief, dskexp, frmdiff, inspekt,mkdsk, mkspk, msopck, spacit, spkdiff, spkmerge, tobin, toxfr, version。
几个cookbook示例程序的可执行文件:simple, states, subpt, tictoc。
- include
API头文件
- lib
Tookit libraies
- src
可执行文档和库的源代码目录
三、Toolkit Library介绍
3.1 Toolkit Library概述
Toolkit Library(工具包库)包含与确定观测几何和时间转换所需的计算相关的一组广泛的功能,但四个语言版本中有的并没有提供所有库功能,Fortran (Toolkit)和C (CSPICE)工具包提供了几乎相同的功能而IDL (Icy)和Matlab (Mice)工具包复制了C工具包中可用的大部分功能,如果时间允许,NAIF会添加额外的接口。
3.2 Toolkit Library功能
- 读取内核文件
- 二进制内核的内核写访问权限
- 额外的星历函数:经典轨道要素、二体轨道预报、TLE预报、光时和恒星像差计算等
- 坐标转换
- 时间转换
- 几何事件计算器
- 数学计算
- 常数
- 字符串函数
- 数组函数
- Name/ID转换
- 输入输出支持
- 意外事件处理
- 更高级的数据格式