【Cesium入门教程】第一课:Cesium简介与快速入门详细教程

Cesium概述

Cesium是一个基于JavaScript开发的WebGL三维地球和地图可视化库。

它利用了现代Web技术,如HTML5、WebGL和WebAssembly,来提供跨平台和跨浏览器的三维地理空间数据可视化。

Cesium的主要特点包括:

  • 跨平台、跨浏览器:无需额外插件,即可在多种操作系统和浏览器上运行。
  • 海量数据支持:Cesium定义了3D Tiles数据格式,支持大规模三维模型和地形数据的加载与渲染。
  • 丰富的地图模式:支持三维、二维和哥伦布视图(2.5D),提供多种地图和地形图层选择。
  • 交互功能:支持地址搜索、信息属性框等用户交互功能,以及全屏模型和WebVR虚拟现实体验。

Cesium应用场景

Cesium被广泛应用于多个领域,包括但不限于:

  • 交通管理:用于模拟交通流量,进行交通规划和分析。
  • 城市规划:辅助进行城市设计,展示城市规划的三维效果。
  • 城市管理:帮助城市管理者进行城市监控和应急响应规划。
  • 地形仿真:在军事和地质研究中模拟地形环境,进行战术训练和地质分析。

环境准备

开始使用Cesium之前,需要做一些基本的环境准备工作:

  • 获取Cesium资源:

访问Cesium的官方网站和中文文档,了解如何获取Cesium的SDK和API文档。

中文文档

Cesium中文api文档 | Index - Cesium Documentation

官网

Cesium: The Platform for 3D Geospatial

例子

Cesium Sandcastle

  • 安装开发工具:

确保你的开发环境中安装了Node.js和npm(或pnpm),这些是JavaScript项目管理和打包的常用工具。

创建Cesium项目

创建一个Cesium项目的基本步骤如下:

1. 使用pnpm创建项目:

pnpm create vite 项目名

2. 进入项目目录:

cd 项目名

3. 安装项目依赖:

pnpminstall

4. 安装Cesium依赖

在项目中安装Cesium及其构建插件:

pnpm i cesium@1.99 vite-plugin-cesium

5. 配置项目

修改项目的配置文件vite.config.js,以确保Cesium可以正确地与Vite.js一起工作:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import cesium from 'vite-plugin-cesium'

export default defineConfig({
  plugins: [
    vue(),
    cesium()
  ]
})

在Vue中引入Cesium

在app.vue中引入Cesium,并打印Cesium对象以确认安装成功:

import * as Cesium from 'cesium'console.log(Cesium)

运行项目

使用以下命令启动开发服务器,并在浏览器中查看Cesium的加载效果:

npm run dev

快速开始示例

在Cesium项目中,通常会首先创建一个Viewer对象,它提供了一个预配置的Cesium场景,用于显示地球或其他场景。以下是一个创建基本Cesium Viewer的示例:

<template>
  <div id="cesiumContainer"></div>
  </template>

  <script setup>
  import * as Cesium from 'cesium'
import { onMounted } from 'vue'
onMounted(() => {
  Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZGJ1OTBmMi0xYjNmLTRhZ2YtOTI1My0zNGIwOGUyNGFkYTU1LCJpZCI6MTE1MTg3LCJpYXQiOjE2Njg2NzM2NTB9.kQwPYhh1KTzNCwTFKow36f8DpBGhdDhrpzhHFUfTk'

  // const esri = new Cesium.ArcGisMapServerImageryProvider({
  //   url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
  //   enablePickFeatures: false,
  // });

  // Viewer是一切API的开始
  let viewer = new Cesium.Viewer('cesiumContainer', {
    // imageryProvider: esri,  //默认的谷歌地图影像 影像图层 ImageryLayer
    //地形图层TerrainProvider
    terrainProvider: Cesium.createWorldTerrain({
      // requestWaterMask: true //水面特效
    }),
  })
})
  </script>

  <style scoped>
  #cesiumContainer {
  width: 100vw;
height: 100vh;
overflow: hidden;
}
</style>

在上述代码中,我们首先设置了Cesium的访问令牌,然后创建了一个Viewer实例,并指定了容器的ID。

我们还设置了地形图层,以加载默认的世界地形数据。

添加了水面特效:

cesium中的各类控键:

有一些不常用的控件,可以通过下面的方式进行隐藏:

时间轴控件:

timeline:false,//时间轴控件

动画控件:

animation:false,//动画控件

搜索按钮:

geocoder:false,//搜索按钮

主页按钮:

homeButton:false,//主页按钮

投影方式按钮:

sceneModePicker:false,//投影方式按钮

图层选择按钮:

baseLayerPicker:false,//图层选择按钮

帮助手势按钮:

navigationHelpButton:false,//帮助手势按钮

全屏按钮

fullscreenButton:false,//全屏按钮

通过本教程,应该对Cesium有了一个基本的了解,并且能够开始创建自己的Cesium项目。在接下来的教程中,我们将深入探讨Cesium的更多高级特性和应用场景。

相关推荐
隼玉22 分钟前
【STM32-学习笔记-7-】USART串口通信
笔记·stm32·学习
明月清了个风27 分钟前
数据结构与算法学习笔记----中国剩余定理
笔记·学习
羊小猪~~1 小时前
深度学习基础--GRU学习笔记(李沐《动手学习深度学习》)
人工智能·rnn·深度学习·学习·机器学习·gru·lstm
小小弯_Shelby1 小时前
vue+arcgis api for js实现地图经纬网格显示
vue.js·arcgis
鸿业远图科技1 小时前
【青海省乡镇界】面图层+shp格式arcgis数据+乡镇名称和编码+wgs84坐标无偏移下载内容测评
arcgis
洛*璃1 小时前
Vue3 整合 ArcGIS 技术指南
arcgis
Mae_cpski1 小时前
【React学习笔记】第三章:React应用
笔记·学习·react.js
Icoolkj2 小时前
微服务学习-快速搭建
学习·微服务·架构
柯南二号2 小时前
【Kotlin】上手学习之类型篇
开发语言·学习·kotlin
电脑玩家粉色男孩2 小时前
二、学习SpringMVC
java·学习·servlet