Cesium手册中文译者:Peter Lu(陆国伟)
本文出处:https://github.com/pasu/ExamplesforCesium/wiki
本文遵循CC创作共用版权协议,要求署名+非商业+相同方式共享(即BY+NC+SA)。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。
Cesium学习路线
API学习路线图,按下图顺序学习相关类。
学习方法:从官方教程、官方示例开始学习,带着需求去学,学会查询API文档,学会Github去看源码。善用百度、谷歌、QQ群。
Cesium进阶之路 (3大方向)
• Web前端方向:Cesium与webpack (裁剪以及压缩),Cesium 与vue (框架设计, 嵌入复杂业务系统), Cesium的UI (UI 设计,定制可复用的Cesium交互界面)
• 图形学方向:WebGL深入,基于Cesium 的可视化定制(视阈、水淹、水面、热力图,流场图、飞线图、扫描图)
• 数据预处理方向:投影变换, 空间索引, LOD , 3dtile 生成,数据存储, 数据分发服务,解决超大空间数据如何在 Cesium上流畅可视化的问题。
Cesium周边
当然,Virtual Earth可以是一个很大的领域,既可以涉及到卫星航空领域等专业领域,也能够关联气象,导航等大众应用,可以说是包罗万象。Cesium不仅专注于产品本身,也致力于打造一个开放的,共赢的生态平台,为具体的行业应用提供成熟可靠的解决方案。
下面,我们了解一些和Cesium关联比较密切的公司和组织。
Cesium每个月月初更新一次版本,会在官网提供下载链接。最近官网进行了一次比较大的改版,域名从org升级到com,种种迹象表明,Cesium后续会通过Composer和3D Tiles标准,提供数据托管和发布能力,值得期待。
AGI公司
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公司网站 Cesium.com
Cesium每个月月初更新一次版本,会在官网提供下载链接。最近官网进行了一次比较大的改版,域名从org升级到com,种种迹象表明,Cesium后续会通过Composer和3D Tiles标准,提供数据托管和发布能力,值得期待。
另外,对于Cesium开发者,建议把Cesium官网的博客都读一遍,博客大概分为三类,主要是技术类,比如性能优化,调度算法等,一类是定期的新版本特性,能够了解Cesium新功能和新特性,还有一类是大事记,比较轻松,不妨感受一下Cesium的团队文化。下图是部分成员的照片,,而Patrick Cozzi(下图红框)俨然已经是心中的精神导师,原始资料来自Cesium-Carto-BOF。
图片地址: https://github.com/pasu/ExamplesforCesium/raw/master/wiki/1/1.1/1.1.2/3team.jpg
其次是论坛,如果有什么疑问,都可以在这里提问。个人而言,如果有一些复杂的,个人不太确定的问题,我会在里面和相关人讨论,比如glTF在RTC扩展属性下不支持NEU坐标系的转换,3D Tiles中batch id的设计等,都比较适合在此交流。
Cesium在Github的社区
当然,最后要推荐的就是Cesium在Github的社区。Cesium遵循Apache License 2.0,无论是个人还是商业用途,可以任意修改源码不用开源,需要声明该产品使用了Cesium,比如Cesium.js,LICENSE.md和MODIFICATIONS.md声明你的修改清单。 因为我(本文作者陆国伟)所在的公司(北京超图)是基于Cesium构建的WebGL产品,毕竟涉及到知识产权和法律风险还有人品,因此和Cesium的人简单交流过,总体上他们是很宽松的,当然也希望你能做出更多的贡献。
作为一项非主流的JS开源库,相比Three.js这种大众类应用,Cesium的关注数并不算太多(2.4k),所以,如果喜欢,大家不要吝惜自己的神之一击哦~。个人推荐wiki的内容,虽然内容很少,毕竟是官方写的,质量有保证。
其次就是提交缺陷和代码了,如果你是个人用户,想要提交代码,需要签署cla,通过email发送,只有通过后才能提交到主版本。个人觉得Cesium在代码控制上还是比较严格的,单元测试覆盖率达到了93%,CI持续集成,任何人提交的代码都需要确保单元测试没有出错,但有时候会出现很多莫名其妙的问题。
另外,在提交代码前,建议阅读一下Cesium的编码规范。自己在提交代码上深深体会到Cesium对Review,Test Unit以及CI的要求,只有每个人都严格执行,这些无形的价值也能潜移默化的影响团队的每一个成员,同时也会产生一种责任感和成就感主动维护。
本文出处:
https://github.com/pasu/ExamplesforCesium/wiki
本文遵循CC创作共用版权协议,要求署名+非商业+相同方式共享(如下图中的BY-NC-SA)。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。
网友评论