QuantizedMeshTerrainData

new Cesium.QuantizedMeshTerrainData(options)

单个瓦片的地形数据,其中地形数据表示为量化网格。量化 网格由三个顶点属性组成:经度、纬度和高度。所有属性以 16 位值表示,范围为 0 到 32767。经度和纬度在瓦片的西南角为零, 在东北角为 32767。高度在瓦片的最小高度处为零,在瓦片的最大高度处为 32767。
Name Type Description
options object 包含以下属性的对象:
Name Type Default Description
quantizedVertices Uint16Array 包含量化网格的缓冲区。
indices Uint16Array | Uint32Array 指定量化顶点如何连接 成三角形的索引。每三个索引指定一个三角形。
minimumHeight number 瓦片内的最小地形高度,单位:米(相对于椭球体)。
maximumHeight number 瓦片内的最大地形高度,单位:米(相对于椭球体)。
boundingSphere BoundingSphere 包含网格中所有顶点的包围球。
orientedBoundingBox OrientedBoundingBox optional 包含网格中所有顶点的有向包围盒。
horizonOcclusionPoint Cartesian3 网格的地平线遮挡点。如果该点 在地平线以下,则整个瓦片也被认为在地平线以下。 此点以椭球体缩放坐标表示。
westIndices Array.<number> 瓦片西边缘顶点的索引。
southIndices Array.<number> 瓦片南边缘顶点的索引。
eastIndices Array.<number> 瓦片东边缘顶点的索引。
northIndices Array.<number> 瓦片北边缘顶点的索引。
westSkirtHeight number 瓦片西边缘附加的裙边高度。
southSkirtHeight number 瓦片南边缘附加的裙边高度。
eastSkirtHeight number 瓦片东边缘附加的裙边高度。
northSkirtHeight number 瓦片北边缘附加的裙边高度。
childTileMask number 15 optional 一个位掩码,指示该瓦片的四个子瓦片是否存在。 如果子瓦片的位被设置,则当需要时也会请求该瓦片的几何。 如果该位被清除,则不请求子瓦片,而是从父级进行上采样。 位值如下:
位位置位值子瓦片
01西南
12东南
24西北
38东北
createdByUpsampling boolean false optional 如果此实例是通过对另一个实例进行上采样创建的,则为 true; 否则为 false。
encodedNormals Uint8Array optional 包含每个顶点法线的缓冲区,使用“oct”编码。
waterMask Uint8Array optional 包含水面遮罩的缓冲区。
credits Array.<Credit> optional 此瓦片的信用数组。
Example:
const data = new Cesium.QuantizedMeshTerrainData({
    minimumHeight : -100,
    maximumHeight : 2101,
    quantizedVertices : new Uint16Array([// order is SW NW SE NE
                                         // longitude
                                         0, 0, 32767, 32767,
                                         // latitude
                                         0, 32767, 0, 32767,
                                         // heights
                                         16384, 0, 32767, 16384]),
    indices : new Uint16Array([0, 3, 1,
                               0, 2, 3]),
    boundingSphere : new Cesium.BoundingSphere(new Cesium.Cartesian3(1.0, 2.0, 3.0), 10000),
    orientedBoundingBox : new Cesium.OrientedBoundingBox(new Cesium.Cartesian3(1.0, 2.0, 3.0), Cesium.Matrix3.fromRotationX(Cesium.Math.PI, new Cesium.Matrix3())),
    horizonOcclusionPoint : new Cesium.Cartesian3(3.0, 2.0, 1.0),
    westIndices : [0, 1],
    southIndices : [0, 1],
    eastIndices : [2, 3],
    northIndices : [1, 3],
    westSkirtHeight : 1.0,
    southSkirtHeight : 1.0,
    eastSkirtHeight : 1.0,
    northSkirtHeight : 1.0
});
See:

Members

此瓦片的信用数组。

waterMask : Uint8Array|HTMLImageElement|HTMLCanvasElement

包含在此地形数据中的水面遮罩(如果有)。水面遮罩是一个矩形 Uint8Array 或图像,其中值为 255 表示水,值为 0 表示陆地。 允许 0 到 255 之间的值,以平滑地在陆地和水之间过渡。

Methods

interpolateHeight(rectangle, longitude, latitude)number

计算指定经度和纬度的地形高度。
Name Type Description
rectangle Rectangle 此地形数据覆盖的矩形。
longitude number 经度(以弧度为单位)。
latitude number 纬度(以弧度为单位)。
Returns:
在指定位置的地形高度。位置被限制在矩形内, 因此对于远离矩形的位置信息,请预期不正确的结果。

isChildAvailable(thisX, thisY, childX, childY)boolean

确定给定的子瓦片是否可用,基于 HeightmapTerrainData.childTileMask。假定给定的子瓦片坐标 是此瓦片的四个子瓦片之一。如果给定非子瓦片的坐标,则返回东南子瓦片的可用性。
Name Type Description
thisX number 此(父)瓦片的 X 坐标。
thisY number 此(父)瓦片的 Y 坐标。
childX number 要检查可用性的子瓦片的 X 坐标。
childY number 要检查可用性的子瓦片的 Y 坐标。
Returns:
如果子瓦片可用则返回 true;否则返回 false。

upsample(tilingScheme, thisX, thisY, thisLevel, descendantX, descendantY, descendantLevel)Promise.<QuantizedMeshTerrainData>|undefined

对该地形数据进行上采样,以供子瓦片使用。结果实例将包含此实例中的部分 顶点,并在必要时进行插值。
Name Type Description
tilingScheme TilingScheme 此地形数据的切片方案。
thisX number 此瓦片在切片方案中的 X 坐标。
thisY number 此瓦片在切片方案中的 Y 坐标。
thisLevel number 此瓦片在切片方案中的级别。
descendantX number 要进行上采样的子瓦片在切片方案中的 X 坐标。
descendantY number 要进行上采样的子瓦片在切片方案中的 Y 坐标。
descendantLevel number 要进行上采样的子瓦片在切片方案中的级别。
Returns:
针对子瓦片的上采样高度图地形数据的承诺, 或者如果正在进行太多异步上采样操作,则返回 undefined, 表示请求已被推迟。

wasCreatedByUpsampling()boolean

获取一个值,指示此地形数据是否是通过上采样低分辨率 地形数据创建的。如果此值为 false,则数据是从其他来源获取的, 例如从远程服务器下载的。这种方法对从 HeightmapTerrainData#upsample 调用返回的实例应返回 true。
Returns:
如果此实例是通过上采样创建的,则返回 true;否则返回 false。
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.