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

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

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

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

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

支持的地形数据格式

  • 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 effects
    requestVertexNormals : 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 Terrain Builder 使用指南及相关资源 Cesium 是一款用于地球和空间可视化的开源 JavaScript 库,而 Cesium Terrain Builder 则是一个专门用来创建地形数据的工具。以下是关于 Cesium Terrain Builder 的使用指南、相关工具以及示例代码的信息。 #### 工具概述 Cesium Terrain Builder 提供了一种方法来处理自定义地形数据并将其转换为适合 Cesium 使用的格式。它支持多种输入源,包括 GeoTIFF 和其他栅格文件格式[^1]。通过该工具,开发者可以轻松生成优化后的地形瓦片集,从而提升渲染性能。 #### 安装与配置 为了使用 Cesium Terrain Builder,首先需要安装 Node.js 环境,因为此工具基于 npm 构建。可以通过以下命令全局安装 Cesium CLI: ```bash npm install cesium-cli -g ``` 接着运行 `cesium terrain` 命令即可访问其功能选项[^2]。 #### 示例代码 下面展示了一个简单的例子,说明如何利用 Cesium Terrain Builder 将本地 GeoTIFF 文件转化为可加载到 Cesium 中的地形模型: ```javascript const { convertTerrain } = require('cesium-terrain-builder'); // 输入参数设置 convertTerrain({ source: './path/to/input.tif', // 地形数据源路径 destination: './output/terrain/', // 输出目录位置 levels: 15, // 设置最大细节层次数 }).then(() => { console.log('Conversion completed successfully.'); }); ``` 以上脚本会读取指定的 TIFF 图像,并按照设定好的等级数目生产相应的地形结构存储于目标文件夹下[^3]。 #### 高级特性 除了基本的功能外,Cesium Terrain Builder 还提供了更多高级定制能力,比如调整压缩算法以减少磁盘占用量或者提高传输效率;另外也可以针对特定区域单独构建高精度版本的地图块等等[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值