首页 > 其他分享 >SPICE/SpiceyPy学习记录整理(二)-- 工具包安装与介绍

SPICE/SpiceyPy学习记录整理(二)-- 工具包安装与介绍

时间:2024-04-07 18:31:16浏览次数:9  
标签:-- Toolkit 工具包 Library 文档 SpiceyPy 安装 SPICE

目录

一、 获取、安装和引用SPICE Toolkit

1.1 获取SPICE Toolkit

1.2 安装SPICE Toolkit

1.3 检查是否安装成功

二、Toolkit介绍

2.1 工具包架构

2.2 Matlab Toolkit--Mice 

2.3 Toolkit特点

2.4 工具包目录结构

三、Toolkit Library介绍

3.1 Toolkit Library概述

3.2 Toolkit Library功能


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 工具包架构        

图 1 工具包架构图

2.2 Matlab Toolkit--Mice 

        Mice为许多CSPICE包装程序提供了一个可在matlab中调用的包装接口,例如对于CSPICE中的程序:

spkezr_c(targ,et,ref,abcorr,obs,state,&ltime);

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转换
  • 输入输出支持
  • 意外事件处理
  • 更高级的数据格式

标签:--,Toolkit,工具包,Library,文档,SpiceyPy,安装,SPICE
From: https://blog.csdn.net/buaaspring/article/details/137467806

相关文章

  • UML之用例图和案例分享
    目录一、概述:参与者(Actors):用例(UseCases):关系(Relationships):二、用途:        UML用例图是用于描述系统功能需求和用户与系统之间的交互关系的一种图形化建模工具。它主要用于捕捉系统的功能性需求,以及系统与外部参与者之间的交互行为。一、概述:参与者(Actors):在......
  • Java集合常用类及使用特点
    Java集合框架提供了一组接口和类,用于存储和操作对象集合。它包括常用的数据结构,如列表、集合、映射等,以及对应的实现类。主要接口和类:List(列表):允许重复元素,按照插入顺序存储。常用实现类有ArrayList(查询快、增删慢)和LinkedList(增删快、查询慢)。ArrayListvs.LinkedList:Ar......
  • 分治思想排序(快速排序、归并排序)
    分治:分而治之,即把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并优点:降低时间复杂度:分治法可以将大问题分解为小问题,通过解决小问题来有效解决原问题,从而降低算法的时间复杂......
  • 用HTML5写奥林帕斯奖简介
    一、用VSCODE写奥林帕斯奖简介代码1、以.html为结尾写主要代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0">&......
  • Android Studio学习14——认识Activity的启动模式
    默认情况下都是Standard模式借鉴other借鉴2......
  • C++初级----string类(STL)
    1、标准库中的string1.1、sring介绍    字符串是表示字符序列的类,标准的字符串类提供了对此类对象的支,其接口类似于标准字符容器的接口,但是添加了专门用于操作的单字节字符字符串的设计特性。    string类是使用char,即作为他的字符类型,使用他默认的char_tr......
  • csdn博客自定义模块:显示实时天气、日历、随机语录代码
    目录1.样式说明2.效果展示3.代码下载1.样式说明vip会员或者博客专家可以自定义模块代码,比如我博客的样式,有这几部分组成:灯笼祝福(我这里是龙年快乐,可以自定义更改任何字)、滚动欢迎语(我这里是欢迎访问我的博客,可以自定义更改任何欢迎语)github链接、知乎链接、邮箱发......
  • Android Studio学习13——认识Activity的页面任务栈
    ......
  • 倍思、南卡和韶音的开放式耳机怎么样?布恰饭产品深入测评!
    在这个手机不离手的快节奏时代,蓝牙耳机自然是越多越多人的选择,而随着耳机种类的进化迭代,开放式蓝牙耳机类型,也随之被大众熟知。开放式耳机的不入耳设计拥有更加舒适的佩戴体验,不会持续施加压力和损伤耳朵,能够减少身体的负担。现在各大品牌都在不断地进行产品研发,市场上有许多产......
  • 说说TCP为什么需要三次握手和四次挥手?
    一、三次握手三次握手(Three-wayHandshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备过程如下:第一次握手:客户端给服务端发一个SYN报文,并指明客......