当前位置: 首页 > news >正文

STK12与Python联合仿真(一):环境搭建

环境搭建

  • 安装STK 12
  • 安装Python和Jupyter notebook
  • 关键一步
  • STK配置
  • But

安装STK 12

需要STK 12安装包和po解以及安装说明的,可以点我主页给我发邮件,我会尽快回复邮件并发送安装方法

安装Python和Jupyter notebook

这个各大博主都有讲解,附上几个链接吧
Jupyter Notebook介绍、安装及使用教程 @ 知乎 豆先生
jupyter notebook自动补全 @ CSDN 怎么会有不写代码的小朋友呢
1. python安装时一定要选择让pip在系统的环境变量里
2. 要记住自己Python的安装路径,后面有用

关键一步

在STK的安装目录里找到<your path>:STK\bin\AgPythonAPI里面的agi.stk12-12.2.0-py3-none-any.whl
我的是 F:\STK\bin\AgPythonAPI
路径栏中输入cmd,表示在当前目录中打开命令行
在这里插入图片描述
输入 pip install <TAB> 然后 Enter安装(TAB键是自动补全,因为该目录下就这一个文件,所以会很轻易的自动补全)
在这里插入图片描述

STK配置

其实STK也可以不配置,看个人喜好,按照官网的视频要求是要配置的

  1. 打开STK,如图,先把创建场景的弹窗关掉,然后点击Python的那个图标
    在这里插入图片描述

  2. 配置 Python路径,前文所说要记住自己Python路径的作用就有了
    在这里插入图片描述
    这是我自己Python的路径,第一个路径选中Python.exe就对了
    在这里插入图片描述
    第二个就是Scripts文件了,就在同一级目录,然后双击进去后点击确定就可以了
    在这里插入图片描述
    配置完之后Lunch就可以了,另外那两个勾我是都勾上的
    在这里插入图片描述

  3. 然后你就得到一个在软件里面的,狭小的notebook
    在这里插入图片描述

  4. 先不管这个,先完成其他的配置,我们新建一个场景,随便起个名字
    File > New > Name任意 > OK
    在这里插入图片描述
    进入的时间要卡一会,等一会就好了,进去后如下:
    在这里插入图片描述
    先把插入的那个close掉

然后在Edit > Preference 里面找到 Intergrated Jupyter Notebooks for Python
在这里插入图片描述
注意这个localhost,每个人可能不一样,我们把他复制下来,打开你的浏览器,直接输进浏览器的地址行,回车进入

在这里插入图片描述
在这里插入图片描述
这里需要登录,不过没关系啊,我们按照他的说法,随便打开一个命令,输入jupyter notebook list 找到localhost和你一样的那一个,这里我的是5281,然后把token复制下来(在命令行中,选中完成后右击一下即可完成复制)
在这里插入图片描述

粘贴在这里
在这里插入图片描述
然后 New Password随便输入就可以了,123都行,点击下面的Log in and …
在这里插入图片描述
点击进入StarterScripy
就能看到舒适版的了

But

这个方法我自认为有点繁琐,而且路径不能自己定义,以下方法可以自己创建notebook并且链接上去
我们新建一个场景后,可以用如下方式打开Python 视窗

  1. View>Toolbars>Intergrate … (如图)
    在这里插入图片描述
    然后,就会多出来这个
    在这里插入图片描述
    点一下那个Python的图标,就会弹出来了
    在这里插入图片描述
    然后进入绿色已开启的笔记本,在最后一行加入STK_PID
    运行
    记住这个PID,这里是40556,每个人的可能不一样
    在这里插入图片描述
    然后,自己新建笔记本,我的方法是直接在想要放的路径中,打开cmd用ipython notebook

输入以下代码,要修改的就是那个STK_PID,这个是根据刚才那一步得到的

from agi.stk12.stkdesktop import STKDesktop
from agi.stk12.stkobjects import *
from agi.stk12.stkutil import *
from agi.stk12.vgt import *
import os
STK_PID = 40556  # 根据自己刚刚得到的PID
stk = STKDesktop.AttachToApplication(pid=int(STK_PID))
# stk = STKDesktop.StartApplication(visible=True) #using optional visible argument
root = stk.Root
print(type(root))

在这里插入图片描述
如果允许成功了,就说明连接到STK了
由于我们已经创建了场景
因此,我们只要让代码连结现有的场景就可以了

scenario = root.CurrentScenario # 链接当前场景
scenario.SetTimePeriod('Today','+24hr') # 日期设置为今天
root.Rewind() # 复位

新建两个简单的组件

# 添加地面站
target = AgTarget(scenario.Children.New(AgESTKObjectType.eTarget,"GroundTarget"))
target.Position.AssignGeodetic(50,-100,0)
# 添加卫星
satellite = AgSatellite(root.CurrentScenario.Children.New(AgESTKObjectType.eSatellite,"LeoSat"))
print(scenario.StartTime)
print(scenario.StopTime)
root.ExecuteCommand('SetState */Satellite/LeoSat Classical TwoBody "' + 
                    str(scenario.StartTime) + '" "' + str(scenario.StopTime) + 
                    '" 60 ICRF "' + str(scenario.StartTime) + '" 7200000.0 0.0 90 0.0 0.0 0.0');

STK会同步更新组件
在这里插入图片描述

相关文章:

  • java基于mvc的高校教师科研信息管理系统
  • 机器学习 - 平均中位数模式——python
  • VScode常用插件(C/C++开发)
  • 死锁产生的条件及其预防
  • 数学建模笔记-第十四讲-主成分分析
  • 网课公众号题库接口API
  • 数学建模笔记 因子分析
  • 网课查题接口 搜题公众号对接题库教程
  • 7. 内置函数range()、循环结构
  • 利率浮动幅度bp什么意思,浮动利率bps换算百分比
  • 多个类型实现同一接口的方法
  • UE5物体高亮显示(蓝图版)
  • 解决el-tree子节点过多导致渲染缓慢问题
  • Selenium-下拉选择框、弹出框、滚动条操作
  • 机器学习算法——K近邻算法详解
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 2017 年终总结 —— 在路上
  • Android框架之Volley
  • CSS实用技巧干货
  • js递归,无限分级树形折叠菜单
  • JWT究竟是什么呢?
  • mockjs让前端开发独立于后端
  • php面试题 汇集2
  • Python中eval与exec的使用及区别
  • Tornado学习笔记(1)
  • win10下安装mysql5.7
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 码农张的Bug人生 - 见面之礼
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 06-01 点餐小程序前台界面搭建
  • ​520就是要宠粉,你的心头书我买单
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #{}和${}的区别是什么 -- java面试
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (12)Linux 常见的三种进程状态
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十八)三元表达式和列表解析
  • ***测试-HTTP方法
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET CLR Hosting 简介
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET 药厂业务系统 CPU爆高分析
  • .net打印*三角形
  • .NET连接MongoDB数据库实例教程
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • [20150707]外部表与rowid.txt
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [Angular 基础] - 指令(directives)
  • [C#][DevPress]事件委托的使用
  • [C#]winform部署PaddleOCRV3推理模型