cesium简介

Posted 右弦GISer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cesium简介相关的知识,希望对你有一定的参考价值。

文章目录


Cesium实战系列文章总目录传送门

1.什么是Cesium?

Cesium是AGI公司计算机图形开发小组与2011年研发的三维地球和地图可视化开源javascript库,Cesium一词来源于化学元素铯,铯是制造原子钟的关键元素,研发小组通过命名强调Cesium产品精益求精,专注时间数据可视化。Cesium为三维GIS提供了一个高效的数据可视化平台。即:
(1)Cesium是一个跨平台、跨浏览器的展示三维地球和地图的JavaScript库
(2)Cesium使用WebGL来进行硬件加速图形,使用时不需要任何插件支持。
(3)Cesium是基于Apache2.0许可的开源程序,可以免费用于商业和非商业用途。

2.Cesium能做什么?


Cesium的知识体系,跨GIS、Web前端和图形学。
Cesium用于地理数据可视化。支持海量数据的高效渲染,支持时间序列动态数据的三维可视化,具备太阳、大气、云雾等地理环境要素的动态模拟和地形等要素的加载绘制。包含丰富的可用工具。即Cesium基本控件所提供的工具,如地理编码器,图层选择器等。
Cesium在项目中的定位如下图:

主要的功能有:
(1)使用3d tiles格式流式加载各种不同的3d数据,包含倾斜摄影模型、三维建筑物、CAD和BIM的外部和内部,点云数据。并支持样式配置和用户交互操作。
(2)全球高精度地形数据可视化,支持地形夸张效果、以及可编程实现的等高线和坡度分析效果。
(3)支持多种资源的图像图层,包括WMS,TMS,WMTS以及时序图像。图像支持透明度叠加、亮度、对比度、GAMMA、色调、饱和度都可以动态调整。支持图像的卷帘对比。
(4)支持标准的矢量格式KML、GeoJSON、TopoJSON、以及矢量的贴地效果。
(5)三维模型支持gltf2.0标准的PRB材质、动画、蒙皮和变形效果。贴地以及高亮效果。
(6)使用CZML支持动态时序数据的展示。
(7)支持各种几何体:点、线、面、标注、公告牌、立方体、球体、椭圆体、圆柱体、走廊、管径、墙体。
(8)可视化效果包括:基于太阳位置的阴影、自身阴影、柔和阴影。
(9)支持大气、雾、太阳、阳光、月亮、星星、水面。
(10)粒子特效:烟、火、火花。
(11)地形、模型、3d tiles模型的面裁剪。
(12)对象点选和地形点选。
(13)支持鼠标和触摸操作的缩放、渲染、惯性平移、飞行、任意视角、地形碰撞检测。
(14)支持3d地球、2d地图、2.5d哥伦布模式。3d视图可以使用透视和正视两种投影方式。
支持点、标注、公告牌的聚集效果。

3.Cesium的依赖性

①基于html5标准,无插件,跨平台
②无法独立运行,依赖于浏览器
③浏览器基于HTTP协议,Cesium正确运行必须有HTTP Server
④HTTP Server的实现不限于开发语言和服务器(可不学nodejs)

4.Cesium学习参考

Cesium做为三维GIS开发最火爆的前端框架,在三维数据管理、三维地形分析、动态场景可视化等方面广泛应用。

Cesium学习可用参考的文档有:
1.官网API文档:官网
2.官网沙盒例子:官网
3.Cesiumlab
4.Cesium中文网
5.一些学习者分享的博客文章

最后,希望各位使用Cesium进行三维GIS开发的朋友一起学习进步!

Cesium简介以及离线部署运行

前言

cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材。

Cesium简介

cesium 是国外一个基于 JavaScript 编写的使用 WebGL 的地图引擎,一款开源 3DGIS 的 js 库。cesium 支持 3D,2D,2.5D 形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和 mobile,但是由于 cesium 基于 WebGL 来渲染 3D 的,所以对浏览器有要求,必须支持 WebGL 才行。参照 cesium 官网的说明文档,浏览器支持版本: IE11 或者以上、谷歌、火狐版本比较高级等等,其实测试浏览器支不支持,运行 demo 就可以测试,会提示的,不支持的话。
由于个人刚研究 cesium,简单的谈谈个人对 cesium 的浅见:

优点

  • 开源,开源,开源,可以研究源代码以及针对性对源代码进行一些修改工作,cesium 源代码:cesium 源码

  • cesiumAPI 版本更新频率高,几乎每个月一个版本,说明 cesium 人气高

  • cesium 展示地图数据效果比较好,解析 2D 地图各种不同服务类型的数据源,比如百度地图、天地图、arcgis 地图、BingMap、openStreetMap、MapBox 等等;解析地形图加载;解析 3D 模型,包括动态加载以及 3Dtitles 切片形式加载展示,尤其是3Dtitles,大大的加快了展示 3D 模型的展示效率

  • Cesium 封装部分地图控件,直接调用即可,不用自己写

  • ...

缺点

  • 跟商业 3DGIS 软件对比,比如 skyline,cesium 三维分析功能太弱了,不排除我自己对 cesium 了解不够深的可能性;据我所知, cesium 官网关于三维分析的例子几乎没,都是以展示数据以及渲染数据为主的例子,希望官网后续的 API 版本对三维分析重视
  • 没有提供标绘工具 Draw,2DGIS 一般都是提供 Draw 工具的,比如 arcgis api 以及 openlayer api;cesium 想要绘制点、线、面,只能通过代码来绘制,貌似不能在线手动画
  • 没有地图量算工具、地图比例尺、拉框缩放等,这些地图基本工具,在 cesium 都需要自己来写实现
  • ...

CesiumAPI 离线部署运行

  • cesium 官网下载 cesiumAPI 解压包,解压之后的目录如下


里面包括编译后的 Build 文件夹以及 cesium api 源代码 Source 文件夹

更多的详情见GIS之家小专栏

文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波

以上是关于cesium简介的主要内容,如果未能解决你的问题,请参考以下文章

前端之javaScript

Cesium:APP实现存在的问题

模块化开发

模块化开发

模块化开发

JavaScript