Cesium中文教程-入门指南(Getting Started)

本文介绍CesiumJS的基本使用方法,包括构建3D地图应用、使用Cesiumion优化3D数据并可视化,以及如何加载和显示自定义3DTiles数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cesium中文教程pdf下载链接
入门指南(Getting Started)
学习使用全球地形、图像、3D瓦片和地理编码(geocoding)构建Cesium应用程序。
cesium
           1 即将构建的Cesium app,点击进行交互
  CesiumJS是一个应用于web 3D地图的JavaScript库。Cesium ion是发现3D内容和填充自己的数据流中心。CesiumJS和ion一起协同工作,能够构建世界级3D地图应用程序。
使用Cesium ion对3D数据进行优化,并在CesiumJS中可视化
        2使用Cesium ion对3D数据进行优化,并在CesiumJS中可视化
第一个应用程序(Your first app)
下面是你的第一个Cesium应用程序源码:

1.	<!DOCTYPE html>  
2.	<html lang="en">  
3.	<head>  
4.	  <meta charset="utf-8">  
5.	  <script src="https://cesiumjs.org/releases/1.56.1/Build/Cesium/Cesium.js"></script>  
6.	  <link href="https://cesiumjs.org/releases/1.56.1/Build/Cesium/Widgets/widgets.css" rel="stylesheet">  
7.	</head>  
8.	<body>  
9.	  <div id="cesiumContainer" style="width: 700px; height:400px"></div>  
10.	  <script>  
11.	    Cesium.Ion.defaultAccessToken = 'your_access_token';  
12.	    var viewer = new Cesium.Viewer('cesiumContainer');  
13.	  </script>  
14.	</body>  
15.	</html>  

注意:创建一个Cesium ion账户
  注意上面代码中的your_access_token占位符。创建一个Cesiun ion账户来使用本教程中的3D内容。在这里注册(Sign up here),上面的示例代码将使用你的token自动进行更新。如果已经有账户,请登录(sign in)。
  Web应用需要web服务,CesiumJS同样需要。为了简单期间,本教程略过服务设置,使用在线应用IDE Glitch进行web开发。点击(clicking here)创建一个新的Glitch工程,忽略模板中的说明,点击index.html,删除里面的所有内容,并使用上面的代码。
Glitch IDE
              3 Glitch IDE
点击 按钮,它将打开一个新的窗口作为Cesium应用的响应。当你修改代码时,视图将自动更新。
CesiumJS默认使用由ion账户提供的Bing底图
          4 CesiumJS默认使用由ion账户提供的Bing底图
代码分解(Breaking down the code)
在HTML的head内容中包含CesiumJS库

1.	<script src="https://cesiumjs.org/releases/1.56.1/Build/Cesium/Cesium.js"></script>  
2.	<link href="https://cesiumjs.org/releases/1.56.1/Build/Cesium/Widgets/widgets.css" rel="stylesheet">  

创建一个HTML元素来保存CesiumJS widget:

1.	<div id="cesiumContainer"></div>  

ion账户提供一个token来访问Bing底图。由于已经登录了Cesium ion,所以默认账户的token自动在本教程中使用:

1.	Cesium.Ion.defaultAccessToken = '';  

最后,创建一个顶部的Cesium部件,命名为Viewer,使用上面定义的HTML div元素:

1.	var viewer = new Cesium.Viewer('cesiumContainer');  

添加Cesium世界地形(Adding Cesium World Terrain)
  Cesium World Terrain(Cesium世界地形)是一个高分辨率的全球地形asset,其保存在你的ion账户中。用以下代码代替创建的Viewer widget,将它添加到你的Cesium应用程序:

1.	var viewer = new Cesium.Viewer('cesiumContainer', {  
2.	    terrainProvider: Cesium.createWorldTerrain()  
3.	});  

当你放大到例如“Grand Canyon,AZ”这样的地方,将看到Cesium世界地形的效果:
10米分辨率科罗拉多大峡谷
             5 10米分辨率科罗拉多大峡谷
加载自己数据(Loading your own data)
  你可以上传自己的数据到Ceisum ion,并将其瓦片化为3D Tiles,3D Tiles是一种对海量异构三维地理空间数据流的开放规范。本教程中,我们提供带有单个建筑示例的KML/COLLADA包。使用它创建一个3D Tiles tileset,并将其添加到应用程序中。点击(clicking here)来下载。
  导航到ion,并将刚下载的AGI_HQ.kmz文件拖拽到页面任何位置,点击上传。
上传完成后,ion将立刻开始tiling处理并在右上角报告进度。瓦片化完成后,将在左侧出现新asset选项,按页面右下角示例代码旁边的copy(复制)按钮。将结果复制到Glitch中,创建Viewer行之后。

1.	var tileset = viewer.scene.primitives.add(  
2.	    new Cesium.Cesium3DTileset({  
3.	        url: Cesium.IonResource.fromAssetId(your_asset_id)  
4.	    })  
5.	);  

使用一行代码,将程序的默认视图设置为tileset:

1.	viewer.zoomTo(tileset)  

加载到CesiumJS中的3D Tiles asset,与你自己的asset看起来有所不同
     6 加载到CesiumJS中的3D Tiles asset,与你自己的asset看起来有所不同
祝贺!你已经创建了第一个Cesium app。
以下是完整的参考示例:

1.	<!DOCTYPE html>  
2.	<html lang="en">  
3.	<head>  
4.	  <meta charset="utf-8">  
5.	  <script src="https://cesiumjs.org/releases/1.56.1/Build/Cesium/Cesium.js"></script>  
6.	  <link href="https://cesiumjs.org/releases/1.56.1/Build/Cesium/Widgets/widgets.css" rel="stylesheet">  
7.	</head>  
8.	<body>  
9.	  <div id="cesiumContainer" style="width: 700px; height:400px"></div>  
10.	  <script>  
11.	    Cesium.Ion.defaultAccessToken = 'your_access_token';  
12.	    var viewer = new Cesium.Viewer('cesiumContainer', {  
13.	        terrainProvider: Cesium.createWorldTerrain()  
14.	    });  
15.	  
16.	    var tileset = viewer.scene.primitives.add(  
17.	        new Cesium.Cesium3DTileset({  
18.	            url: Cesium.IonResource.fromAssetId(your_asset_id)  
19.	        })  
20.	    );  
21.	    viewer.zoomTo(tileset);  
22.	  </script>  
23.	</body>  
24.	</html>  

接下来呢?现在你已经知道如何设置一个基本的Cesium app,可以浏览Sandcastle上的代码示例,来了解所有特性和一些常见的使用案例。

### Cesium 学习教程入门指南 Cesium 是一个功能强大的 3D 地球和地图的开源 JavaScript 库,适用于创建交互式地理空间应用程序。以下是关于 Cesium 的学习资料和入门指南的详细介绍。 #### 1. 官方文档与基础教程 官方文档是学习 Cesium 的首要资源,它提供了详细的 API 参考和示例代码[^3]。对于初学者来说,可以从以下两个部分开始: - **Getting Started Tutorial**:这是一个简单的入门教程,帮助用户快速了解如何使用 Cesium 创建基本的 Web 应用程序[^1]。 - **Cesium 基础教程**:涵盖了从安装到创建基础 Viewer 的过程,并提供了一些实用的代码示例[^2]。 #### 2. 使用 Webpack 构建 Cesium 应用 如果计划使用 Webpack 来构建 Cesium 应用程序,可以参考以下步骤: - 配置 Webpack 以支持 Cesium 的 npm 模块。 - 在项目中引入 Cesium 并初始化 Viewer。 ```javascript import * as Cesium from 'cesium'; const viewer = new Cesium.Viewer('cesiumContainer'); ``` #### 3. 使用 Vite 快速搭建 Cesium 环境 Vite 是一种现代的前端构建工具,能够显著提升开发效率。通过插件 `vite-plugin-cesium`,可以轻松集成 Cesium 到 Vite 项目中[^2]。 ```javascript // vite.config.js import { defineConfig } from 'vite'; import cesium from 'vite-plugin-cesium'; export default defineConfig({ plugins: [cesium()] }); ``` #### 4. Cesium 的目录结构 了解 Cesium 的目录结构有助于更好地理解其组织方式和功能分布[^3]。例如: - `Build/`:包含编译后的 Cesium 库,适合生产环境。 - `Source/`:存放核心源代码,包括 UI 小部件和第三方库。 #### 5. 坐标系与参考系 Cesium 使用的是地球中心、地球固定 (ECEF) 坐标系[^4]。具体轴向定义如下: - **x 轴**:本初子午线和赤道的交点指向欧洲方向。 - **y 轴**:本初子午线和赤道的交点指向亚洲方向。 - **z 轴**:本初子午线和赤道的交点指向北极方向。 #### 6. 示例代码:创建基础 Viewer 以下是一个使用 Vue 和 Cesium 创建基础 Viewer 的示例: ```vue <template> <div id="cesiumContainer"></div> </template> <script lang="ts" setup> import { onMounted } from "vue"; import { Viewer } from "cesium"; onMounted(() => { const viewer = new Viewer("cesiumContainer"); }); </script> <style lang="scss" scoped> #cesiumContainer { width: 100%; height: 100vh; } </style> ``` #### 7. 进阶学习资源 - **Sandcastle**:Cesium 提供的在线编辑器和演示平台,方便用户测试和学习其功能[^3]。 - **社区论坛**:参与 Cesium 社区讨论,获取其他开发者的经验和建议。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值