- 博客(74)
- 资源 (5)
- 收藏
- 关注
原创 Cesium天空盒子(Skybox)制作(js代码)和显示
在Cesium中,星空背景是通过天空盒子方式(6张图片)来显示的,原生的图片分辨率太低,本项目用于生成天空盒子的6张图片。最终生成的6个图片大小约为500kb(每个),格式为jpg,总共的恒星数目约为1万颗左右,在最终的地球星空背景中,仅出现恒星点,不会出现模糊的效果!Cesium与STK中的天空盒子(skybox)。
2024-08-14 21:25:14 678
原创 STK中的光照计算模型
本文简要阐述STK中光照计算的模型。光照计算时,主要考虑的是地球对太阳的遮挡(其它天体也是类似的),见下图所示地面站和飞行器的光照示意图。对于地面站(左图),考虑地球遮挡,当太阳在当地水平面之上时(对应的太阳的高度角大于0),即地面站为光照状态;反之则为阴影状态。对于空间飞行器(上面右图),如卫星,当飞行器与太阳连线不被地球遮挡时,则飞行器为光照状态;反之则为阴影状态。实际计算时,地球形状考虑为椭球体。下面根据以上所涉及到的光照场景,详细讨论。
2024-05-15 22:30:55 1976
原创 月球地形数据介绍(LOLA)
LOLA介绍LOLA数据的处理与发布数据类型和格式投影坐标系数据下载与浏览目前最新的月球地形高程数据来源于美国2009年发射的LRO探测器。“月球勘测轨道器”(Lunar Reconnaissance Orbiter,LRO)是NASA“机器人月球探测计划”的首个探测器,于2009年6月18日用宇宙神-5运载火箭发射。任务目标是绘制月球特征和月球资源网,用于未来月球前哨站的设计和建造。
2024-04-19 21:37:24 1883 1
原创 大气密度模型:Jacchia-Robert
最简单,也最容易计算的大气密度模型为静止大气模型,即考虑地球为一圆球体,大气密度随着高度呈指数衰减。大气密度仅仅与高度相关,与地固系下具体位置无关,也与太阳辐射和地磁通量无关。显然,静止大气模型容易计算,但是却与实际情形不符合。对于近地轨道,地球大气密度与太阳辐射和地磁通量密切相关,从而导致地球上空每个地方的密度都不相同,且随着时间的变化而变化,见下图。简单来说,大气密度与大气温度密切相关,而大气温度主要受到太阳辐射和地磁活动影响(称之为空间环境扰动),从而造成地球上空每个地方的温度都不一样!!
2024-02-06 11:49:11 1907
原创 椭球面系列---大地坐标和笛卡尔坐标的相互转换
椭球体下,尤其是地球的旋转椭球体下,大地坐标和笛卡尔坐标的相互转换是最基础的算法了。本章给出两种坐标系下相互转换的原理及相应的转换公式,供参考。
2024-01-04 11:16:07 2171
原创 椭球面系列---直线上离椭球面最近的点
前面给出了射线与椭球体的交点问题的求解,本节讨论当射线与椭球面无交点时,那么在椭球面上离射线最近的点在那里?上图推导过程中虽然依赖射线,但是整个过程都是与直线相关的,也就是说,射线的方向不影响结论。实际编程计算时需要考虑射线情况时,对于上图右图情形,显然射线方向离椭球体距离越来越远,最近点即为。综合以上性质,我们可以知道,利用射线可以求得截面内垂直于射线的向量。
2023-12-26 10:50:26 1149
原创 椭球面系列---射线与椭球面的交点
射线与椭球体的交点问题的求解是一个非常常见和经典的问题,本文给出具体的计算原理和矩阵表达的过程,便于编程计算。在继续计算前,记住之前我们的假设:椭球面和直线等坐标都是在椭球为中心的笛卡尔坐标系下。时,表示射线与椭球面有两个交点。求得后,带入式(1)即可得到。时表示射线与椭球面不相交。时表示射线与椭球面相切。见下图,已知射线(点为。),那么与椭球面的交点。首先,射线上任意一点。
2023-12-25 20:55:25 400 1
原创 使用Jest测试Cesium源码
在使用Cesium时,我们常常需要编写自己的业务代码,其中需要引用Cesium的源码,这样方便调试。此外,目前代码中直接使用ES6的模块(Import等语法),而不是之前的CommonJS方式。本文介绍如何使用流行的前端测试工具jest来实现自动化测试。此处暂时使用nodejs来调试代码,不涉及浏览器。Cesium自身包含总多的测试代码(Spec文件夹下),并使用Jasmine来运行测试。不过它的测试都是所有文件打包好后再测试的,不便于我们单独测试某一个类。因此本文使用Jest来单独进行测试。
2023-10-05 22:18:06 1313 1
原创 Cesium打包入门(gulp与esbuild)
本文针对Cesium源码包的打包工具gulp和esbuild进行了初步探讨,属于入门篇。首先简要介绍采用gulp+esbuild如何为多个源代码文件打包成一个单独文件,然后介绍了下Cesium中的源码包的结构,并简要分析了其打包的相关函数。
2022-12-26 16:03:16 2793
原创 Cesium中的相机—setView&lookAtTransform
作为相机系列,此处先温习一下前期涉及到Cesium中Camera的两个概念(系列文章可参考我前面发的“Cesium中的相机–”系列)。回顾相机的空间位置Cesium中,世界坐标系就是地球的WGS84系,也即地球固连坐标系(Earth Fiexed),在此坐标中定义相机的位置与观测方位。相机坐标系见下图(使用Hubble望远镜示意相机),在Camera对象中,通常用三个矢量来表示:Up、Right和Direction,这三个方向确定了相机的观测方位。Up、Right、Direction与相机坐标系(视
2022-05-10 21:57:24 7649 1
原创 Cesium中gltf模型的坐标系
Cesium中使用gltf格式的模型,而gltf格式的模型的坐标系在加载到Cesium中后,Cesium会自动变换坐标系。本文简要阐述gltf模型的坐标系加载前后的变化。gltf模型可以使用各种3D制图工具来进行模型的制作,例如3dsMax,Maya,Blender。在Blender中不仅可以制作模型,而且具备导出模型为gltf格式的功能。我们可以使用visual studio code来打开gltf模型,不过需要gltf插件:gltf Tools,此处不再详述。在vsc中可以可视化的方式显示三维
2022-04-07 15:29:33 4491 3
原创 STK/Component/Cesium中的月球坐标系的计算
下图中,已如某飞行器在地球惯性系(ICRS或GCRS或ICRF)中T时刻的位置,那么如何求解此飞行器T时刻在月球坐标系下的位置(速度)?显然,这个问题涉及到两个方面,一是月球相对地球的位置(即地月的星历),二是ICRS到月球坐标轴的转换。在STK桌面软件、Stk Comonent算法库、Cesium中均涉及到月球坐标系,其实这三者本一家,内部的算法也基本一致,但是由于月球的特殊性导致在涉及到月球坐标系计算的时候常常搞不清。月球坐标系主要指:月球惯性系(Moon Inertial)与月球固连系(Moon
2022-04-03 17:28:06 4054 1
原创 .net程序的许可证书发布(.NET Reactor软件)
我们使用微软.Net编写程序生成的代码(.net 程序集,dll或exe)很容易被反编译程序(.net reflector)查看源代码,另一方面,有时我们希望我们的成果受到保护,例如只能在固定的电脑上运行(license文件),或者设置使用次数,过期作废等。.NET Reactor就是这样一款软件,用来保护我们的.net程序集。本文简述使用.net reactor加密.net程序集,并且配置license文件,使得程序只能在固定的机器上运行。保护程序集步骤选项卡"Files"中,“Main As
2022-03-20 22:25:50 1837
原创 麒麟系统(Linux)上配置Nginx服务反向代理asp.net core 应用程序
本文阐述了如何设置Nginx来反向代理Asp.Net Core应用程序。同时配置后Nginx和Asp.Net Core应用程序都可以随着服务器启动而自动启动。
2021-09-14 21:12:33 2532
原创 麒麟服务器上安装.Net Core环境并发布web网站
下载安装.net 5.0 SDK根据Net Core 微软linux推荐的方式安装,只有redhat,centos,ubuntu,debian,fedora 等大牌的linux发行版安装,可以看微软的文章来查看支持的linux和安装方式Get started with .NET in 10 minutes,对于国内的linux发行版,没有明确的指示。 我使用是中标麒麟系统,根据命令的方式,类似redhat的发行版,但是根据redhat的安装方式,无法安装。所以支持采取最原始的方式来安装,压缩包安装。采用
2021-09-13 21:41:25 7824 2
原创 Cesium中通过Primitive显示大量的点以及点的运动
如果想在Cesium中显示一个点,目前有这么几种方法:PrimitiveEntityczml文件GeoJson文件等如果要显示大量的点呢?比如几千个,几万个,甚至是几十万,上百万个?那么什么场景要用到显示这么多点呢?在航天领域,就是地球空间的所有在轨物体了,包括火箭残骸、解体碎片、卫星、飞船等各种航天器。目前老美空间目标监测能力最强,几乎给空间所有的可探测物体都进行了编目,每天都有更新,总数目约有2万个左右。从CelesTrak.com网站,我们可以下载到最新的所有空间物体的两行根数TLE
2021-08-29 22:31:07 9247 1
原创 Windows系统发布Asp.Net core应用到IIS上
如何在windows系统上发布一个Asp.net core应用的网站?踩了不少坑,现在简单总结如下。亲测有效的系统:windows 7 x64windows 10 x64windows server 2016 x64具体步骤如下:1.Net Core SDK安装.Net Core SDK是一组库和工具,开发人员可用其创建 .NET 应用程序和库。它包含以下用于构建和运行应用程序的组件:.NET CLI。.NET 库和运行时。dotnet 驱动程序。只有安装了.Net运行时才能运
2021-08-23 13:03:49 549
原创 VSCode实现Cesium的智能提示功能
之前在“VSC调试Cesium代码及模块功能初探”介绍了在vs code中如何调试cesium的源代码中的部分函数。目前看来,在整体引入Cesium时就无能为力了。从1.70版本开始,CesiumJS附带了正式的TypeScript类型定义,即Cesium.d.ts文件。d.ts大名叫TypeScript Declaration File,里面存放一些声明,类似于C/C++的.h头文件。d.ts文件的一个越来越广泛的应用场景是编辑器智能提示(具体见IntelliSense based on TypeScr
2021-08-17 22:20:49 3281 4
原创 ASP.Net Core创建STK WMTS服务
在前面文章中,介绍了如何在STK中,通过插件(ArcGIS REST Client插件和Web Map Services插件),使得STK中的3D窗口(2D窗口目前不支持)可直接自动加载网络地图。详见:STK加载WMS、WMTS服务当在局域网内,怎么办?也就是说我们有了类似谷歌街道图或谷歌卫星图的瓦片数据,如何搭建一个提供WMTS的网站?使得STK在局域网内仍然可以链接大容量地图数据服务?本文使用ASP.Net Core搭建网络地图瓦片服务(WMTS)。本节内容需具备WMTS基础知识和Asp.net
2021-07-25 17:28:28 922 4
原创 ASP.NETCore 配置 跨域(CORS)
本文介绍如何在 ASP.NET Core 的应用程序中启用 CORS。问题描述浏览器安全性可防止网页向不处理网页的域发送请求。 此限制称为同域策略(CORS)。 同域策略可防止恶意站点从另一站点读取敏感数据。 有时,你可能想要允许其他站点对你的应用进行跨域请求,这时就要配置CORS策略了。最近在使用ASP.NET CORE 3.1编写Web API时,写了几个有关轨道计算方面的功能函数,供网上调用,采用windows server 2019上的IIS服务托管。Web API提供的功能主要是POST方
2021-07-07 21:44:02 2088
原创 GDAL库的C#开发配置
GDAL简介GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。OGR是GDAL项目的一个分支,功能与GDAL类似,只不过它提供对矢量数据的支持。有很多著名的GIS类产品都使用了GDAL/OGR库,包括ESRI的ARCGIS 9.3,Google Earth和跨平台的GRASS GIS系统。GDAL可以的开发环境有很多,如python,C#。本文主要阐述C#环境开发下GDAL的配置。C#利用GDAL库开发时,主要是加
2021-06-08 09:32:13 3802 1
原创 STK中的VVLH坐标系及方位角、高度角
STK中,附着在卫星上的有许多坐标系,例如:VNC、LVLH、VVLH等。以及在定义某矢量方向时,需要使用方位角、高度角的概念。VVLH坐标系和方位角(Az)、高度角(El)的示意见下图。VVLHVVLH坐标系全称为:Vehicle Velocity Local Horizontal coordinate system。对于卫星,其坐标系原点在卫星本体质心处(求解姿态相关时,与原点无关),VVLH三个坐标轴的定义如下(前右后坐标系):X: 沿飞行方向,由Y×Z确定;Y: 轨道面负法向;Z:
2021-05-18 15:51:43 12827 2
原创 “HTTP 错误 500.19”的错误解决方法
IIS发布网站在使用windows系统发布网站时,采用IIS,见下图流程有关IIS发布网站的详细步骤可参考:使用IIS创建Cesium本地服务器HTTP 错误 500.19我使用的为阿里云服务器,操作系统为:windows server 2019。我采用ASP.Net WebApi开发完后,发布到网站上(将文件夹拷贝到服务器上,参见上图中的D:\WebApi_CA),访问时出现"HTTP 错误 500.19 - Internal Server Error "错误。在网络上搜索了好多中方法,发现主
2021-05-09 21:38:41 19649 3
转载 ZZ: ASP.NET WebApi(post) Json请求太大,无法反序列化问题解决方法
转载自:https://blog.csdn.net/andy_5826_liu/article/details/92995776最近使用 ASP.NET 开发一个WebApi程序时遇到的问题,请求参数为json格式,返回参数也为json格式。控制器的方法接收参数为一个具体类的形参,运行时(post请求),asp.net帮我把json字符串反序列化为我自定义的类对象。但是我发现当post的请求json数据量太大时,反序列化失败,导致接收到的类对象为null。解决方法如下:修改web.config配置两
2021-05-08 16:23:26 2097
原创 Blender学习笔记-印花(decal)贴图
最近学习blender制作模型,特将学习心得记录下来,供参考。今天的心得是如何将贴图(英文名为decal)贴在另一张贴图的表面上,常用于文字、logo的图案制作。视频教程(可在最后的链接下载)最后的结果如下图所示:底图使用木头贴图;在不同的面上实现不同贴花的覆盖,贴花的分辨率要大于木头贴图的分辨率。还可实现贴花的文字或图形凹凸或发光的效果。整个视频的内容要点如下:贴花(decal)贴图为png图片,具备alpha通道(透明通道),通常为文字、公司logo图案等。底层贴图为普通jpg图像,
2020-12-27 12:03:45 3149
原创 Cesium与STK中的天空盒子(skybox)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器在Cesium3D场景中,你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页
2020-11-27 21:03:48 7600 6
原创 Cesium中的儒略日JulianDate
在天文和卫星轨道计算中,有关儒略日的计算是一个绕不开的话题。本章阐述下Cesium中有关儒略日的处理方法。涉及到的时间系统,如UTC,TAI等,这里不再详细阐述,读者自行阅读专业书籍或者网上查询。Cesium中,使用JulianDate模块来处理儒略日的计算,具体为Cesium软件包目录中的文件:"\Source\Core\JulianDate.js"。几种时间系统首先简要阐述下几个不同时间系统的概念。UTC(coordinated universal time),也称协调时间时。也就是我们现在
2020-09-06 00:15:04 3230
原创 Cesium中的地球坐标系转换:岁差章动计算(XYs)
从本章开始,介绍下Cesium中有关地球坐标系转换的相关内容。在Cesium中,默认的中心天体为地球,且涉及到的地球坐标系有地心固连系和地心惯性系。地心固连系,即地固系,Cesium和STK软件里都用Fixed表示,在IERS中的正式表示为:ITRF(或ITRS)(international terrestrial reference frame)。此坐标系和我们常见的WGS84系基本一致,仅微小差别。地心惯性系,Cesium和STK软件里都用ICRF表示,也是IERS中的正式表述:ICRF(或IC
2020-08-29 19:44:35 6215
原创 阿波罗载人登月Apollo任务发射时刻统计
Apollo任务发射时刻统计任务发射日期(日/月/年)发射时刻发射窗口前沿发射窗口后沿窗口时长(时:分:秒)是否准时发射发射方位角821/12/687:51:00 am EST7:50:22am EST12:31:40 pm EST4:41:18Yes72.124°1018/5/6912:49:00 pm EDT12:49:00 pm EDT5:09:00 pm EDT4:20:00Yes72.028°1116/7/699:32:
2020-07-11 12:01:29 391
原创 Cesium加载月球WMTS服务
今天给大家介绍一个好东西:月球的各种WMTS服务。对于地球的各种地图服务,如卫星图片、街道地图等各种地图服务,已有多种服务提供商(百度、微软、谷歌),并且提供多种方式,如WMTS、WMS、TMS等等。对于地球以外的行星(或月球),NASA根据已经拍摄的卫星影像,也发布了相应的地图服务,通过WMTS方式。NASA提供WMTS的网址为:https://trek.nasa.gov/tiles/ap...
2020-04-13 21:55:13 3467 4
原创 VSC调试Cesium代码及模块功能初探
本文主要介绍:介绍Cesium的新特性-使用ES6 标准的模块,而舍弃了AMD的模块调用方式使用vsc(visual studio code)调试Cesium代码。什么?你还不知道vsc?那赶紧去学吧!ES6 JavaScript 模块(module)ES6之间的javascript没有原生的模块,导致编写js代码及其痛苦。当我们的代码要编写很多的时候,最理想的是按照代码的类别放在不同...
2020-02-20 22:28:06 4986
原创 使用IIS创建Cesium本地服务器
研究学习Cesium少不了创建本地服务器。创建本地服务器有多种方式:IIS(微软windows系统自带)、Tomcat、Python、NodeJS。后面几种方式的创建请参考之前的博文:使用Tomcat架设Cesium本地服务器(含Nodejs,Python方法)本文介绍使用微软自身的Web服务器组件(IIS)创建Cesium本地服务器,步骤非常简单。对IIS不熟悉的同学自行百度或谷歌。Cesi...
2020-02-18 23:28:20 2152
原创 推荐视频:线性代数的本质
看了这个视频,对线性代数的又有新的理解,果然温故而知新啊。现在想想,大学学的线性代数真是学的太渣了!线性代数的本质-系列合集p1 序言p2 向量究竟是什么p3 线性组合,张成的空间与基p4 矩阵与线性变换p5 矩阵乘法与线性变换复合p6 三维空间中的线性变换p7 行列式p8 逆矩阵,列向量与零空间p9 非方阵p10 点积与对偶型p11 叉积的标准介绍p12 以线性变换的...
2020-02-05 18:18:54 357
原创 兰伯特(Lambert)方程的求解算法3
在前2篇文章中,介绍了兰伯特方程的基本概念,并给出了无量纲飞行时间TTT的具体的算法,且给出了由时间TTT求解自变量xxx的具体算法。本章给出最终的算法:转移轨道两端点p1、p2p_1、p_2p1、p2的径向和横向速度。速度V的求解(VLAMB)输入:μ\muμ,中心天体的引力常数;r1r_1r1,转移轨道起点P1P_1P1到引力中心C的距离 (m);r2r_2r2,转移轨道...
2020-02-02 15:46:22 3358 1
原创 兰伯特(Lambert)方程的求解算法2
在前一文章中,介绍了兰伯特方程的基本概念,并给出了给出具体的算法,并不打算给出详细的过程。各位读者可参照此算法及相应的代码进行编程计算。...
2020-01-31 19:31:00 3887
原创 兰伯特(Lambert)方程的求解算法1
本文针对兰伯特方程给出具体的算法,并不打算给出详细的过程。各位读者可参照此算法及相应的代码进行编程计算。
2020-01-27 10:12:36 11159 1
A Procedure for the Solution of Lambert's Orbital Boundary V.pdf
2020-01-19
python首次连接STK
2019-01-26
轨道力学程序代码(Fortran)
2016-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人