请选择 进入手机版 | 继续访问电脑版
查看: 5064|回复: 0

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

[复制链接]

该用户从未签到

9

主题

9

帖子

129

积分

超级版主

Rank: 8Rank: 8

积分
129
发表于 2019-9-26 11:40:16 | 显示全部楼层 |阅读模式
本帖最后由 论坛超级版主 于 2019-9-26 14:07 编辑

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

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

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


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图层。

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

    5b72806f29a29.png

  2. 点击“Add to my assets”。Sentinel-2将在你个人用户中的asset列表(My Assets)中出现,此时将在个人的app中图层数据源变得可用。

  3. 代码级别:我们创建一个IonImageryProvider,将assetId传给对应的Sentinel-2图层。然后我们将ImageryProvider添加到viewer.imageryLayers
  1. // Remove default base layer
  2. viewer.imageryLayers.remove(viewer.imageryLayers.get(0));
复制代码

  1. // Add Sentinel-2 imagery
  2. viewer.imageryLayers.addImageryProvider(new Cesium.IonImageryProvider({ assetId : 3954 }));
复制代码

基于上述的代码,我们的Cesium应用程序在缩进zoom in的时候会看到如下图层:

5b728084c2e52.jpg


关于图层的更多信息:请访问Imagery Layers Tutorial



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

cesium中国官方网站

网站简介:cesiumChina是国内cesium相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的图形工作从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00 - 18:00
  • 反馈邮箱:1315785073@qq.com

QQ|Archiver|手机版|小黑屋|cesiumchina ( 陕ICP备14000835号-5 )

快速回复 返回顶部 返回列表