转载---https://blog.csdn.net/mrib/article/details/78260971

Cesium是什么

Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。

通过Cesium提供的JS API,可以实现以下功能:

全球级别的高精度的地形和影像服务

矢量以及模型数据

基于时态的数据可视化

多种场景模式(3D,2.5D以及2D场景)的支持,真正的二三维一体化

1.35版推出3D Tiles规范,支持海量模型数据(倾斜,BIM,点云等)
http://cesium.marsgis.cn/forcesium/tutorials/images/go/1overview.png

地形影像、模型、倾斜、二三维场景与时态数据
Cesium隶属于AGI公司,该公司一直致力于时空数据业务。正如很多开源项目都有一个个性化的名字,Cesium也不例外。Cesium原意是化学元素铯,铯是制造原子钟的关键元素,通过命名强调了Cesium产品专注于基于时空数据的实时可视化应用。

Cesium周边

当然,Virtual Earth可以是一个很大的领域,既可以涉及到卫星航空领域等专业领域,也能够关联气象,导航等大众应用,可以说是包罗万象。Cesium不仅专注于产品本身,也致力于打造一个开放的,共赢的生态平台,为具体的行业应用提供成熟可靠的解决方案。

下面,我们了解一些和Cesium关联比较密切的公司和组织。
http://cesium.marsgis.cn/forcesium/tutorials/images/go/0agi.jpg

AGI的英文全称为Analytical Graphics Incorporation,三位创始人曾在通用公司宇航部的供职工程师,提供STK(System/Satellite Toolkit Kit)和Cesium两款产品。该公司是航天分析软件的领导者,而STK则是该公司的旗舰产品。比如马航MH370搜救过程就采用了STK软件。经过多年来在时空数据的积累,AGI公司逐渐掌握了大量3D可视化技术,也感受到各行各业对海量3D数据的强烈需求,因此于2011年创建了cesiumjs开源项目,围绕Cesium生态圈打造了一套安全可靠易扩展且平台独立的企业级解决方案。而Chrome也是在2011年2月份推出了支持WebGL的第一个版本,在这点上,Cesium算是第一个敢吃螃蟹的人。

AGI网站的口号是“Mapping Space And Time”,也强调了时空的概念。博客中有很多很棒的文章,比如相机抖动(Precisions, Precisions),计算bounding sphere的优化等,可惜网站改版后这些博文就失传了。

Cesium.com

http://cesium.marsgis.cn/forcesium/tutorials/images/go/1cesium.jpg

Cesium每个月月初更新一次版本,会在官网提供下载链接。最近官网进行了一次比较大的改版,域名从org升级到com,种种迹象表明,Cesium后续会通过Composer和3D Tiles标准,提供数据托管和发布能力,值得期待。

http://cesium.marsgis.cn/forcesium/tutorials/images/go/2composer.jpg

另外,对于Cesium开发者,我建议把Cesium官网的博客都读一遍,博客大概分为三类,主要是技术类,比如性能优化,调度算法等,一类是定期的新版本特性,能够了解Cesium新功能和新特性,

其次是论坛,

如果有什么疑问,都可以在这里提问。个人而言,如果有一些复杂的,个人不太确定的问题,我会在里面和相关人讨论,比如glTF在RTC扩展属性下不支持NEU坐标系的转换,3D Tiles中batch id的设计等,都比较适合在此交流。

当然,最后要推荐的就是Cesium在Github的社区。Cesium遵循Apache License 2.0,无论是个人还是商业用途,可以任意修改源码不用开源,需要声明该产品使用了Cesium,比如Cesium.js,LICENSE.MD;MODIFICATIONS.md声明你的修改清单。

作为一项非主流的JS开源库,相比Three.js这种大众类应用,Cesium的关注数并不算太多(2.4k),所以,如果喜欢,大家不要吝惜自己的神之一击哦~。个人推荐wiki的内容,虽然内容很少,毕竟是官方写的,质量有保证。

其次就是提交缺陷和代码了,如果你是个人用户,想要提交代码,需要签署cla,通过email发送,只有通过后才能提交到主版本。个人觉得Cesium在代码控制上还是比较严格的,单元测试覆盖率达到了93%,CI持续集成,任何人提交的代码都需要确保单元测试没有出错,但有时候会出现很多莫名其妙的问题。

另外,在提交代码前,建议阅读一下Cesium的编码规范。自己在提交代码上深深体会到Cesium对Review,Test Unit以及CI的要求,只有每个人都严格执行,这些无形的价值也能潜移默化的影响团队的每一个成员,同时也会产生一种责任感和成就感主动维护。

浏览器支持

首先,检查一下你的浏览器是否支持WebGL。 目前,大多数平台和浏览器都支持WebGL,在这些环境下运行Cesium并没有太大的问题,但效果和性能是否能够满足不同的需求,就需要考虑很多细节和额外因素。 大多数平台和浏览器都支持WebGL1.0标准,也就是OpenGL ES2.0规范。2017年年初,Chrome新版本低调的支持WebGL2.0,随着各硬件厂商GPU性能的提升和WebGL2.0规范的成熟,WebGL技术会有更大的提升潜力。 首先,无论是PC还是移动端,Chrome是WebGL开发和应用的最佳平台,所以,如果没有特殊的硬性要求,建议大家使用Chrome学习和开发Cesium。

http://cesium.marsgis.cn/forcesium/tutorials/images/go/0webglreport.jpg

通过浏览器访问WebGL Report网站,获取浏览器对WebGL的支持清单。如上图,红线是我最关心的几个属性:

是否支持WebGL标准

是否支持ANGLE 扩展: Chrome通过该扩展,在Windows平台下将OpenGL接口转为D3D,不仅提升了性能,而且还可以支持实例化这一重要特性

是否支持深度纹理: 拾取等功能依赖于深度技术

顶点着色器的最大属性数: 一个功能自从诞生之初,就开始趋于复杂,所以我们还要清楚它的极限,合理控制产品的复杂度。

个人了解,目前IE11对WebGL支持的还可以,但不支持深度纹理,需要升级到Edge;在移动平台,Cesium的地球调度比较消耗资源,目前的硬件能力并不太适合,比如内存崩溃,机器发烫。我的思路是在移动端仅支持平面场景,只是一个局部坐标,节约地球调度的性能消耗。

转载---Cesium简介相关推荐

  1. [转载] Python简介、linux上Python及其IDE的安装和详细配置

    参考链接: Python id() 一.什么是Python? Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语 ...

  2. [转载] PyTorch简介

    参考链接: PyTorch分类简介 代码实例理解PyTorch 介绍 PyTorch是增长最快的深度学习框架.PyTorch也非常具有Python风格,注重简洁和实用. 此外,也有一些使用者说,使用P ...

  3. (转载)VoLTE简介

    转载地址:http://www.360doc.cn/article/2909773_637471256.html,本文介绍了移动通信领域相关概念,如CS.PS.VoIP.VoLTE.IMS.CSFB. ...

  4. Cesium简介及发展历史

    目录 1.什么是Cesium 2.以下是Cesium的发展历史: 3.Cesium近年来一直在不断发展和更新,以下是Cesium目前的一些进展: 4.Cesium目前的功能 5.Cesium学习 1. ...

  5. Cesium基础使用介绍

    既然给我发了参与方式,不参加似乎有点不给人面子,反正也没多少人看我的博客,那我就试试吧,也欢迎大家自己参与:2017年度全网原创IT博主评选活动投票:http://www.itbang.me/goVo ...

  6. Pytext简介:facebook的基于PyTorch的NLP框架

    自然语言处理(NLP)在现代深度学习生态中越来越常见.从流行的深度学习框架到云端API的支持,例如Google云.Azure.AWS或Bluemix,NLP是深度学习平台不可或缺的部分.尽管已经取得了 ...

  7. Cesium学习笔记

    Cesium简介 Cesium是一个基于JavaScript的开源框架,可用于在浏览器中绘制3D的地球,并在其上绘制地图(支持多种格式的瓦片服务),该框架不需要任何插件支持,但是浏览器必须支持WebG ...

  8. 计算机编写代码简介,Vcomputer简介

    1.Vcompter存储程序式计算机虚拟机软件简介 Vcompter存储程序式计算机虚拟机软件的文件名为comp_alpha(一般要先安装java运行环境,然后双击该软件即可运行),该软件是桂林电子科 ...

  9. 让GIS三维可视化变得简单-初识Cesium

    前言 从去年开始无脑接触 Cesium 三维 GIS 可视化,入坑之后一直到到现在,其实已经写了多个项目了,中间也遇到了很多坑点,很早就想分享其中所获了,只是觉得不太专业而且没有太多时间,拖到现在,从 ...

最新文章

  1. 综述:激光雷达全景分割的传统点云聚类方法的技术总结
  2. Android优化之内存优化倒计时篇
  3. 程序员应知——团队精神(转)
  4. DataGrid/DataList在ASP.NET中应用
  5. 什么时候使用mysql触发器_MySQL触发器的使用
  6. 重学前端学习笔记(八)--JavaScript中的原型和类
  7. 安卓USB开发教程 五 安卓 AOA 1.0
  8. hdu 4828 Grids(拓展欧几里得+卡特兰数)
  9. 网易考拉向欧洲市场投入220亿,能掀起多大波澜?
  10. 如何让WebStorm正常显示出中文提示,使得中文能够正常输入,请看这里
  11. 2020经济学人电子版杂志分享资源
  12. 计算机考研四门专业课是什么,2019计算机考研专业课复习问题答疑
  13. 快速排序的两种写法:左右填坑法与前后交换法
  14. 拍拍抢拍精灵v2.1秒杀器所有源代码【开源】
  15. ReadyState的五种状态详解
  16. 抖音如何快速涨粉?李佳琦涨粉技巧揭秘
  17. mysql---创建学生表
  18. 初级网络工程师这30道面试题一定得会,建议小白收藏!
  19. jquery对文本赋值和取值_jQuery常用的取值或赋值的方法
  20. JavaScript代码到底是怎么执行的?

热门文章

  1. element-ui el-dialog侧边弹窗可横向拖拽改变宽度
  2. 【二叉树】根据后续和中序遍历输出前序遍历 [建树+非建树做法]
  3. Generate public key from private key in keychain
  4. 我的Java学习之路
  5. ORACLE隐式类型转换
  6. 微生物组测序方法比较
  7. Android压缩图片和libjpeg库
  8. 什么是命名路由?命名路由,命名路由意义
  9. Eclipse各版本代号一览表以及官网上有很多版本的eclipse,下载哪个版本比较合适呢?
  10. 科学计算机怎么调试,用科学的方法调节用电脑之后的眼睛视力