全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据可视化
336 0
2025-02-14
一、Cesium介绍(摘自:/s/19feKtKFrJDkbjT7b2DfKUQ 提取码:jkqp

Cesium是便用JavaScript开发的基于WebGL的实现三维地球和地图可视化的JS库,Cesium支持海量的三维模型数据,影像数据,地形高程数据,矢量数据等丰富的地理数据的加载。在交通,规划,城市管理,地形仿真等领城有非常广泛的应用。Cesium为三维的GIS提供了一个高效的数据可视化平台。

二、Cesium特性
1)支持多种视图
能够以 2D、2.5D 和 3D 形式对地图进行展示,并且无需分别编写代码。

2)支持地理信息数据动态可视化
a.  能够使用时间轴动态展示具有时间属性的数据。
b.  能够使用符合 OGC 标准的 WMS、WMTS 等多种地图服务,并且通过流式传输图像和全球地形。
c.  能够通过加载 KML、GeoJSON 等格式的数据绘制矢量图形。
d.  支持加载 3D Tiles 和 glTF 格式的三维模型,其中 3D Tiles 可以加载点云、倾斜摄影等大规模模型数据。

3)高性能和高精度的内置方法
a.  对 WebGL 进行优化,充分利用硬件加速功能,使用底层渲染方法进行可视化。
b.  提供了可以绘制大型折线、多边形、广告牌、标签等的 API。
c.  提供了可以控制摄像头和创造飞行路径等的坐标、向量、矩阵运算方法。
d.  提供了可以控制时间轴等组件的动画控件。

三、cesium.js的优点
1、支持地理空间数据
Cesium.js中的坐标系为地球空间坐标系,其原点为地球地心(three.js为空间坐标系,其原点为空间零点),在cesium中可以拾取坐标,测量距离、面积、体积以及坡度等信息;很多成熟的Cesium二次开发产品在此基础上有着更丰富的功能,包括开挖分析、淹没分析、天际线分析等。

2、支持加载不同的3d数据
Cesium.js中能支持多种3D数据格式,包括倾斜摄影模型、点云数据、BIM模型数据,并以3D Tiles的数据格式加载,3D Tiles是一种瓦片数据格式,将体量庞大的地形数据如倾斜数据、点云数据先分块分层并生成缓存,大大减轻了浏览器以及GPU的负荷,提高渲染效率。同时,基于3D Tiles文件可交互性、可编辑性特点,可以对模型进行剖切、裁剪、显示(亮度、透明度等)及绘制点面线等功能。

四、安装cesium
 只需要几步就可以搭建出开发环境
  1、通过访问helloworld这个示例来确保你的浏览器跟cesium兼容,如果不兼容,请查看故障
  2、安装 node.js
  3、提取代码克隆或下载zip都行
  4、通过cmd导航到cesium项目的根路径
  5、执行 npm install
  6、执行 npm start
  控制台就会显示Cesium development server running locally.  Connect to http://localhost:8080/,不要关闭控制台
  然后,通过浏览器访问 http://localhost:8080,你应该看到项目启动和运行。

五、快速开始示例
在Cesium项目中,通常会首先创建一个Viewer对象,它提供了一个预配置的Cesium场景,用于显示地球或其他场景。以下是一个创建基本Cesium Viewer的示例:
<template>  <div id="cesiumContainer"></div>
</template>

<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'

onMounted(() => {
  // 使用Cesium的Ion服务进行认证
  Cesium.Ion.defaultAccessToken = '你的Token';

  // 创建一个Viewer实例
  const viewer = new Cesium.Viewer('cesiumContainer', {
    // 使用默认的影像图层和地形图层
    terrainProvider: Cesium.createWorldTerrain({ requestWaterMask: true })
  })

  // 其他初始化操作...
})
</script>

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

在上述代码中,我们首先设置了Cesium的访问令牌,然后创建了一个Viewer实例,并指定了容器的ID。我们还设置了地形提供者,以加载默认的世界地形数据。最后,我们为Cesium的容器定义了一些基本的CSS样式。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群