单个瓦片的地形数据,采用量化网格形式表示。
量化网格包含三个顶点属性:经度、纬度和高度,所有属性均以 16 位整数值表示,取值范围为 0 至 32767。
经度和纬度在瓦片的西南角为 0,东北角为 32767;高度在瓦片内最低处为 0,最高处为 32767。
Name | Type | Default | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options.quantizedVertices |
Uint16Array | 包含量化网格的buffer。 | ||||||||||||||||
options.indices |
Uint16Array | Uint32Array | 指定量化顶点如何链接到三角形的索引。每三个索引指定一个三角形。 | ||||||||||||||||
options.minimumHeight |
Number | 瓦片内的最小地形高度,以米为单位在椭圆体上方。 | ||||||||||||||||
options.maximumHeight |
Number | 瓦片内的最大地形高度,以米为单位在椭圆体上方。 | ||||||||||||||||
options.boundingSphere |
BoundingSphere | 包围网格中所有顶点的球体。 | ||||||||||||||||
options.orientedBoundingBox |
OrientedBoundingBox | optional 一个 OrientedBoundingBox 包围网格中的所有顶点。 | ||||||||||||||||
options.horizonOcclusionPoint |
Cartesian3 | 网格的水平遮挡点。如果该点位于地平线以下,则假定整个瓦片也位于地平线以下。该点以椭球坐标表示。 | ||||||||||||||||
options.westIndices |
Array.<Number> | 瓦片西侧边缘顶点的索引。 | ||||||||||||||||
options.southIndices |
Array.<Number> | 瓦片南侧边缘顶点的索引。 | ||||||||||||||||
options.eastIndices |
Array.<Number> | 瓦片东侧边缘顶点的索引。 | ||||||||||||||||
options.northIndices |
Array.<Number> | 瓦片北侧边缘顶点的索引。 | ||||||||||||||||
options.westSkirtHeight |
Number | 添加到瓦片西侧的裙边高度。 | ||||||||||||||||
options.southSkirtHeight |
Number | 添加到瓦片南侧的裙边高度。 | ||||||||||||||||
options.eastSkirtHeight |
Number | 添加到瓦片东侧的裙边高度。 | ||||||||||||||||
options.northSkirtHeight |
Number | 添加到瓦片北侧的裙边高度。 | ||||||||||||||||
options.childTileMask |
Number |
15
|
optional
一个位掩码,指示此 tile 的四个子项中的哪一个存在。如果设置了子级,则在需要时也会为该图块请求几何图形。如果清除该位,则不请求子级瓦片,而是从父级瓦片上采样几何图形。位值如下:
|
|||||||||||||||
options.createdByUpsampling |
Boolean |
false
|
optional 如果此实例是通过对另一个实例进行上采样创建的,则为true;否则为false。 otherwise, false. | |||||||||||||||
options.encodedNormals |
Uint8Array | optional 包含每个顶点法线的buffer,使用'oct'编码进行编码。 | ||||||||||||||||
options.waterMask |
Uint8Array | optional 包含水掩膜的缓冲区。 | ||||||||||||||||
options.credits |
Array.<Credit> | optional 此瓦片的版权声明。 |
Example:
var data = new SuperMap3D.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 SuperMap3D.BoundingSphere(new SuperMap3D.Cartesian3(1.0, 2.0, 3.0), 10000),
orientedBoundingBox : new SuperMap3D.OrientedBoundingBox(new SuperMap3D.Cartesian3(1.0, 2.0, 3.0), SuperMap3D.Matrix3.fromRotationX(SuperMap3D.Math.PI, new SuperMap3D.Matrix3())),
horizonOcclusionPoint : new SuperMap3D.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
-
credits : Array.<Credit>
-
该瓦片的版权声明。
-
此地形数据中包含的水面掩膜数据。 水面掩膜数据是一个矩形 Uint8Array 或影像,其中 255 表示水,0 表示陆地。 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.<QuantizedMeshTerrainData>|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。