QuantizedMeshTerrainData是CesiumJS中的一种地形瓦片格式,用于表示地表高程数据。它使用整数编码来减小数据量,并且支持LOD(Level of Detail,细节层次)技术,可以实现地形数据的动态加载和缩放。
new Cesium.QuantizedMeshTerrainData(options)
构造函数参数options包括:
header
: QuantizedMeshTerrainHeader 对象,表示瓦片头部信息。vertices
: Uint16Array 或 Float32Array 对象,表示地形高度信息。indices
: Uint16Array 或 Uint32Array 对象,表示地形三角形索引信息。// 从url加载QuantizedMeshTile并解析为QuantizedMeshTerrainData
Cesium.loadArrayBuffer('terrain.tile').then(function(buffer) {
var quantizedMesh = new Cesium.QuantizedMeshTerrainData({
buffer : buffer
});
terrainProvider = new Cesium.CesiumTerrainProvider({
url : 'https://assets.cesium.com/3dtiles/terrain/'
});
viewer.terrainProvider = terrainProvider;
});
// 创建一个简单的QuantizedMeshTerrainData
var quantizedMesh = new Cesium.QuantizedMeshTerrainData({
header : {
version : 1,
center : [0.0, 0.0, 0.0],
minimumHeight : -100.0,
maximumHeight : 100.0,
boundingSphere : [0.0, 0.0, 0.0, 6378137.0],
horizonOcclusion : true
},
vertices : new Uint16Array([
5000, 5000, 0,
5000, 0, 0,
0, 5000, 0,
0, 0, 0
]),
indices : new Uint16Array([
0, 1, 2,
1, 3, 2
])
});