GoogleEarthEnterpriseTerrainData
是一个 CesiumJS 类型,它代表了使用 Google Earth Enterprise 数据源创建的地形数据。本文档将介绍这个类型及其常见用法。
new Cesium.GoogleEarthEnterpriseTerrainData({
url: '', // 地形数据服务的 URL
metadata: {
availability: '', // 地形数据的可用性
isAvailable: '', // 地形数据是否可用
credits: '', // 地形数据来源
responseHeaders: {}, // 地形数据响应头
}
})
url:表示地形数据服务的 URL。如果有多个 URL,则表示数据访问可以进行负载平衡。
metadata:一个对象,包含了有关当前地形数据源的元数据。该对象包含以下属性:
availability:描述地形数据的可用性和质量。
isAvailable:一个布尔值,指示地形数据是否可用。
credits:描述当前地形数据源的来源。
responseHeaders:一个键值对,包含了地形数据请求的响应头。
interpolateHeight(position) -> Promise<Number>:基于地形数据源计算给定位置的高度。
isChildAvailable(level, x, y) -> Boolean:判断是否存在下一级的数据,用于细分地形数据并提高渲染性能。
getLevelMaximumGeometricError(level) -> Number:获取指定数据级别的最大几何误差。
upsample(tilingScheme, thisX, thisY, thisLevel, descendantX, descendantY, descendantLevel) -> Promise<GoogleEarthEnterpriseTerrainData>:细分当前数据,并返回一个新的 GoogleEarthEnterpriseTerrainData
对象。
getVertices(tilingScheme, x, y, level, throttleRequests) -> Promise<Float32Array>:获取指定瓦片位置的顶点数据。
initPromise -> Promise<Void>:初始化当前实例的异步操作。
const terrainProvider = new Cesium.GoogleEarthEnterpriseTerrainProvider({
url: 'http://earth.local:8000',
metadata: {
availability: 'beta',
isAvailable: true,
credits: '© 2021 Google Inc.',
responseHeaders: {
'Content-Type': 'application/octet-stream',
'X-Earth-ResourceProvider': 'Enterprise',
'X-Earth-RequestUri': '/terrain?x={x}&y={y}&z={z}'
}
}
});
const tile = Cesium.TerrainProvider.getLevelMaximumGeometricError(0);
以上代码示例中,我们创建了一个 GoogleEarthEnterpriseTerrainProvider
地形提供者实例,并将其赋值给 terrainProvider
变量。然后通过 getLevelMaximumGeometricError
方法获取了第 0 级的最大几何误差值,并将其赋值给 tile
变量。