Cesium.js综合实验

Cesium.js综合实验

1 概述

Cesium是一个跨平台、跨浏览器的展示三维地球和地图的开源 JavaScript 库,是AGI公司计算机图形开发小组与2011年研发的三维地球和地图可视化开源JavaScript库,Cesium一词来源于化学元素铯,铯是制造原子钟的关键元素,研发小组通过命名强调Cesium产品精益求精,专注时间数据可视化。Cesium为三维GIS提供了一个高效的数据可视化平台。即[1]:

(1)Cesium是一个跨平台、跨浏览器的展示三维地球和地图的JavaScript

(2)Cesium使用WebGL来进行硬件加速图形,使用时不需要任何插件支持。

(3)Cesium是基于Apache2.0许可的开源程序,可以免费用于商业和非商业用途。

img

Cesium的知识体系,跨GIS、Web前端和图形学。Cesium的简单结构如下图所示:

请添加图片描述

2 实验工具及技术原理

Cesium用于地理数据可视化。支持海量数据的高效渲染,支持时间序列动态数据的三维可视化,具备太阳、大气、云雾等地理环境要素的动态模拟和地形等要素的加载绘制。包含丰富的可用工具。即Cesium基本控件所提供的工具,如地理编码器,图层选择器等[2]。

Cesium在项目中的定位如下图:

img

主要的功能有:

(1)使用3d tiles格式流式加载各种不同的3d数据,包含倾斜摄影模型、三维建筑物、CAD和BIM的外部和内部,点云数据。并支持样式配置和用户交互操作。

(2)全球高精度地形数据可视化,支持地形夸张效果、以及可编程实现的等高线和坡度分析效果。

(3)支持多种资源的图像图层,包括WMS,TMS,WMTS以及时序图像。图像支持透明度叠加、亮度、对比度、GAMMA、色调、饱和度都可以动态调整。支持图像的卷帘对比。

(4)支持标准的矢量格式KML、GeoJSON、TopoJSON、以及矢量的贴地效果。

(5)三维模型支持gltf2.0标准的PRB材质、动画、蒙皮和变形效果。贴地以及高亮效果。

(6)使用CZML支持动态时序数据的展示。

(7)支持各种几何体:点、线、面、标注、公告牌、立方体、球体、椭圆体、圆柱体、走廊、管径、墙体。

(8)可视化效果包括:基于太阳位置的阴影、自身阴影、柔和阴影。

(9)支持大气、雾、太阳、阳光、月亮、星星、水面。

(10)粒子特效:烟、火、火花。

(11)地形、模型、3d tiles模型的面裁剪。

(12)对象点选和地形点选。

(13)支持鼠标和触摸操作的缩放、渲染、惯性平移、飞行、任意视角、地形碰撞检测。

(14)支持3d地球、2d地图、2.5d哥伦布模式。3d视图可以使用透视和正视两种投影方式。

(15)支持点、标注、公告牌的聚集效果[3]。

Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。

Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

img

3 实验过程与结果

3.1 实验条件

Cesium官方文件包,node.js服务器,Notepad++文档编写查看器,电脑,chorm浏览器

3.2 实验过程

编写HTML文档,如图所示为Cesium对页面的一些基本设置,可以选择添加或者不添加一些页面控件。

img

如下图所示为相机的初始位置及方位的设置

img

如图所示为定义一个飞机对象并加载相应的glb飞机模型,并设置飞机初始位置。

img

如下图所示为添加键盘监听事件,可以通过键盘来交互控制飞机加速、减速、左转、右转、上升、下降、左旋、右旋等。

img

如下图所示为监听到键盘交互事件之后对当前飞机的位置及姿态进行一帧一帧更新渲染。

img

如下图所示,将编写完成的html文档放到cesium文件夹目录下,打开电脑按win+R并输入cmd,之后cd进入该文件夹,输入命令npm start启动服务器,最后在chorm浏览器输入http://localhost:8080/即可。

img

3.3 实验结果与分析

如下图所示为最终呈现的页面,可见一飞机在地球上方飞,并可以看到地球部分地形。

img

如图所示为键盘控制飞机左转。

img

如图所示为键盘控制飞机右转。

img

如图所示为键盘控制飞机上升。

img

如图所示为键盘控制飞机下降。

img

如图所示为键盘控制飞机右旋。

img

如图所示为键盘控制飞机左旋

img

如图所示,可见飞机有一飞行的尾迹。

img

如图所示为地球的不同图层显示

img

如图所示为地球的不同图层显示

img

如图所示为地球的不同图层显示

img

如图所示为地球的不同图层显示

img

如图所示为地球的不同图层显示

img

如图所示为该项目监听到的键盘交互事件。

img

如图所示的键盘监听事件,可见飞机先后经历了左转、右转、上升、下降、右旋、左旋、加速、减速。

img

4 总结

(1)编写的HTML文档要放在cesium文件目录下,不然启动不了。

(2)学习并了解了HTML的文档结构,JavaScript的原理和基本编程。

(3)学习运用浏览器chorm的高级功能查看后台的一些数据交互。

(4)学习cesium的基本原理及使用。

参考文献

[1]郑文浩, 冯杭建, 游省易. 基于Cesium地图引擎的三维地貌景观科普展示平台研发——以神仙居国家地质公园为例[J]. 科技通报, 2021(7):5.

[2] Goesten M G , Rahm M , Bickelhaupt M , et al. Cesium’s Off-the-Map Valence Orbital[J]. Angewandte Chemie International Edition, 2017, 56(33).

[3]李娜, 赵宇虹, 钱建国. 基于Cesium平台的导航服务[J]. 测绘与空间地理信息, 2020(012):043.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习| DiceLoss解决图像数据不平衡问题

图像数据不平衡问题 图像数据不平衡:在进行图像分割时,二分类问题中,背景过大,前景过小;多分类问题中,某一类别的物体体积过小。在很多图像数据的时候都会遇到这个情况,尤其是在医学图像处理的…

【ctf.show】--- md5

ctf.show_web9 1.用 dirsearch 扫目录&#xff1a;python dirsearch.py -u 网址 -e php 发现 robots.txt 2.访问 robots.txt 文件 发现 index.phps 3.访问 index.phps 发现源码 <?php $flag""; $password$_POST[password]; if(strlen…

JSP技术及其应用

目录 一、JSP 指令元素 1. page指令 二、JSP 注释 1. HTML注释&#xff1a; 2. Java注释&#xff1a; 3. JSP注释&#xff1a; 三、页面编码格式 1. pageEncoding&#xff1a; 2. contentType&#xff1a; 一、JSP 指令元素 JSP包含三种主要的指令元素&#xff1a;pag…

开源,微信小程序-超级计算器T3000 简介

笔者于四年前自学微信小程序开发&#xff0c;这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多&#xff0c;其中的核心技术是矩阵计算&#xff0c;使用的工具库是math.js&#xff0c;其次是复杂运算和分式运算。关于math.js的使用&#xff0c;可以参考另一…

【快速上手ESP32(基于ESP-IDFVSCode)】01-环境配置GPIO口延时函数(先点个灯)

前言 立创开发板之前出了个ESP32S3R8N8的开发板&#xff0c;当时嫖了个优惠券&#xff0c;九块九拿下了。 现在不仅是35.9一个&#xff0c;而且还没货。 如果真的想要的小伙伴可以自己去打板焊一个&#xff0c;人家开源了&#xff08;目测难度较大&#xff0c;反正我是焊不上…

Flink CDC 同步数据到Doris

Flink CDC 同步数据到Doris Flink CDC 是基于数据库日志 CDC(Change Data Capture)技术的实时数据集成框架,支持了全增量一体化、无锁读取、并行读取、表结构变更自动同步、分布式架构等高级特性。配合 Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量…

如何在Win10部署Oracle数据库并实现无公网IP使用PL SQL远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle&#xff0c;是甲骨文公司的一款关系…

[RAM] 图解 RAM 结构原理

主页&#xff1a; 元存储博客 文章目录 前言1. Channel2. Dimm3. Rank4. Bank5. Row6. Column7. Beat8. Burst Length总结 前言 从CPU至DRAM晶粒之间依据层级由大至小为channel>DIMM>rank>chip>bank>row/column。 图片来源&#xff1a; 电脑王 DRAM层级关系 DR…

第十五届蓝桥杯第三期模拟赛第十题 ← 上楼梯

【问题描述】 小蓝要上一个楼梯&#xff0c;楼梯共有 n 级台阶&#xff08;即小蓝总共要走 n 级&#xff09;。小蓝每一步可以走 a 级、b 级或 c 级台阶。 请问小蓝总共有多少种方案能正好走到楼梯顶端&#xff1f;【输入格式】 输入的第一行包含一个整数 n 。 第二行包含三个整…

go发布包到github

1. 首先&#xff0c;我们在github上创建一个公有仓库并clone到本地 git clone https://github.com/kmust-why/gdmp-token.git cd gdmp-token/ 2. 在gdmp-token工程中初始化go.mod&#xff0c;其中后面的链接要跟github上创建的仓库和你的用户名对应 go mod init github.com…

python 字典练习

# 字典练习1 import time def main():month_income{1月: 8000, 2月: 8200, 3月: 7900, 4月: 6900, 5月: 8900, 6月: 12000, 7月: 8900, 8月: 6000,9月: 8900, 10月: 9200, 11月: 6200, 12月: 7000}year_income0for k,v in month_income.items():print(月份→,k,工资→,v)time.s…

4.模板-数组类封装

文章目录 功能代码运行结果 功能 利用模板进行数组类封装&#xff0c;在代码实现过程中&#xff0c;使用了 1.operator重载&#xff0c;利用深拷贝防止浅拷贝问题&#xff1b; 2.operator[]重载&#xff0c;确保可以使用[]来仿真数组元素&#xff1b; 3.尾插法、尾删法、返回数…

基于主成分分析的机器学习分类代码

前言 本文内容主要实现基于主成分分析的数据降维和四种经典的机器学习分类算法&#xff0c;包括&#xff1a;支持向量机、随机森林、XGBoost分类器、scikit-learn的梯度提升分类器和Histogram-based Gradient Boosting分类器 1.数据准备 import pickle import pandas as pd …

消息队列RocketMQ环境搭建

消息队列RocketMQ环境搭建 1.下载:配置环境变量启动NameServer启动Broker发送和接收消息测试模拟发送消息模拟接收消息 控制台安装与启动 软硬件需求: 系统要求是 64 位的&#xff0c;JDK要求是1.8及其以上版本的 1.下载: https://rocketmq.apache.org/download/ 2.解压到指…

fast_bev学习笔记

目录 一. 简述二. 输入输出三. github资源四. 复现推理过程4.1 cuda tensorrt 版 一. 简述 原文:Fast-BEV: A Fast and Strong Bird’s-Eye View Perception Baseline FAST BEV是一种高性能、快速推理和部署友好的解决方案&#xff0c;专为自动驾驶车载芯片设计。该框架主要包…

数学逆元计算

定义&#xff0c;即是有&#xff08;在mod p 的意义下&#xff09;&#xff0c;也就是求倒数 根据定义&#xff0c;则有&#xff0c;b的逆元就是 所以得出第一个计算式 求&#xff0c;可以快速计算较大情况&#xff1a; 表示的逆元的值&#xff0c;则有&#xff1a; fac[0]…

基于STM32的汽车防窒息系统

文章目录 基于STM32的汽车防窒息系统系统简介材料展示视频制作硬件连接原理图PCB实物图GSM模块使用GSM模块代码 SGP30模块SGP30模块代码 步进电机驱动步进电机代码 其他模块主逻辑代码 总结 基于STM32的汽车防窒息系统 系统简介 随着社会的发展目前汽车的流行&#xff0c;汽车大…

骨传导耳机哪个品牌最好?精选五大热销产品深度测评!

作为一个经验丰富的数码测评师&#xff0c;我经常在生活中使用各类数码产品&#xff0c;骨传导耳机就是其中之一&#xff0c;但在之前&#xff0c;选购骨传导耳机的时候也踩到过不少的坑&#xff0c;因为随着骨传导耳机逐渐热门&#xff0c;一些劣质品牌逐渐进入市场中&#xf…

京东云4核16G服务器优惠价格26元1个月、658元1年、三年3098元

京东云4核16G服务器优惠价格26元1个月、80元3个月、658元1年、3098元三年&#xff0c;配置为&#xff1a;轻量云主机4C16G-220G SSD系统盘-5M带宽-500G月流量&#xff0c;京东云优惠活动 atengyun.com/go/jd 可以查看京东云服务器详细配置和精准报价单&#xff0c;活动打开如下…

代码随想录训练营Day37:● 738.单调递增的数字 ● 968.监控二叉树 ● 总结

738.单调递增的数字 题目链接 https://leetcode.cn/problems/monotone-increasing-digits/description/ 题目描述 思路 从后往前遍历数字的每一位&#xff0c;如果前一位大于后一位&#xff0c;则将其减一&#xff0c;后边的一位取 i-9 中最大的 解答的两点疑惑&#xff1a;…