cesium基础设置

news2025/2/22 20:43:46

cesium官网下载:https://cesium.com/downloads/
1.安装cesium
选择下载到本地使用,或者通过npm下载到项目中
在这里插入图片描述
2.代码书写
(1)创建容器

  <div id="cesiumContainer" style="width: 100%; height: 100%"></div>

(2)引入cesium

import * as Cesium from 'cesium'

(3)设置静态资源路径
静态资源是指在cesium中内置的一些可以使用的资源,静态资源路径可能会根据cesium的版本不同而有区别,查看静态资源路径
在这里插入图片描述

// 静态资源路径
;(window as any).CESIUM_BASE_URL = 'node_modules/cesium/Build/CesiumUnminified/'

也可以将该处的静态资源文件放到项目的根目录静态资源文件夹下,例如public文件夹下,这时静态资源路径就为“/”

3.使用Viewer容器渲染

onMounted(async () => {
  const viewer = new Cesium.Viewer('cesiumContainer', {
  })
})

4.申请token,以便调用cesium的api
登录cesium,获取Access Token,将其复制到项目中
在这里插入图片描述
控制台如果出现如下报错:
在这里插入图片描述
可以设置该配置:

 const viewer = new Cesium.Viewer('cesiumContainer', {
 		infoBox: false,
  })

默认效果图
在这里插入图片描述
5.查看器(viewer)部分相关配置项

  const viewer = new Cesium.Viewer('cesiumContainer', {
    // terrainProvider: Cesium.createWorldTerrain({
    //   requestWaterMask: true // 开启水面特效
    // }), // 创建地形
    // infoBox: false,
    // geocoder: true, //是否显示地名查找控件
    // sceneModePicker: true, //是否显示投影方式控件
    // navigationHelpButton: true, //是否显示帮助信息控件
    // baseLayerPicker: true, //是否显示图层选择控件
    // homeButton: true, //是否显示Home按钮
    // fullscreenButton: true, //是否显示全屏按钮
    // timeline: true, //时间轴控件
    // animation: true //动画控件
  })

6.相机相关配置

 // 相机
  // 将视野定位到特定地点
  // viewer.camera.setView({
  //   destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400), //定位到位置
  //   // 视野角度
  //   orientation: {
  //     // 默认(0,-90,0)
  //     heading: Cesium.Math.toRadians(0.0),
  //     pitch: Cesium.Math.toRadians(-15.0),
  //     roll: Cesium.Math.toRadians(0)
  //   }
  // })

  // 定位到特殊地点(含飞行动画)
  // viewer.camera.flyTo({
  //   destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),
  //   duration: 3, //飞行时间
  //   orientation: {
  //     heading: Cesium.Math.toRadians(0.0),
  //     pitch: Cesium.Math.toRadians(-15.0)
  //   }
  // })
  
  // lookAt,锁住视野,无法拖动改变视野位置
  // const position = Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400)
  // viewer.camera.lookAt(
  //   position,
  //   new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0.0), Cesium.Math.toRadians(-15.0), 2000)
  // )

7.坐标转换

// 经纬度转换为笛卡尔坐标系
  // let carctesian1 = Cesium.Cartesian3.fromDegrees(110, 20, 20)
  // // 笛卡尔转弧度坐标
  // let cartongraphic = Cesium.Cartographic.fromCartesian(carctesian1)
  // // 弧度坐标转角度坐标,高度不用单独转
  // let lon = Cesium.Math.toDegrees(cartongraphic.longitude)
  // let lat = Cesium.Math.toDegrees(cartongraphic.latitude)
  // 未知角度/已知弧度=360°/2*PI;未知角度=已知弧度*180/PI
  // 圆一周弧度为2*PI,角度为360°
  // let lon = (180 / Math.PI) * cartongraphic.longitude
  // let lat = (180 / Math.PI) * cartongraphic.latitude

  // Add Cesium OSM Buildings, a global 3D buildings layer.
  // const buildingTileset = await Cesium.createOsmBuildings()
  // viewer.scene.primitives.add(buildingTileset)

8.添加实体

// 实体 写法一
  // const point = new Cesium.Entity({
  //   position: Cesium.Cartesian3.fromDegrees(120, 30),
  //   point: {
  //     pixelSize: 20, // 像素点大小
  //     color: Cesium.Color.RED
  //   }
  // })
  // viewer.entities.add(point)

  // 写法二
  // const point2 = viewer.entities.add({
  //   id: 'point',
  //   position: Cesium.Cartesian3.fromDegrees(120, 30),
  //   point: {
  //     pixelSize: 20, // 像素点大小
  //     color: Cesium.Color.RED
  //   }
  // })
  // viewer.zoomTo(point2)

  // 标注,广告牌
  // const billboard = viewer.entities.add({
  //   position: Cesium.Cartesian3.fromDegrees(116, 40, 50),
  //   billboard: {
  //     image: '/src/assets/R-C.png',
  //     scale: 0.3,
  //     color: Cesium.Color.YELLOW
  //   }
  // })
  // viewer.zoomTo(billboard)

  // 标题
  // const label = viewer.entities.add({
  //   position: Cesium.Cartesian3.fromDegrees(116, 40, 50),
  //   label: {
  //     text: 'Cesium',
  //     fillColor: Cesium.Color.YELLOWGREEN,
  //     showBackground: true,
  //     backgroundColor: new Cesium.Color(255, 255, 255)
  //   }
  // })
  // viewer.zoomTo(label)

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

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

相关文章

Spring-GPT智谱清言AI项目(附源码)

一、项目介绍 本项目是Spring AI第三方调用整合智谱请言&#xff08;官网是&#xff1a;https://open.bigmodel.cn&#xff09;的案例&#xff0c;回答响应流式输出显示&#xff0c;这里使用的是免费模型&#xff0c;需要其他模型可以去 https://www.bigmodel.cn/pricing 切换…

文件夹上传到github分支最后github上面还是没有文件和文件夹

环境&#xff1a; github 问题描述&#xff1a; 文件夹上传到github分支最后github上面还是没有文件和文件夹, 和这样一样 解决方案&#xff1a; 从 git ls-tree -r HEAD 的输出中可以看到&#xff0c;metahuman-stream 文件夹显示为如下内容&#xff1a; 160000 commi…

【文献精读】AAAI24:FacetCRS:打破对话推荐系统中的“信息茧房”

标题FacetCRS: Multi-Faceted Preference Learning for Pricking Filter Bubbles in Conversational Recommender System期刊The Thirty-Eighth AAAI Conference on Artificial Intelligence (AAAI-24)年份2024关键词Conversational Recommender System (CRS), Filter Bubbles,…

网络安全推荐的视频教程 网络安全系列

第一章 网络安全概述 1.2.1 网络安全概念P4 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或恶意的原因而遭到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断。 1.2.3 网络安全的种类P5 &#xff08;1…

基于Python的深度学习音乐推荐系统(有配套论文)

音乐推荐系统 提供实时音乐推荐功能&#xff0c;根据用户行为和偏好动态调整推荐内容 Python、Django、深度学习、卷积神经网络 、算法 数据库&#xff1a;MySQL 系统包含角色&#xff1a;管理员、用户 管理员功能&#xff1a;用户管理、系统设置、音乐管理、音乐推荐管理、系…

javacv将mp4视频切分为m3u8视频并播放

学习链接 ffmpeg-demo 当前对应的 gitee代码 Spring boot视频播放(解决MP4大文件无法播放)&#xff0c;整合ffmpeg,用m3u8切片播放。 springboot 通过javaCV 实现mp4转m3u8 上传oss 如何保护会员或付费视频&#xff1f;优酷是怎么做的&#xff1f; - HLS 流媒体加密 ffmpe…

MVTEC数据集笔记

前言 网上的博客只有从论文里摘出的介绍&#xff0c;没有数据集文件详细的样子&#xff0c;下载数据集之后&#xff0c;对数据集具体的构成做一个补充的笔记。 下载链接&#xff1a;https://ai-studio-online.bj.bcebos.com/v1/7d4a3cf558254bbaaf4778ea336cb14ed8bbb96a7f2a…

[数据结构]红黑树,详细图解插入

目录 一、红黑树的概念 二、红黑树的性质 三、红黑树节点的定义 四、红黑树的插入&#xff08;步骤&#xff09; 1.为什么新插入的节点必须给红色&#xff1f; 2、插入红色节点后&#xff0c;判定红黑树性质是否被破坏 五、插入出现连续红节点情况分析图解&#xff08;看…

国家地理信息公共服务平台的天地图

文章目录 一、国家地理信息公共服务平台的天地图二、地图转换1.GIS数据格式坐标转换&#xff08;地球坐标WGS84、GCJ-02、火星坐标、百度坐标BD-09、国家大地坐标系CGCS2000&#xff09;2.读入数据 总结 一、国家地理信息公共服务平台的天地图 三大地图付费后&#xff0c;仍可…

JavaScript中字符串的常用方法

JavaScript中字符串的常用方法 1.查询类2.拼接3.截取4.大小写5.去掉空格6.重复7.填充8.分隔9.模版匹配方法 可以通过查看String对象的原型来看有哪些方法: console.dir(String.prototype)1.查询类 charAt(index):返回指定位字符 console.log("abc".charAt(1));//b…

基于fastadmin快速搭建导航站和API接口站点系统源码

源码介绍 基于fastadmin快速搭建导航站和API接口站点系统源码 上传源码 设置运行目录为/public 导入 数据库.sql到数据库 设置配置文件application/database.php 后台admin.php 可以自己随意修改本文件名称为后台地址 推荐越复杂越好 账号admin 密码 123456 效果预览

【Vue3】Vue 3 中列表排序的优化技巧

本文将深入探讨 Vue 3 中列表排序的优化技巧&#xff0c;帮助提升应用的性能和响应速度。 1. 避免不必要的排序 按需排序 在实际应用中&#xff0c;并非每次数据更新都需要进行排序。例如&#xff0c;当列表数据仅在特定条件下需要排序时&#xff0c;可通过条件判断来避免不…

使用html css js 来实现一个服装行业的企业站源码-静态网站模板

最近在练习 前端基础&#xff0c;html css 和js 为了加强 代码的 熟悉程序&#xff0c;就使用 前端 写了一个个服装行业的企业站。把使用的技术 和 页面效果分享给大家。 应用场景 该制衣服装工厂官网前端静态网站模板主要用于前端练习和编程练习&#xff0c;适合初学者进行 HT…

数控机床设备分布式健康监测与智能维护系统MTAgent

数控机床设备分布式健康监测与智能维护系统MTAgent-v1.1融合了目前各种先进的信号处理以及信息分析算法以算法工具箱的方式&#xff0c;采用了一种开发的、模块化的结构实现信号各种分析处理&#xff0c;采用Python编程语言&#xff0c;满足不同平台需求(包括Windows、Linux)。…

Java+SpringBoot+数据可视化的家庭记账小程序(程序+论文+安装+调试+售后等)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统介绍 在当下这个科技日新月异、经济蓬勃向上的时代&#xff0c;中国经济正以令人瞩目的速度迅…

前端JS接口加密攻防实操

前端JS接口加密攻防实操 背景 在爬虫过程中&#xff0c;对数据接口各类加密的经历总结&#xff0c;无头消耗资源效率不高&#xff0c;采用浏览器兜底解密协程并行 青铜版(混淆对称加密|签名nonce等&#xff09; 解&#xff1a;根据API 调用栈&#xff0c;断点找到request参…

百度搜索融合 DeepSeek 满血版,开启智能搜索新篇

百度搜索融合 DeepSeek 满血版&#xff0c;开启智能搜索新篇 &#x1f680; &#x1f539; 一、百度搜索全量接入 DeepSeek &#x1f539; 百度搜索迎来重要升级&#xff0c;DeepSeek 满血版全面上线&#xff01;&#x1f389; 用户在百度 APP 搜索后&#xff0c;点击「AI」即…

游戏引擎学习第103天

仓库:https://gitee.com/mrxiao_com/2d_game_2 回顾bug 接下来回顾一下这个bug的具体情况。当前是一个调试视图&#xff0c;我们并不是直接在调试视图下工作&#xff0c;而是在进行相关的调试。展示了地图&#xff0c;这里是环境贴图&#xff0c;上面是正在使用的环境贴图&am…

WPF快速创建DeepSeek本地自己的客户端-基础思路版本

开发工具&#xff1a;VS 2015 开发环境&#xff1a;.Net 4.0 使用技术&#xff1a;WPF 本篇文章内容&#xff1a; 本地部署DeepSeek以后一般使用网页工具&#xff08;如Chatbox&#xff09;或者DOS窗口与其对话。本篇文章使用WPF创建一个基础版的对话工具。 一、搭建本地DeepS…

spring cloud gateway限流常见算法

目录 一、网关限流 1、限流的作用 1. 保护后端服务 2. 保证服务质量 (QoS) 3. 避免滥用和恶意攻击 4. 减少资源浪费 5. 提高系统可扩展性和稳定性 6. 控制不同用户的访问频率 7. 提升用户体验 8. 避免API滥用和负载过高 9. 监控与分析 10. 避免系统崩溃 2、网关限…