cesium entity与时间轴关联(添加运动轨迹)

news2024/10/7 20:31:46

在这里插入图片描述
在这里插入图片描述

1、先添加一个entity实体

用model加载一个飞机实体

let entity = viewer.entities.add({
   position: Cesium.Cartesian3.fromDegrees(120, 21),
   model: {
       uri: "/static/Cesium_Air.glb",
       minimumPixelSize: 128,
       maximumScale: 20000,
   },
 })
viewer.trackedEntity = entity;

2、利用cesium中SampledPositionProperty的addSample方法将数据中经纬度与时间关联

在这里插入图片描述
根据图片可以看出addsample方法
1、第一个参数为cesium中时间julianDate格式,可以用 Cesium.JulianDate.fromDate(new Date())来进行转换,将标准时间转换成julianDate格式(JulianDate还有很多方法可转换很多时间格式这里不做过多讲解,可自行去文档中学习)
2、第二个参数为经纬度坐标Cartesian3格式,可以用Cesium.Cartesian3.fromDegrees()方法进行转换
3、第三个参数这里没有用到是可选的,这里不做解释

2.1、飞行路径数据

let position = [{lon:120,lat:21,height:1000,time:'2023-05-21 08:00:00'},{lon:121,lat:22,height:1500,time:'2023-05-21 10:00:00'},{lon:122,lat:23,height:2500,time:'2023-05-21 12:00:00'}]

2.2、根据2.1提供的经纬度和时间用SampledPositionProperty中方法将其绑定

// 取样位置 相当于实例化一个集合
  let property = new Cesium.SampledPositionProperty();
  for (let i = 0; i < position.length; i++) {
        let time = Cesium.JulianDate.fromDate(new Date(position[i].time));
        let positions = Cesium.Cartesian3.fromDegrees(position[i].longitude, position[i].latitude, position[i].altitude);
        // 添加位置,和时间对应
        property.addSample(time, positions);
 }

3、上面2中我们将时间与经纬度关联就差放到实体中让他们去动了

3.1从2.2中我们得到了一个经纬度与时间相关联的一个聚合(property )将他们付给entity中的position中

let entity = viewer.entities.add({
 position:property,
 model: {
     uri: "/static/Cesium_Air.glb",
     minimumPixelSize: 128,
     maximumScale: 20000,
 },
})
viewer.trackedEntity = entity;

3.2下面我们利用availability方法将实体与时间轴相关联

在这里插入图片描述

let entity = viewer.entities.add({
availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
         start: Cesium.JulianDate.fromDate(new Date("2023-05-21 08:00:00")),
         stop: Cesium.JulianDate.fromDate(new Date("2023-05-21 12:00:00"))
       })]),
  position:property,
  model: {
      uri: "/static/Cesium_Air.glb",
      minimumPixelSize: 128,
      maximumScale: 20000,
  },
})
viewer.trackedEntity = entity;

到这里我们大功告成 下面是我修改了cesium时间轴时间,

4、外部用到的小知识(修改cesium时间抽初始时间)

viewer.clock.startTime = Cesium.JulianDate.fromDate(new Date("2023-05-21 08:00:00"));//开始时间
viewer.clock.stopTime = Cesium.JulianDate.fromDate(new Date("2023-05-21 12:00:00"));//结束时间
viewer.clock.currentTime = Cesium.JulianDate.fromDate (new Date("2023-5-21 08:00:00"));//当前时间
``

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/552010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LIN-报文结构

文章目录 协议规范一、字节场二、报文头&#xff08;HEADER FIELDS&#xff09;同步间隔&#xff08;synchronisation break)同步场&#xff08;SYNCH FIELD&#xff09;标识符场&#xff08;IDENTIFIER FIELD&#xff09; 三、数据场&#xff08;DATE FIELDS&#xff09;四、校…

【负载均衡式在线OJ】 数据库

文章目录 41.使用Postman进行综合调试42.了解-前端预备52. 添加oj用户到MySQL53. 使用MySQL_Workbench创建表结构54. 测试录题功能55.重新设计oj_model56.编写oj_model具体代码57.MySQL综合测试58.结项与项目扩展思路 41.使用Postman进行综合调试 完善判题功能 先编译再测试 …

SpingBoot简介—helloworld

目录 一、使用idea创建第一个SpringBoot项目 二、Hello World 三、整体项目结构 一、使用idea创建第一个SpringBoot项目 在进行这一步时&#xff0c;可能会遇到问题&#xff0c;如下图所示&#xff1a; 在这里解决方法有以下四种&#xff1a; &#xff08;1&#xff09;方法1&…

国内AI大模型 VS chatgpt (20)-- H265/H264有何不同,h265有什么优势?

H265/H264有何不同&#xff0c;h265有什么优势? 文心一言&#xff1a; H.264和H.265是两种不同的视频编码标准&#xff0c;它们在压缩质量和带宽需求方面有所不同。 H.264是一种高效的视频压缩标准&#xff0c;它的编码单位是宏块&#xff08;macroblock&#xff09;&#…

XML配置方式整合SSM框架实现用户登录

文章目录 一&#xff0c;创建数据库与表&#xff08;一&#xff09;创建数据库&#xff08;二&#xff09;创建用户表&#xff08;三&#xff09;在用户表里插入记录 二&#xff0c;创建Maven项目三&#xff0c;项目添加相关依赖四&#xff0c;创建日志属性文件五&#xff0c;创…

Aspose.Tasks for Java 23crack

Aspose.Tasks for Java 23crack 新属性允许您控制“分配成本”和“剩余成本”的自动计算。 Aspose.Tasks for Java是一个项目管理API&#xff0c;可帮助您操作Microsoft project文档。开发人员可以定义项目的主要属性和默认属性以及日历信息。他们还可以指定工作日和日历例外情…

【5.21】六、自动化测试—持续集成测试

目录 6.4 持续集成测试 6.4.1 持续集成的概念 6.4.2 持续集成测试框架设计 6.4 持续集成测试 持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff09;是软件开发DevOps&#xff08;DevelopmentOperations&#xff09;中的一个概念&#xff0c;它强调的是软…

【第十一届泰迪杯数据挖掘挑战赛】A 题:新冠疫情防控数据的分析 思路+代码(持续更新)

【第十一届泰迪杯数据挖掘挑战赛】A 题&#xff1a;新冠疫情防控数据的分析 思路代码&#xff08;持续更新&#xff09; 问题背景解决问题代码下载数据分析Task1Task2Task3Task4 问题背景 自 2019 年底至今&#xff0c;全国各地陆续出现不同程度的新冠病毒感染疫情&#xff0c;…

目标检测复盘 --4. Faster RCNN

Fast RCNN的性能得到了很大的提升&#xff0c;但是还是有很大一部分开销在候选框的生成模块&#xff0c;也就是SS算法&#xff0c;Faster RCNN使用一个网络专门干这个事&#xff0c;从而加快整体检测速度&#xff0c;能达到5帧每秒。所以这里的FasterRCNN也就是RPNFastRCNN RPN…

opencv_c++学习(十六)

一、线性滤波 均值滤波&#xff1a; blur(InputArray src, utputArray dst,Size ksize, Point anchor Point(-i,-1), int borderType BoRDER_DEFAULT)src:待均值滤波的图像&#xff0c;图像的数据类型必须是CV_8U、CV_16U、CV_16S、CV_32F和CV_64F这五种数据类型之一。 ds…

详解RGB和XYZ色彩空间转换之上

前言 首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R,G,B&#xff0c;而是波长分别为700nm&#xff0c;546.1nm&#xff0c;435.8nm的单色红光&#xff0c;单色绿光&#xff0c;单色蓝光。sRGB中的RGB中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB…

Java配置类整合SSM框架实现用户登录

文章目录 一&#xff0c;创建数据库与表&#xff08;一&#xff09;创建数据库&#xff08;二&#xff09;创建用户表&#xff08;三&#xff09;在用户表里插入记录 二&#xff0c;创建Maven项目三&#xff0c;添加相关依赖四&#xff0c;创建日志属性文件五&#xff0c;创建数…

自动化测试与手工测试的区别是什么?

目录 什么是自动化测试? 自动化测试与手工测试的区别 自动化测试的困境 什么是自动化测试? 自动化测试是指利用软件测试工具自动实现全部或部分测试&#xff0c;它是软件测试的一个重要组成 部分&#xff0c;能完成许多手工测试无法实现或难以实现的测试。能够正确、合理地…

DAY 62 mysql的高级语句

表连接查询 MYSQL数据库中的三种连接&#xff1a; inner join(内连接)&#xff1a;只返回两个表中联结字段相等的行&#xff08;有交集的值&#xff09;left join(左连接)&#xff1a;返回包括左表中的所有记录和右表中联结字段相等的记录right join(右连接)&#xff1a;返回…

【P28】JMeter 测试活动(Flow Control Action)

文章目录 一、测试活动&#xff08;Flow Control Action&#xff09;参数说明二、测试计划设计2.1、Pause 2.2、Break Current Loop2.3、Stop 一、测试活动&#xff08;Flow Control Action&#xff09;参数说明 控制取样器流程 选择线程组右键 >>> 添加 >>&g…

chatgpt赋能Python-python8_3

Python 8%3 - 了解Python中的求余运算 Python是一种通用编程语言&#xff0c;具有广泛的应用领域&#xff0c;如Web开发、数据分析、机器学习等。在Python中&#xff0c;求余运算是一种重要且常用的运算。本文将介绍Python中的求余运算&#xff0c;并且重点讲解Python中的8%3的…

【二叉树】(一)

&#x1f58a;作者 : D. Star. &#x1f4d8;专栏 : 数据结构 &#x1f606;今日分享 : 为什么阴干的衣服会有味道? 衣服上超过三分之二的污垢来自我们身体外部的分泌物&#xff0c;即汗水和皮脂。如果在洗衣服的过程中皮脂没有洗干净的话&#xff0c;它就可以成为衣服&#x…

计算机基础数据结构和算法动态可视化展示网站收录

计算机中有很多数据结构、算法对于小白来说非常难理解&#xff0c;交互式动画一步步展示整个过程可以帮助我们快速准确地理解这些算法。我们整理了12个可动态交互和展示常见数据结构和排序、图算法等网站&#xff0c;总计12个 收录到 webhub123​www.webhub123.com/#/home/de…

C 学习笔记 —— 内存操作函数

文章目录 内存操作函数memcpy实例 memmove内存重叠问题 memcmp实例 memset不能任意赋值 参考资料 内存操作函数 内存操作函数也是在<string.h>头文件中的 四个内存函数&#xff1a; memcpy(内存拷贝&#xff09; memmove&#xff08;内存移动&#xff09; memcmp&#…

C++ 期末冲刺3h

C 1. 基础程序 #include "iostream" // C头文件 #include "stdio.h" // C 头文件 //using namespace std; // 命名空间// main() 是程序开始执行的地方int main() {std::cout << "Hello, World!" << "\n";return 0; …