单张地形瓦片数据(以高度图形式存储);
高度图是由高程值构成的矩形数组,按行主序排列(数据方向:北→南为行方向,西→东为列方向)
Name | Type | Default | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options.buffer |
TypedArray | 包含高度数据的缓冲区。 | |||||||||||||||||||||||||||||||||||||
options.width |
Number | 高度图的宽度(经度方向),以样本为单位。 | |||||||||||||||||||||||||||||||||||||
options.height |
Number | 高度图的高度(纬度方向),以样本为单位。 | |||||||||||||||||||||||||||||||||||||
options.childTileMask |
Number |
15
|
optional
一个位掩码,用于表示该瓦片的四个子瓦片是否存在。
若某个子瓦片的对应位被置为1,则在需要时会请求该子瓦片的几何数据;若该位为0,则不请求子瓦片,而是通过父瓦片数据进行上采样。
各子瓦片对应的位值如下:
|
||||||||||||||||||||||||||||||||||||
options.structure |
Object |
optional
描述高度数据结构的对象。
|
|||||||||||||||||||||||||||||||||||||
options.createdByUpsampling |
Boolean |
false
|
optional 如果此实例是通过对另一个实例进行上采样创建的,则为true;否则为false。 |
Example:
var buffer = ...
var heightBuffer = new Uint16Array(buffer, 0, that._heightmapWidth * that._heightmapWidth);
var childTileMask = new Uint8Array(buffer, heightBuffer.byteLength, 1)[0];
var waterMask = new Uint8Array(buffer, heightBuffer.byteLength + 1, buffer.byteLength - heightBuffer.byteLength - 1);
var terrainData = new SuperMap3D.HeightmapTerrainData({
buffer : heightBuffer,
width : 65,
height : 65,
childTileMask : childTileMask,
waterMask : waterMask
});
See:
Members
-
credits : Array.<Credit>
-
该瓦片的版权声明。
-
此地形数据中包含的文字水域掩码。水域掩码是一个方形 Uint8Array 或影像, 0 到 255 之间的值。
Methods
-
计算指定经纬度的地形高度。
Name Type Description rectangle
Rectangle 该地形数据覆盖的矩形区域。 longitude
Number 经度,单位为弧度。 latitude
Number 以弧度为单位的纬度。 Returns:
指定位置处的地形高度。如果位置不在矩形范围内,此方法将推算出高度,但对于远在矩形范围外的位置,推算出的高度很可能会大为 对于远在矩形外的位置,推算高度很可能会大相径庭。 -
根据
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.<HeightmapTerrainData>|undefined
-
对地形数据进行高采样,供后代瓦片使用。 生成的实例将包含本实例中高度样本的子集,必要时还会进行内插。
Name Type Description tilingScheme
TilingScheme 该地形数据的切图方案。 thisX
Number 该瓦片在切图方案中的 X 坐标。 thisY
Number 该瓦片在切图方案中的 Y 坐标。 thisLevel
Number 该瓦片在瓦片切图方案中的级别。 descendantX
Number 要进行高采样的子瓦片在切图方案中的 X 坐标。 descendantY
Number 要进行高采样的子瓦片在切图方案中的 Y 坐标。 descendantLevel
Number 该瓦片在瓦片切图方案中的级别。 Returns:
对子瓦片的高采样地形数据的Promise;如果正在进行的异步高采样操作过多,请求被推迟,则未定义。 -
获取一个值,表明该地形数据是否是通过上采样低分辨率地形数据创建的。 如果该值为 false,则表示数据是从其他来源获取的,例如从远程服务器下载。 对于调用
HeightmapTerrainData#upsample
所返回的实例,本方法应返回 true。Returns:
如果该实例是通过高采样创建的,则为 true;否则为 false。