Cesium入门6-Adding-Imagery-添加图层

47次阅读

共计 1173 个字符,预计需要花费 3 分钟才能阅读完成。

Cesium 应用程序另一个关键元素是 Imagery(图层)。瓦片图集合根据不同的投影方式映射到虚拟的三维数字地球表面。依赖于相机指向地表的方向和距离,Cesium 会去请求和渲染不同层级的图层详细信息。

多种图层能够被添加、移除、排序和适应到 Cesium 中。

Cesium 提供了一系列方法用于处理图层,比如颜色自适应,图层叠加融合。一些样例代码如下:

  • Adding basic imagery 添加基本图层
  • Adjusting imagery colors 自适应图层颜色
  • Manipulating and ordering imagery layers 控制调整图层顺序
  • Splitting imagery layers 切割图层

Cesium 提供了各种 接口 支持各样的图层数据源。

支持的图层格式

  1. wms
  2. TMS
  3. WMTS (with time dynamic imagery)
  4. ArcGIS
  5. Bing Maps
  6. Google Earth
  7. Mapbox
  8. OpenStreetMap

注意:不同的数据源需要不同的认证 – 需要确保自己能够有权限访问到这些数据源,自然地需要注册特定的认证才可以

默认地,Cesium 使用 Bing Maps 作为默认的图层。这个图层被打包进 Viewer 中用于演示。Cesium 需要您自己创建 ion account 然后生成一个 access key 用于访问图层数据。

在接下来的例子中,将使用 Cesium ion 中的 Sentinel- 2 图层。

  1. 去 Cesium ion 页面,将 Sentinel- 2 图层加入到自己的 assets 中。点击在导航栏中点击“Asset Depot”

  1. 点击“Add to my assets”。Sentinel- 2 将在你个人用户中的 asset 列表(My Assets)中出现,此时将在个人的 app 中图层数据源变得可用。
  2. 代码级别:我们创建一个 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 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。

正文完
 0