Cesium 应用程序另一个关键元素是 Imagery(图层)。瓦片图集合根据不同的投影方式映射到虚拟的三维数字地球表面。依赖于相机指向地表的方向和距离,Cesium 会去请求和渲染不同层级的图层详细信息。
多种图层能够被添加、移除、排序和适应到 Cesium 中。
Cesium 提供了一系列方法用于处理图层,比如颜色自适应,图层叠加融合。一些样例代码如下:
- Adding basic imagery 添加基本图层
- Adjusting imagery colors 自适应图层颜色
- Manipulating and ordering imagery layers 控制调整图层顺序
- Splitting imagery layers 切割图层
Cesium 提供了各种 接口 支持各样的图层数据源。
支持的图层格式
- wms
- TMS
- WMTS (with time dynamic imagery)
- ArcGIS
- Bing Maps
- Google Earth
- Mapbox
- OpenStreetMap
注意:不同的数据源需要不同的认证 – 需要确保自己能够有权限访问到这些数据源,自然地需要注册特定的认证才可以
默认地,Cesium 使用 Bing Maps 作为默认的图层。这个图层被打包进 Viewer 中用于演示。Cesium 需要您自己创建 ion account 然后生成一个 access key 用于访问图层数据。
在接下来的例子中,将使用 Cesium ion 中的 Sentinel- 2 图层。
- 去 Cesium ion 页面,将 Sentinel- 2 图层加入到自己的 assets 中。点击在导航栏中点击“Asset Depot”
- 点击“Add to my assets”。Sentinel- 2 将在你个人用户中的 asset 列表(My Assets)中出现,此时将在个人的 app 中图层数据源变得可用。
- 代码级别:我们创建一个 IonImageryProvider,将assetId 传给对应的 Sentinel- 2 图层。然后我们将 ImageryProvider 添加到viewer.imageryLayers。
// Remove default base layer
viewer.imageryLayers.remove(viewer.imageryLayers.get(0));
// Add Sentinel-2 imagery
viewer.imageryLayers.addImageryProvider(new Cesium.IonImageryProvider({ assetId : 3954}));
基于上述的代码,我们的 Cesium 应用程序在缩进 zoom in 的时候会看到如下图层:
关于图层的更多信息:请访问 Imagery Layers Tutorial
Cesium 中文网交流 QQ 群:807482793
本文由 admin 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。