STK Components 二次开发-创建卫星
1.卫星数据
可以用stk 里面自带的 参数帮助文档。
也可以自己下载
CelesTrak: Current GP Element Sets
这里你所需要的最新卫星数据全有。
其实创建需要的就是卫星的二根数。
给定二根数也可以。
读取数据库中的卫星数据
这个接口优先下载最新的。
var tleList = TwoLineElementSetHelper.GetTles(m_satelliteIdentifier, JulianDate.Now);
也可直接指定
var issTle =new TwoLineElementSet(@"1 25544U 98067A 10172.34241898 .00007451 00000-0 60420-4 0 36272 25544 51.6459 209.3399 0009135 352.3227 186.5240 15.71934500664129");
2.创建卫星对象
// Propagate the TLE and use that as the satellite's location point.
var issPoint = new Sgp4Propagator(issTle).CreatePoint();
var m_satellite= new Platform
{Name = "ISS",LocationPoint = issPoint,OrientationAxes = new AxesVehicleVelocityLocalHorizontal(earth.FixedFrame, issPoint),
};
3.设置卫星名称
var labelExtension = new LabelGraphicsExtension(new LabelGraphics
{Text = new ConstantCesiumProperty<string>(m_satellite.Name),FillColor = new ConstantCesiumProperty<Color>(Color.White),
});
m_satellite.Extensions.Add(labelExtension);
4.设置卫星模型
// Configure a glTF model for the satellite.
m_satellite.Extensions.Add(new ModelGraphicsExtension(new ModelGraphics{// Link to a binary glTF file.Model = new CesiumResource(GetModelUri("satellite.glb"),CesiumResourceBehavior.LinkTo),// By default, Cesium plays all animations in the model simultaneously, which is not desirable.RunAnimations = false,}));
设置卫星轨迹线颜色
// Configure graphical display of the orbital path of the satellite
m_satellite.Extensions.Add(new PathGraphicsExtension(new PathGraphics
{// Configure the visual appearance of the line.Material = new PolylineOutlineMaterialGraphics{Color = new ConstantCesiumProperty<Color>(Color.White),OutlineWidth = new ConstantCesiumProperty<double>(1.0),OutlineColor = new ConstantCesiumProperty<Color>(Color.Black),},Width = 2,// Lead and Trail time indicate how much of the path to render.LeadTime = Duration.FromMinutes(44).TotalSeconds,TrailTime = Duration.FromMinutes(44).TotalSeconds,
}));
完成后的样子

完整代码
private void CreateSatellite(){// Get the current TLE for the given satellite identifier.var tleList = TwoLineElementSetHelper.GetTles(m_satelliteIdentifier, JulianDate.Now);// Use the epoch of the first TLE, since the TLE may have been loaded from offline data.m_epoch = tleList[0].Epoch;// Propagate the TLE and use that as the satellite's location point.var locationPoint = new Sgp4Propagator(tleList).CreatePoint();m_satellite = new Platform{Name = "Satellite " + m_satelliteIdentifier,LocationPoint = locationPoint,// Orient the satellite using Vehicle Velocity Local Horizontal (VVLH) axes.OrientationAxes = new AxesVehicleVelocityLocalHorizontal(m_earth.FixedFrame, locationPoint),};// Set the identifier for the satellite in the CZML document.m_satellite.Extensions.Add(new IdentifierExtension(m_satelliteIdentifier));// Configure a glTF model for the satellite.m_satellite.Extensions.Add(new ModelGraphicsExtension(new ModelGraphics{// Link to a binary glTF file.Model = new CesiumResource(GetModelUri("satellite.glb"), CesiumResourceBehavior.LinkTo),// By default, Cesium plays all animations in the model simultaneously, which is not desirable.RunAnimations = false,}));// Configure a label for the satellite.m_satellite.Extensions.Add(new LabelGraphicsExtension(new LabelGraphics{// Use the name of the satellite as the text of the label.Text = m_satellite.Name,// Change the color of the label after 12 hours. This demonstrates specifying that // a value varies over time using intervals.FillColor = new TimeIntervalCollection<Color>{// Green for the first half day...new TimeInterval<Color>(JulianDate.MinValue, m_epoch.AddDays(0.5), Color.Green, true, false),// Red thereafter.new TimeInterval<Color>(m_epoch.AddDays(0.5), JulianDate.MaxValue, Color.Red, false, true),},// Only show label when camera is far enough from the satellite,// to avoid visually clashing with the model.DistanceDisplayCondition = new Bounds(1000.0, double.MaxValue),}));// Configure graphical display of the orbital path of the satellite.m_satellite.Extensions.Add(new PathGraphicsExtension(new PathGraphics{// Configure the visual appearance of the line.Material = new PolylineOutlineMaterialGraphics{Color = Color.White,OutlineWidth = 1.0,OutlineColor = Color.Black,},Width = 2.0,// Lead and Trail time indicate how much of the path to render.LeadTime = Duration.FromMinutes(44.0).TotalSeconds,TrailTime = Duration.FromMinutes(44.0).TotalSeconds,}));}
生成czml
public void WriteDocument(TextWriter writer){// Configure the interval over which to generate data.// In this case, compute 1 day of data.var dataInterval = new TimeInterval(m_epoch, m_epoch.AddDays(1));// Create and configure the CZML document.var czmlDocument = new CzmlDocument{Name = "CesiumDemo",Description = "Demonstrates CZML generation using STK Components",RequestedInterval = dataInterval,// For this demonstration, include whitespace in the CZML// to enable easy inspection of the contents. In a real application,// this would usually be false to reduce file size.PrettyFormatting = true,// Configure the clock on the client to reflect the time for which the data is computed.Clock = new Clock{Interval = dataInterval,CurrentTime = dataInterval.Start,Multiplier = 15.0,},};// Add all of our objects with graphical extensions.czmlDocument.ObjectsToWrite.Add(m_satellite);// Write the CZML.czmlDocument.WriteDocument(writer);}
相关文章:
STK Components 二次开发-创建卫星
1.卫星数据 可以用stk 里面自带的 参数帮助文档。 也可以自己下载 CelesTrak: Current GP Element Sets 这里你所需要的最新卫星数据全有。 其实创建需要的就是卫星的二根数。 给定二根数也可以。 读取数据库中的卫星数据 这个接口优先下载最新的。 var tleList TwoL…...
【深度学习】因果推断与机器学习的高级实践 | 数学建模
文章目录 因果推断因果推断的前世今生(1)潜在结果框架(Potential Outcome Framework)(2)结构因果模型(Structual Causal Model,SCM) 身处人工智能爆发式增长时代的机器学…...
【华为OD】B\C卷真题 100%通过:字符串统计 C/C++实现
目录 题目描述: 示例1 代码实现: 【华为OD】B\C卷真题 100%通过:字符串统计 C/C实现 题目描述: 给定两个字符集合,一个为全量字符集,一个为已占用字符集。已占用的字符集中的字符不能再使用,要求输出剩…...
SparkSession介绍
一、 介绍 SparkSession是Spark 2.0中引入的新概念,它是Spark SQL、DataFrame和Dataset API的入口点,是Spark编程的统一API,也可看作是读取数据的统一入口;它将以前的SparkContext、SQLContext和HiveContext组合在一起࿰…...
Error PostCSS plugin autoprefixer requires PostCSS 8
文章目录 一、情况一二、情况二三、总结 在启动 vue项目时,突然控制台报错: Error: PostCSS plugin autoprefixer requires PostCSS 8。然后依次出现下面几种情况,依次解决完,项目就可以正常启动了 一、情况一 error in ./src/…...
纵观手机市场,手机即鏖战全面屏
9月13日,在相继发布Apple TV、Apple Watch 和iPhone 8/8 Plus之后,当大家都以为苹果新品发布会临近结束之时,苹果前CEO史蒂夫乔布斯的这句经典名言再现屏幕,iPhone X终于揭开了神秘面纱。 “One more thing”。 9月13日ÿ…...
基于C#实现Dijkstra算法
或许在生活中,经常会碰到针对某一个问题,在众多的限制条件下,如何去寻找一个最优解?可能大家想到了很多诸如“线性规划”,“动态规划”这些经典策略,当然有的问题我们可以用贪心来寻求整体最优解࿰…...
【数据结构】树与二叉树(廿三):树和森林的遍历——层次遍历(LevelOrder)
文章目录 5.3.1 树的存储结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法5.3.3 树和森林的遍历1. 先根遍历(递归、非递归)2. 后根遍历(递归、非递归)3. 森林的遍历4. 层次遍历a. 算法LevelOrderb. 算法解读c. 时间复杂度d.代码…...
常用连接池的使用(jdbc)java 连接数据库
C3P0 导入依赖 <!-- https://mvnrepository.com/artifact/c3p0/c3p0 --><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency><!-- https://mvnrepository.c…...
linux嵌入式时区问题
目录 操作说明实验参考 最近有个针对时区的需求,研究了下。 查询网上的一些设置,发现基本都是系统中自带的一些文件,然后开机时解析,或者是有个修改的命令。 操作 但针对嵌入式常用到的 busybox 制作的最小系统,并没…...
Spring基于xml注入bean的几种方式; Spring 框架中都用到了哪些设计模式;Spring的自动装配
文章目录 Spring基于xml注入bean的几种方式:Spring的自动装配:在Spring框架xml配置中共有5种自动装配:基于注解的方式: Spring 框架中都用到了哪些设计模式? Spring基于xml注入bean的几种方式: ࿰…...
name 属性:提高 Vue 应用可维护性的关键
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
百战python04-循环结构
文章目录 趣味进度条:通过一个简单的进度条来进入循环的世界吧for-in循环语法内置函数range()练习:累和下面是使用for循环对字符串(第一个for)、range函数的循环取值示例for循环对字典、列表取值(后面会讲解字典,列表)while循环while循环实现猜数字小游戏结束循环的操…...
JVM字节码文件的相关概述解读
Java全能学习面试指南:https://javaxiaobear.cn 1、字节码文件 从下面这个图就可以看出,字节码文件是可以跨平台使用的 想要让一个Java程序正确地运行在JVM中,Java源码就必须要被编译为符合JVM规范的字节码。 https://docs.oracle.com/java…...
什么是轻量应用服务器?可以从亚马逊云科技的优势入手了解
什么是轻量应用服务器? 随着如今各行各业对云计算的需求越来越多,云服务器也被越来越多的企业所广泛采用。其中,轻量应用服务器是一种简单、高效、可靠的云计算服务,能够为开发人员、企业和个人提供轻量级的虚拟专用服务器&#x…...
HUAWEI华为MateBook X Pro 2022 12代酷睿版(MRGF-16)笔记本电脑原装出厂Windows11系统工厂模式含F10还原
链接:https://pan.baidu.com/s/1ZI5mR6SOgFzMljbMym7u3A?pwdl2cu 提取码:l2cu 华为原厂Windows11系统工厂包,带F10一键智能还原恢复功能。 自带指纹、面部识别、声卡、网卡、显卡、蓝牙等所有驱动、出厂主题壁纸、Office办公软件、华为…...
Vue3 响应式数据 reactive使用
ref 与 reactive 是 vue3 提供给我们用于创建响应式数据的两个方法。 reactive 常用于创建引用数据,例如:object、array 等。 reactive 则是通过 proxy 来实现的响应式数据,并配合 reflect 操作的源对象。 reactive 创建引用数据࿱…...
Kafka 如何实现顺序消息
版本说明 本文所有的讨论均在如下版本进行,其他版本可能会有所不同。 Kafka: 3.6.0Pulsar: 2.9.0RabbitMQ 3.7.8RocketMQ 5.0Go1.21github.com/segmentio/kafka-go v0.4.45 结论先行 Kafka 只能保证单一分区内的顺序消息,无法保证多分区间的顺序消息…...
什么是 Jest ? Vue2 如何使用 Jest 进行单元测试?Vue2 使用 Jest 开发单元测试实例
什么是Jest? Jest 是一个流行的 JavaScript 测试框架,由 Facebook 开发并维护,专注于简单性和速度。它通常用于编写 JavaScript 和 TypeScript 应用程序的单元测试、集成测试和端到端测试。 特点: 简单易用: Jest 提供简洁的 API 和易于理解的语法,使得编写测试用例变得…...
【云原生 Prometheus篇】Prometheus架构详解与核心组件的应用实例(Exporters、Grafana...)
Prometheus Part1 一、常用的监控系统1.1 简介1.2 Prometheus和zabbix的区别 二、Prometheus2.1 简介2.2 Prometheus的主要组件1)Prometheus server2)Exporters3)Alertmanager4)Pushgateway5)Grafana 2.3 Prometheus的…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
