Cesiumczml创建卫星轨迹并模拟卫星扫描

更新时间:2023-06-28 19:03:36 阅读: 评论:0

Cesiumczml创建卫星轨迹并模拟卫星扫描
english poem最近⼀直在弄卫星轨迹的运动,并且模拟卫星扫描;
four先晒个结果:
while和when的区别之前做了sgp4模拟卫星轨道,但是那个真实性太差,通过sgp4⽣成的轨道是不动的,真实的情况下卫星的轨道也是运动的,所以⼀般来说还得通过czml来⽣成轨道展⽰卫星运动;
在未加载扫描功能之前,单独加载czml可以正常展⽰卫星的运动情况,但后续客户提出了加上扫描功能,以及计算卫星何时过境,在某个时间段内会有哪⼏颗卫星过境;
先说下⼤致的思路:其中如动图所⽰,扫描的样式是⽤cylinder做的,这个后续会再完善成波纹形状;主要还是运⽤了sampleproperty,将卫星运动的time和position也绑定到cylinder上,并且将cylinder的⾼度修改为卫星的⼀半;
以下是核⼼代码:
var property;
viewer.dataSources.add(Cesium.CzmlDataSource.load("../l")).then(function(dataSource) {
satellite = ById("Satellite/GAOFEN 1");
property = new Cesium.SampledPositionProperty();
for (var ind = 0; ind < 292; ind++) {
var time = Cesium.JulianDate.addSeconds(clock.currentTime, 300*ind, new Cesium.JulianDate());
var position = Value(time);
var cartographic = ellipsoid.cartesianToCartographic(position);
var lat = Degrees(cartographic.latitude),
lng = Degrees(cartographic.longitude),参数英语
kda是什么意思hei = cartographic.height / 1.9;
property.addSample(time, Cesium.Cartesian3.fromDegrees(lng, lat, hei));摩登家庭第5季
}
reply是什么意思
cylinderEntity.position = property;
cylinderEntity.position.tInterpolationOptions({ //设定位置的插值算法
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
Tick.addEventListener(function(clock) {
if (property) {
var time = clock.currentTime;
var val = Value(clock.currentTime);
console.log(val);
}
});for the horde
});
ps:之前想通过clock的ontick事件,然后监听卫星的位置再改变cylinder的位置,后来发现没法在这个ontick⾥⾯通过pep三年级英语上册
cylinderEntity.position = 某个值  来达到⽬的,后来想了⼀下  可能是渲染机制的问题(纯属猜测),不信的朋友可以试下,是没效果的;

本文发布于:2023-06-28 19:03:36,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/160783.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:扫描   位置   功能   模拟   运动   后续   不信   轨道
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图