转载---Cesium简介
转载---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简介相关推荐
- [转载] Python简介、linux上Python及其IDE的安装和详细配置
参考链接: Python id() 一.什么是Python? Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语 ...
- [转载] PyTorch简介
参考链接: PyTorch分类简介 代码实例理解PyTorch 介绍 PyTorch是增长最快的深度学习框架.PyTorch也非常具有Python风格,注重简洁和实用. 此外,也有一些使用者说,使用P ...
- (转载)VoLTE简介
转载地址:http://www.360doc.cn/article/2909773_637471256.html,本文介绍了移动通信领域相关概念,如CS.PS.VoIP.VoLTE.IMS.CSFB. ...
- Cesium简介及发展历史
目录 1.什么是Cesium 2.以下是Cesium的发展历史: 3.Cesium近年来一直在不断发展和更新,以下是Cesium目前的一些进展: 4.Cesium目前的功能 5.Cesium学习 1. ...
- Cesium基础使用介绍
既然给我发了参与方式,不参加似乎有点不给人面子,反正也没多少人看我的博客,那我就试试吧,也欢迎大家自己参与:2017年度全网原创IT博主评选活动投票:http://www.itbang.me/goVo ...
- Pytext简介:facebook的基于PyTorch的NLP框架
自然语言处理(NLP)在现代深度学习生态中越来越常见.从流行的深度学习框架到云端API的支持,例如Google云.Azure.AWS或Bluemix,NLP是深度学习平台不可或缺的部分.尽管已经取得了 ...
- Cesium学习笔记
Cesium简介 Cesium是一个基于JavaScript的开源框架,可用于在浏览器中绘制3D的地球,并在其上绘制地图(支持多种格式的瓦片服务),该框架不需要任何插件支持,但是浏览器必须支持WebG ...
- 计算机编写代码简介,Vcomputer简介
1.Vcompter存储程序式计算机虚拟机软件简介 Vcompter存储程序式计算机虚拟机软件的文件名为comp_alpha(一般要先安装java运行环境,然后双击该软件即可运行),该软件是桂林电子科 ...
- 让GIS三维可视化变得简单-初识Cesium
前言 从去年开始无脑接触 Cesium 三维 GIS 可视化,入坑之后一直到到现在,其实已经写了多个项目了,中间也遇到了很多坑点,很早就想分享其中所获了,只是觉得不太专业而且没有太多时间,拖到现在,从 ...
最新文章
- 综述:激光雷达全景分割的传统点云聚类方法的技术总结
- Android优化之内存优化倒计时篇
- 程序员应知——团队精神(转)
- DataGrid/DataList在ASP.NET中应用
- 什么时候使用mysql触发器_MySQL触发器的使用
- 重学前端学习笔记(八)--JavaScript中的原型和类
- 安卓USB开发教程 五 安卓 AOA 1.0
- hdu 4828 Grids(拓展欧几里得+卡特兰数)
- 网易考拉向欧洲市场投入220亿,能掀起多大波澜?
- 如何让WebStorm正常显示出中文提示,使得中文能够正常输入,请看这里
- 2020经济学人电子版杂志分享资源
- 计算机考研四门专业课是什么,2019计算机考研专业课复习问题答疑
- 快速排序的两种写法:左右填坑法与前后交换法
- 拍拍抢拍精灵v2.1秒杀器所有源代码【开源】
- ReadyState的五种状态详解
- 抖音如何快速涨粉?李佳琦涨粉技巧揭秘
- mysql---创建学生表
- 初级网络工程师这30道面试题一定得会,建议小白收藏!
- jquery对文本赋值和取值_jQuery常用的取值或赋值的方法
- JavaScript代码到底是怎么执行的?