在基础篇中,我们主要介绍了 Cesium 是如何加载各种数据的,从基础的影像数据、地形图数据,到矢量数据、空间可视化实体数据,以及三维方面的模型数据和瓦片数据,并简单介绍了各种类型数据的基本概念和特点。可以说,到目前为止,一个三维系统所需要展示的各种数据基本上已经完成了,剩下的就是如何对数据进行操作了,比如符号渲染、单击获取属性、控制显隐以及其他与实际业务的结合等功能。
通过入门篇、基础篇的讲解和实践,利用Cesium开发一个基础的三维系统(这里不包括页面)是完全没问题的了,但如果再按照后面工具篇、高级篇中的教程(这两个大篇幅还在更新,大家别着急)去练习的话,相信你一定会更得心应手。俗话说,工欲善其事必先利其器,在利用Cesium做三维系统开发时,Cesium 这个3D GIS 引擎就是其中“器”的一部分,当然还包括其他的前端开发库和框架,这里就不多说了,大家深入去体会。另外一句,君子性非异也,善假于物也,也是同样的道理。
在最近的基础篇里,我们主要分了六讲去讲解相关的知识。
第一讲: 我们讲解了三维系统里,最最最基础的数据影像数据,当然这里的影像不是单独的航拍卫星影像数据,还包括一些互联网地图、TMS、WMS、WMTS、单个图片等,在 Cesium 里面,它们都属于ImageryLayer,都可以通过对应的ImageryProvider去实现。详情可戳Cesium开发基础篇 | 01加载影像数据
第二讲: 在三维系统里面,地形数据是必不可少的,一个缺少地形数据的三维系统,感觉总是那么的不真实。所以这一讲,我们讲到了 Cesium 是如何通过不同的TerrainProvider加载地形数据的。详情可戳Cesium开发基础篇 | 02加载地形数据
第三讲: 当然在三维系统里面也缺不了一些矢量数据,Cesium虽然不能直接加载shp文件,但是却能通过不同的 DataSource 加载geoJSON、topoJSON、kml以及具有时间特性的czml数据,同时并对各种格式的矢量数据进行了简单的介绍以及推荐了相关的转换工具。详情可戳Cesium开发基础篇 | 03加载矢量数据
第四讲: 主要介绍了空间数据可视化 API 之一的 Entity API,关于 Cesium 是如何对实体 Entity 进行管理、拾取以及支持的17种图形的显示进行了详细的讲解,最后教给了大家如何画贴地、贴建筑物的图形。详情可戳Cesium开发基础篇 | 04空间数据可视化之Entity
第五讲: 主要介绍了三维模型glTF文件的概念、数据结构以及相关的在线浏览和转换工具,并讲解了通过Ceisum加载glTF模型的两种方式和模型矩阵修改。详情可戳Cesium开发基础篇 | 05glTF介绍及加载
第六讲: 基础篇的最后一讲,介绍了专为流式传输和渲染海量 3D 地理空间数据而设计的3D Tiles,着重讲解了瓦片集(Tileset)、瓦片(Tile)的相关概念和属性,对整个3D Tiles的数据结构和组织有了一个大概的认识。认识完3D Tiles数据之后,我们借用 Cesium 中有关3dtile的类,实现了3D Tiles数据的加载、样式的设置、位置的调整以及要素的拾取。详情可戳Cesium开发基础篇 | 063D Tiles介绍及加载