cesium基礎設置

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.pswp.cn/diannao/70301.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70301.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70301.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 實踐擴展(Qt Creator 聯動 Visual Studio 2022)

? 這里我們將在 VS 上實現 QT 編程&#xff0c;實現如下&#xff1a; 一、Vs 2022 配置&#xff08;若已安裝&#xff0c;可直接跳過&#xff09; 點擊鏈接&#xff1a;?????Visual Studio 2022 我們先去 Vs 官網下載&#xff0c;如下&#xff1a; 等待程序安裝完成之…

《解鎖自然語言處理:讓公眾正確擁抱AI語言魔法》

在當今數字化浪潮中&#xff0c;自然語言處理&#xff08;NLP&#xff09;技術作為人工智能領域的璀璨明珠&#xff0c;正以驚人的速度融入我們的生活。從智能語音助手到智能客服&#xff0c;從機器翻譯到內容創作輔助&#xff0c;NLP技術無處不在。然而&#xff0c;如同任何強…

uniapp webview嵌入外部h5網頁后的消息通知

最近開發了個oa系統&#xff0c;pc端的表單使用form-create開發&#xff0c;form-create 是一個可以通過 JSON 生成具有動態渲染、數據收集、驗證和提交功能的表單生成組件。移動端使用uniapp開發&#xff0c;但是因為form-create移動端只支持vant&#xff0c;不支持uniapp。官…

Python在網絡安全中的應用 python與網絡安全

前言 網絡安全是保護網絡、系統和程序免受數字攻擊的做法。據估計&#xff0c; 2019 年該行業價值 1120 億美元&#xff0c;到2021 年估計有 350 萬個職位空缺。 許多編程語言用于執行與網絡安全相關的日常任務&#xff0c;但其中一種已成為行業標準&#xff1a;Python&#…

設計模式15:中介者模式

系列總鏈接&#xff1a;《大話設計模式》學習記錄_net 大話設計-CSDN博客 1.概述 中介者模式&#xff08;Mediator Pattern&#xff09;是一種行為設計模式&#xff0c;旨在通過一個中介對象來封裝一系列對象之間的交互方式&#xff0c;從而減少這些對象間的直接依賴。在該模式…

golang常用庫之-swaggo/swag根據注釋生成接口文檔

golang常用庫之-swaggo/swag庫根據注釋生成接口文檔 什么是swaggo/swag github&#xff1a;https://github.com/swaggo/swag 參考文檔&#xff1a;https://golang.halfiisland.com/community/pkgs/web/swag.html#%E4%BD%BF%E7%94%A8 swaggo/swag 是 Swagger API 2.0 在 go 語…

爬取網站內容轉為markdown 和 html(通常模式)

我們遇到一些自己喜歡內容&#xff0c;想保存下來&#xff0c;手動復制粘貼很麻煩&#xff0c;我們使用 python 來爬取這些內容。 一、代碼 downlod.py import os import requests from bs4 import BeautifulSoup from urllib.parse import urljoin# 目標網頁&#xff08;可…

. Spring MVC

&#xff08;1&#xff09;MVC 設計模式 Model&#xff08;模型&#xff09;&#xff1a;負責存儲數據和業務邏輯。在 Spring MVC 中&#xff0c;模型通常是 JavaBean&#xff0c;用于封裝數據。 View&#xff08;視圖&#xff09;&#xff1a;負責展示數據給用戶。可以是 JSP…

高效執行自動化用例:分布式執行工具pytest-xdist實戰!

01、聲明 在介紹pytest-xdist時&#xff0c;不講任何原理&#xff0c;需要看原理的請移至官方&#xff1a;https://pypi.org/project/pytest-xdist/ 當我們自動化測試用例非常多的時候&#xff0c; 一條條按順序執行會非常慢&#xff0c;pytest-xdist的出現就是為了讓自動化測…

【ISO 14229-1:2023 UDS診斷全量測試用例清單系列:第十八節】

ISO 14229-1:2023 UDS診斷服務測試用例全解析&#xff08;ResponseOnEvent_0x86服務&#xff09; 作者&#xff1a;車端域控測試工程師 更新日期&#xff1a;2025年02月14日 關鍵詞&#xff1a;UDS協議、0x86服務、事件響應、ISO 14229-1:2023、ECU測試 一、服務功能概述 0x86…

deepseek多列數據對比,聯想到excel的高級篩選功能

目錄 1 業務背景 ?2 deepseek提示詞輸入 ?3 聯想分析 4 EXCEL高級搜索 1 業務背景 系統上線的時候經常會遇到一個問題&#xff0c;系統導入的數據和線下的EXCEL數據是否一致&#xff0c;如果不一致&#xff0c;如何快速找到差異值&#xff0c;原來腦海第一反應就是使用公…

TailwindCss的vue3安裝使用

按照官網的安裝教程&#xff0c;屬性最后無法生效&#xff0c;這是自我改良版&#xff0c;添加了額外步驟&#xff0c;但是每次引入新的tailwindcss屬性 需要重新跑一次項目 npm下載tailwindcss npm install -D tailwindcss npx初始化tailwind配置 npx tailwindcss init 此時根…

個人博客測試報告

一、項目背景 個人博客系統采用前后端分離的方法來實現&#xff0c;同時使用了數據庫來存儲相關的數據&#xff0c;同時將其部署到云服務器上。前端主要有四個頁面構成&#xff1a;登錄頁、列表頁、詳情頁以及編輯頁&#xff0c;以上模擬實現了最簡單的個人博客系統。其結合后…

Python----數據結構(單鏈表:節點,是否為空,長度,遍歷,添加,刪除,查找)

一、鏈表 鏈表是一種線性數據結構&#xff0c;由一系列按特定順序排列的節點組成&#xff0c;這些節點通過指針相互連接。每個節點包含兩部分&#xff1a;元素和指向下一個節點的指針。其中&#xff0c;最簡單的形式是單向鏈表&#xff0c;每個節點含有一個信息域和一個指針域&…

夜鶯監控發布 v8.beta5 版本,優化 UI,新增接口認證方式便于鑒權

以防讀者不了解夜鶯&#xff0c;開頭先做個介紹&#xff1a; 夜鶯監控&#xff0c;英文名字 Nightingale&#xff0c;是一款側重告警的監控類開源項目。類似 Grafana 的數據源集成方式&#xff0c;夜鶯也是對接多種既有的數據源&#xff0c;不過 Grafana 側重在可視化&#xff…

什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量數據庫? 怎么使用

什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量數據庫? 怎么使用 目錄 什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量數據庫? 怎么使用Embedding(嵌入)RAG(檢索增強生成)Function calling(函數調用)Pr…

SQLMesh 系列教程5- 詳解SQL模型

本文將詳細介紹 SQLMesh 的 SQL 模型組成要素及其在實際項目中的應用。SQLMesh 是一個強大的數據工程工具&#xff0c;其 SQL 模型由 MODEL DDL、預處理語句、主查詢、后處理語句以及可選的 ON VIRTUAL UPDATE 語句組成。我們將通過一個電商平臺每日銷售報告的實例&#xff0c;…

DeepSeek 接入PyCharm實現AI編程!(支持本地部署DeepSeek及官方DeepSeek接入)

前言 在當今數字化時代&#xff0c;AI編程助手已成為提升開發效率的利器。DeepSeek作為一款強大的AI模型&#xff0c;憑借其出色的性能和開源免費的優勢&#xff0c;成為許多開發者的首選。今天&#xff0c;就讓我們一起探索如何將DeepSeek接入PyCharm&#xff0c;實現高效、智…

從駕駛員到智能駕駛:汽車智能化進程中的控制與仿真技術

在汽車技術持續演進的歷程中&#xff0c;人類駕駛員始終是一個極具研究價值的智能控制系統“原型”。駕駛員通過視覺感知、行為決策與操作執行的閉環控制&#xff0c;將復雜的駕駛任務轉化為車輛的實際動作&#xff0c;同時動態適應道路環境的變化。這一過程不僅體現了高度的自…

Spring Boot項目的基本設計步驟和相關要點介紹

以下是一個關于Spring Boot項目的基本設計步驟和相關要點介紹,我們以一個簡單的示例應用——員工管理系統為例進行說明: 一、項目概述 員工管理系統旨在實現對公司員工信息的有效管理,包括員工基本信息錄入、查詢、更新以及刪除等功能。通過Spring Boot框架來快速搭建后端…