2019独角兽企业重金招聘Python工程师标准>>>

Cesium入门7 - Adding Terrain - 添加地形

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

Cesium支持流式的、可视化的全球高程投影地形地势、水形数据,包括海洋、湖泊、河流、山峰、峡谷和其他能够被三维展示出来的且效果比二维好的地形数据。像图层数据一样,Cesium引擎会从一个服务器上请求流式地形数据,仅请求那些基于当前相机能看到的需要绘制的图层上的数据。

Cesium官方提供了一些地形数据集的例子,以及如何配置这些参数。

  • ArcticDEM : 高投影的arctic terrain
  • PAMAP Terrain : 高投影的Pennsylvania terrain
  • Terrain display options : 一些地形数据配置和格式
  • Terrain exaggeration : 是地形间的高度差异更加的优雅艺术

支持的地形数据格式

  • Quantized-mesh, Cesium团队自己开源的一种格式
  • Heightmap
  • Google Earth Enterprise

为了添加地形数据,我们需要创建一个CesiumTerrainProvider,提供一个url和一些配置想,然后将这个provider赋值给viewer.terrainProvider

此处,我们使用Cesium WorldTerrian图层,该图层由Cesium ion提供,在“My Assets”中是默认提供的。我们可以用createWorldTerrainhelper函数创建一个由Cesium ion提供服务的Cesium WorldTerrian。

// Load Cesium World Terrain
viewer.terrainProvider = Cesium.createWorldTerrain({requestWaterMask : true, // required for water effectsrequestVertexNormals : true // required for terrain lighting
});

***requestWaterMask***和***requestVertexNormals***是可选的配置项,告诉Cesium是否需要请求额外的水、光数据。这两个选项默认是设为false的。

最终,既然我们有了地形数据,我们需要更多的线条来使得地形数据背后的objects能够正确地显示,只有最前面、最上面的objects才能是可见的。

// Enable depth testing so things behind the terrain disappear.
viewer.scene.globe.depthTestAgainstTerrain = true;

我们现在有地形数据和运动的水。纽约非常平坦,所以可以在上面的地形数据上自由的探索。举一个显而易见的例子,你可以跳转到更加崎岖的区域比如 Grand Canyon 或者 San Francisco。

关于地形数据的更多信息,请访问Terrain Tutorial

Cesium中文网交流QQ群:807482793

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

转载于:https://my.oschina.net/u/1470240/blog/1932103

Cesium入门7 - Adding Terrain - 添加地形相关推荐

  1. cesium入门(三)添加3D Tiles,并调整位置,贴地

    一.3D Tiles是什么 3D Tiles数据集以分块.分级渲染,将大数据量三维数据以分块.分层形式组织起来,可以大量减轻浏览器和GPU的负担,3D Tiles包括建筑物.树木.点云和矢量数据. 二 ...

  2. Cesium入门11 - Interactivity - 交互性

    Cesium入门11 - Interactivity - 交互性 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ ...

  3. cesium中级(二)获取地形高度

    cesium获取地形高度实现地形贴地有多种方法: sampleTerrain:获取不是很精确的地形高度 sampleTerrainMostDetailed:获取非常精确的地形高度 这两种方法使用的高度 ...

  4. cesium入门示例-测量工具

    作为cesium入门示例级别的最后一篇,参考cesium-长度测量和面积测量实现测量工具封装,修改了其中的距离测量函数,计算贴地距离,并对事件内部处理做了调整.包括贴地距离测量.面积测量.结果清除. ...

  5. Cesium for UE4 加载离线地形和影像

    Cesium for UE4 加载离线地形和影像 CTB 切片地形 编译cesium-terrain-builder {"tilejson": "2.1.0", ...

  6. vue集成cesium入门教程(1)环境搭建、初始化三维地球

    1.概述   这篇内容是<vue集成cesium入门教程>的第一篇,我将记录在vue中集成cesium并实现页面的初始化(显示三维地图页面)等学习内容.效果如下: 2.实现步骤   首先是 ...

  7. ios view 切上部分圆角_IOS开发入门之给view添加圆角并指定位置

    本文将带你了解IOS开发入门之给view添加圆角并指定位置,希望本文对大家学IOS有所帮助. ios中给view添加圆角并指定位置 在ios开发中,为了有个不错的UI交互效果,我们经常会用到为视图添加 ...

  8. cesium 使用entities、primitives添加的模型并且改变模型颜色

    entities方式绘制模型:[线条] var gltf = viewer.entities.add({guid: crossguid,name: 'gltf',polyline: {width: 1 ...

  9. 快速入门mybatis(查询、添加日志、插入)

    快速入门mybatis(查询.添加日志.插入) 参考学习视频网址:https://www.bilibili.com/video/BV185411s7Ry?p=9&spm_id_from=pag ...

最新文章

  1. 【图像超分辨率论文】BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond
  2. Oracle 分页与排序功能的4个查询语句
  3. springboot启动的时候运行一些代码
  4. libvlc获取一帧_用VLC 实现获取播放每帧视频的时间(UTC)
  5. ssm校园在线点餐系统源码(含数据库)
  6. 详解:淘宝大秒杀系统是如何设计的?
  7. 关于iCloud的注册,到代码的实现
  8. PHP京东商城爬取网页乱码问题解决
  9. mybatis@Param的作用
  10. 习题11-8 单链表结点删除
  11. E450连接蓝牙耳机
  12. python excel模板_如何利用Excel与Python制作PPT
  13. php 微信开发实战pdf,微信开发实战之模块化的实例详解
  14. 去美元化:曾经被称为加密的地缘政治问题
  15. 计算机控制面板的字体在哪里,电脑的字体怎么设置
  16. 5-1 N个数求和 (20分)
  17. 配置流复制应用(10g+from linux to aix)
  18. Unity WebGL(一)Unity和JS交互
  19. Microsoft Office InfoPath 2003 简介
  20. bash 将二进制转换为十进制_shell中二进制、十进制、十六进制等进制转换

热门文章

  1. 华三交换机irf 堆叠配置_H3C交换机堆叠的基本配置
  2. android 声卡 音量控制,android audio 音量调节
  3. VC++中的DDX和DDV
  4. 华硕ROG Strix G15 G513IH-GTX1650T 黑苹果efi引导文件
  5. openrov爱好者
  6. 等高布局、圣杯布局、双飞翼布局
  7. 作业1范文杰201421410010
  8. Eolink神技之五、API自动化——定时任务
  9. Redis集群只读问题
  10. 【STM32小项目】-- 基于STM32芯片车载货物搬运系统研究